Without this, trying to do a search-and-replace operation with emacs
on a file withing a directory that had some nogit-managed files would
error out after the first replacement with an error:
Match data clobbered by buffer modification hook
; and recurse.
(defun nogit-sync-if-configured ()
(interactive)
- (if (and
- (buffer-file-name)
- (file-exists-p (format "%s/../.nogit" (buffer-file-name)))
- (not (boundp 'in-nogit-sync))
- )
- (let ((in-nogit-sync t))
- (message (substring (shell-command-to-string "nogit sync") 0 -1))
- (revert-buffer nil t)
+ (save-match-data
+ (if (and
+ (buffer-file-name)
+ (file-exists-p (format "%s/../.nogit" (buffer-file-name)))
+ (not (boundp 'in-nogit-sync))
+ )
+ (let ((in-nogit-sync t))
+ (message (substring (shell-command-to-string "nogit sync") 0 -1))
+ (revert-buffer nil t)
+ )
)
)
)