]> git.cworth.org Git - nogit/commitdiff
Fix emacs hook to not clobber match data master
authorCarl Worth <cworth@cworth.org>
Tue, 7 Jul 2020 18:16:14 +0000 (11:16 -0700)
committerCarl Worth <cworth@cworth.org>
Tue, 7 Jul 2020 18:16:14 +0000 (11:16 -0700)
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

README

diff --git a/README b/README
index 98aee151174ca7b0c125cfe0d8f69a8a7669b5ed..bae558f7e2e9283bf55694e1578fceadbf227c99 100644 (file)
--- a/README
+++ b/README
@@ -74,14 +74,16 @@ save it:
   ;       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)
+            )
         )
       )
     )