GNU bug report logs -
#71424
29.3; auto-revert-use-notify buggy interaction with indirect buffers
Previous Next
Reported by: z <at> bcc32.com
Date: Sat, 8 Jun 2024 04:45:02 UTC
Severity: normal
Found in version 29.3
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #23 received at 71424 <at> debbugs.gnu.org (full text, mbox):
On Sat, Jun 8, 2024, at 12:27, Eli Zaretskii wrote:
> diff --git a/lisp/autorevert.el b/lisp/autorevert.el
> index a23d536..ab69add 100644
> --- a/lisp/autorevert.el
> +++ b/lisp/autorevert.el
> @@ -378,8 +378,11 @@ auto-revert-debug
> (defun auto-revert-remove-current-buffer (&optional buffer)
> "Remove BUFFER from `auto-revert-buffer-list'.
> BUFFER defaults to `current-buffer'."
> - (setq auto-revert-buffer-list
> - (delq (or buffer (current-buffer)) auto-revert-buffer-list)))
> + (let ((buf (or buffer (current-buffer))))
> + ;; Don't remove the watch if we are killing an indirect buffer.
> + (or (buffer-base-buffer buf)
> + (setq auto-revert-buffer-list
> + (delq buf auto-revert-buffer-list)))))
(take my reply with a grain of salt---I'm not that familiar with this code). I think this will leave killed buffers in auto-revert-buffer-list, which seems wrong to me.
> ;;;###autoload
> (define-minor-mode auto-revert-mode
> @@ -639,7 +642,9 @@ auto-revert-set-timer
>
> (defun auto-revert-notify-rm-watch ()
> "Disable file notification for current buffer's associated file."
> - (when-let ((desc auto-revert-notify-watch-descriptor))
> + (when-let ((desc
> + (and (buffer-base-buffer)
> + auto-revert-notify-watch-descriptor)))
> (setq auto-revert--buffer-by-watch-descriptor
> (assoc-delete-all desc auto-revert--buffer-by-watch-descriptor))
> (ignore-errors
Maybe I'm reading the code wrong, but should this be (not (buffer-base-buffer)) instead?
This bug report was last modified 1 year and 60 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.