]> git.eshelyaron.com Git - emacs.git/commitdiff
Remove hook when disabling ibuffer-auto-mode
authorTino Calancha <tino.calancha@gmail.com>
Wed, 27 Jul 2016 10:44:06 +0000 (19:44 +0900)
committerTino Calancha <tino.calancha@gmail.com>
Wed, 27 Jul 2016 10:44:06 +0000 (19:44 +0900)
* lisp/ibuf-ext.el (ibuffer-auto-mode):
Remove 'ibuffer-auto-update-changed' from 'post-command-hook'.

lisp/ibuf-ext.el

index 96b42b99f5cae6de6a35a990a9955b8787211dc1..f93957ecb781d93c8dbb98805fc37059ee846021 100644 (file)
@@ -250,8 +250,11 @@ the mode if ARG is omitted or nil."
   nil nil nil
   (unless (derived-mode-p 'ibuffer-mode)
     (error "This buffer is not in Ibuffer mode"))
-  (frame-or-buffer-changed-p 'ibuffer-auto-buffers-changed) ; Initialize state vector
-  (add-hook 'post-command-hook 'ibuffer-auto-update-changed))
+  (cond (ibuffer-auto-mode
+         (frame-or-buffer-changed-p 'ibuffer-auto-buffers-changed) ; Initialize state vector
+         (add-hook 'post-command-hook 'ibuffer-auto-update-changed))
+        (t
+         (remove-hook 'post-command-hook 'ibuffer-auto-update-changed))))
 
 (defun ibuffer-auto-update-changed ()
   (when (frame-or-buffer-changed-p 'ibuffer-auto-buffers-changed)