branch: externals/objed commit 7385765ef95378d8fe984a8ff0eb54bd4cacfb4a Author: Clemens Radermacher <clem...@posteo.net> Commit: Clemens Radermacher <clem...@posteo.net>
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))))