Mercurial > emacs
comparison lisp/ibuf-ext.el @ 65180:6705c5e7dee2
(ibuffer-auto-update-changed): Use `frame-or-buffer-changed-p' to
check whether we need to update.
(ibuffer-auto-mode): Don't advise `get-buffer-create' and
`kill-buffer'. Initialise `ibuffer-auto-buffers-changed' as a
`frame-or-buffer-changed-p' state vector instead.
author | John Paul Wallington <jpw@pobox.com> |
---|---|
date | Sun, 28 Aug 2005 06:50:29 +0000 |
parents | 41bb365f41c4 |
children | 7cc413612d3d a3716f7538f2 |
comparison
equal
deleted
inserted
replaced
65179:a308f717214a | 65180:6705c5e7dee2 |
---|---|
220 (or | 220 (or |
221 (ibuffer-included-in-filters-p buf ibuffer-filtering-qualifiers) | 221 (ibuffer-included-in-filters-p buf ibuffer-filtering-qualifiers) |
222 (ibuffer-buf-matches-predicates buf ibuffer-always-show-predicates))))) | 222 (ibuffer-buf-matches-predicates buf ibuffer-always-show-predicates))))) |
223 | 223 |
224 (defun ibuffer-auto-update-changed () | 224 (defun ibuffer-auto-update-changed () |
225 (when ibuffer-auto-buffers-changed | 225 (when (frame-or-buffer-changed-p 'ibuffer-auto-buffers-changed) |
226 (setq ibuffer-auto-buffers-changed nil) | |
227 (mapcar #'(lambda (buf) | 226 (mapcar #'(lambda (buf) |
228 (ignore-errors | 227 (ignore-errors |
229 (with-current-buffer buf | 228 (with-current-buffer buf |
230 (when (and ibuffer-auto-mode | 229 (when (and ibuffer-auto-mode |
231 (eq major-mode 'ibuffer-mode)) | 230 (eq major-mode 'ibuffer-mode)) |
241 (error "This buffer is not in Ibuffer mode")) | 240 (error "This buffer is not in Ibuffer mode")) |
242 (set (make-local-variable 'ibuffer-auto-mode) | 241 (set (make-local-variable 'ibuffer-auto-mode) |
243 (if arg | 242 (if arg |
244 (plusp arg) | 243 (plusp arg) |
245 (not ibuffer-auto-mode))) | 244 (not ibuffer-auto-mode))) |
246 (defadvice get-buffer-create (after ibuffer-notify-create activate) | 245 (frame-or-buffer-changed-p 'ibuffer-auto-buffers-changed) |
247 (setq ibuffer-auto-buffers-changed t)) | |
248 (defadvice kill-buffer (after ibuffer-notify-kill activate) | |
249 (setq ibuffer-auto-buffers-changed t)) | |
250 (add-hook 'post-command-hook 'ibuffer-auto-update-changed) | 246 (add-hook 'post-command-hook 'ibuffer-auto-update-changed) |
251 (ibuffer-update-mode-name)) | 247 (ibuffer-update-mode-name)) |
252 | 248 |
253 ;;;###autoload | 249 ;;;###autoload |
254 (defun ibuffer-mouse-filter-by-mode (event) | 250 (defun ibuffer-mouse-filter-by-mode (event) |