Subject: Re: bug#34847: 27.0.50; auto-revert-buffers occasionally selects a killed buffer

From: Michael Albinus <[email-masked]>
Date: Sat, 06 Apr 2019 11:37:38 +0200

"Basil L. Contovounesios" <[email-masked]> writes:

Hi Basil,

>> ! (defun auto-revert-remove-current-buffer (&optional buffer)
>>     "Remove dead buffer from `auto-revert-buffer-list'."
>
> Can you please update the docstring?  E.g.
>
>   "Remove BUFFER from `auto-revert-buffer-list'.
> BUFFER defaults to `current-buffer'."

Done.

>> --- 772,783 ----
>>         (setq bufs (delq nil
>>                          (mapcar
>>                           (lambda (buf)
>> !                           (and (buffer-live-p buf)
>> !                                (with-current-buffer buf
>> !                                  (and
>> !                                   (or (not (file-remote-p default-directory))
>> !                                       (file-remote-p default-directory nil t))
>> !                                       buf))))
>>                           bufs)))
>>         ;; Partition `bufs' into two halves depending on whether or not
>>         ;; the buffers are in `auto-revert-remaining-buffers'.  The
>>   two
>
> Indentation seems a bit off here.  Note that you can use 'when' instead
> of 'and' to fit more easily within 80 columns, if you prefer.

I'd like to keep it, for simpler diffs when time comes. There's no
problem with the 80 columns width.

> Otherwise LGTM.  Can you please also make the following change while
> you're at it?
>
> diff --git a/lisp/autorevert.el b/lisp/autorevert.el
> index bc7c616ecb..d736f0d31c 100644
> --- a/lisp/autorevert.el
> +++ b/lisp/autorevert.el
> @@ -509,7 +509,7 @@ auto-revert-notify-rm-watch
>  	   (ignore-errors
>  	     (file-notify-rm-watch auto-revert-notify-watch-descriptor)))))
>       auto-revert-notify-watch-descriptor-hash-list)
> -    (remove-hook 'kill-buffer-hook #'auto-revert-notify-rm-watch))
> +    (remove-hook 'kill-buffer-hook #'auto-revert-notify-rm-watch t))
>    (setq auto-revert-notify-watch-descriptor nil
>  	auto-revert-notify-modified-p nil))

Good catch! I've applied it.

> Works for me; I hope to see it land soon.  See also my other message for
> a related but more subtle problem: https://debbugs.gnu.org/34847#16

Eli has already confirmed your approach, so you might commit it (and
close the bug then).

> Thanks,

Best regards, Michael.