emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/objed 7385765 1/3: Reinitialize automatically when comm


From: Clemens Radermacher
Subject: [elpa] externals/objed 7385765 1/3: Reinitialize automatically when commands switch buffer (fixes #26)
Date: Mon, 4 Mar 2019 08:28:15 -0500 (EST)

branch: externals/objed
commit 7385765ef95378d8fe984a8ff0eb54bd4cacfb4a
Author: Clemens Radermacher <address@hidden>
Commit: Clemens Radermacher <address@hidden>

    Reinitialize automatically when commands switch buffer (fixes #26)
---
 objed.el | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/objed.el b/objed.el
index 9156eee..671ac8d 100644
--- a/objed.el
+++ b/objed.el
@@ -1174,7 +1174,7 @@ or object position data."
 
   (setq objed--buffer (current-buffer))
   (add-hook 'pre-command-hook 'objed--push-state nil t)
-
+  (add-hook 'post-command-hook 'objed--check-buffer)
   (pcase-dolist
       (`(,var . ,val)
        `((hl-line-range-function . objed-hl-function)
@@ -3102,6 +3102,11 @@ on."
   (setq mark-active nil)
   (objed--exit-objed))
 
+(defun objed--check-buffer ()
+  (when (not (eq (current-buffer) objed--buffer))
+    (objed--reset--objed-buffer)
+    (objed--init (or objed--object 'char))))
+
 (defun objed--reset--objed-buffer ()
   ;; things that need to be reset in objed buffer
   (when (buffer-live-p objed--buffer)
@@ -3150,6 +3155,7 @@ on."
         (setq objed--last-states
               (cl-subseq objed--last-states 0 objed-states-max)))
       (objed--reset--objed-buffer)
+      (remove-hook 'post-command-hook 'objed--check-buffer)
       (setq objed--block-p nil)
       (setq objed--buffer nil))))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]