Subject: bug#23276: 25.0.92; Crash in auto-revert when file no longer present

From: Eli Zaretskii <[email-masked]>
Date: Sat, 16 Apr 2016 22:00:32 +0300

> From: Michael Albinus <[email-masked]>
> Date: Sat, 16 Apr 2016 20:44:18 +0200
> Cc: [email-masked]
> 
> Does anybody object to install the following patch in the emacs-25 branch?
> 
> --8<---------------cut here---------------start------------->8---
> *** /home/albinus/src/emacs-25/lisp/autorevert.el.~f3653ec446ed95404889cf16c67b2d96b3955f52~	2016-04-16 20:38:55.247491182 +0200
> --- /home/albinus/src/emacs-25/lisp/autorevert.el	2016-04-16 20:36:29.485457375 +0200
> ***************
> *** 684,690 ****
>           ;; not to forget that.  This gives undesirable results when
>           ;; the file's mode changes, but that is less common.
>           (let ((buffer-read-only buffer-read-only))
> !           (revert-buffer 'ignore-auto 'dont-ask 'preserve-modes)))
>         (when buffer-file-name
>           (when eob (goto-char (point-max)))
>           (dolist (window eoblist)
> --- 684,691 ----
>           ;; not to forget that.  This gives undesirable results when
>           ;; the file's mode changes, but that is less common.
>           (let ((buffer-read-only buffer-read-only))
> !           (ignore-errors
> !             (revert-buffer 'ignore-auto 'dont-ask 'preserve-modes))))
>         (when buffer-file-name
>           (when eob (goto-char (point-max)))
>           (dolist (window eoblist)
> --8<---------------cut here---------------end--------------->8---

It should have a comment explaining why errors are being ignored.

And I still am not convinced that deleting a file under auto-revert
shouldn't erase its buffer.  Otherwise, it sounds like just
half-auto-revert to me.  Would we keep the buffer non-empty if the
file existed but was empty?

Thanks.