La forma correcta de hacerlo es introducir soporte ibuffer
para auto-revert-mode
. Esto se puede lograr definiendo buffer-stale-function
para esos buffers. Podría decirse que, dado buffer-menu
que es compatible con esa característica, sería bueno tenerla en sentido ascendente ibuffer
también, pero ese no parece ser el caso por ahora.
De todos modos, aquí hay una manera de hacerlo:
(defun my-ibuffer-stale-p (&optional noconfirm)
;; let's reuse the variable that's used for 'ibuffer-auto-mode
(frame-or-buffer-changed-p 'ibuffer-auto-buffers-changed))
(defun my-ibuffer-auto-revert-setup ()
(set (make-local-variable 'buffer-stale-function)
'my-ibuffer-stale-p)
(set (make-local-variable 'auto-revert-verbose) nil)
(auto-revert-mode 1))
(add-hook 'ibuffer-mode-hook 'my-ibuffer-auto-revert-setup)
Nota: en general, uno necesitaría definir un valor para revert-buffer-function
, pero ibuffer
ya lo hace (está configurado en ibuffer-update
)