GNU bug report logs -
#49893
[PATCH] Reset mtime of a reverted buffer
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#49893: [PATCH] Reset mtime of a reverted buffer
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 49893 <at> debbugs.gnu.org.
--
49893: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=49893
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
> From: Konstantin Kharlamov <hi-angel <at> yandex.ru>
> Cc: 49893 <at> debbugs.gnu.org
> Date: Thu, 05 Aug 2021 19:54:03 +0300
>
> On Thu, 2021-08-05 at 19:36 +0300, Eli Zaretskii wrote:
> > > From: Konstantin Kharlamov <hi-angel <at> yandex.ru>
> > > Date: Thu, 05 Aug 2021 18:28:28 +0300
> > >
> > > Patch is attached. This resolves the problem reported at
> > > https://github.com/emacs-evil/evil/issues/1504
> >
> > Could you please describe the problem you are trying to solve,
> > preferably without involving Evil?
>
> Sure. The auto-revert-mode by default works with ‘revert-buffer-insert-file-contents--default-function’ function. This function is known to break markers in buffers, which is why recently Emacs has added a replacement function revert-buffer-insert-file-contents-delicately (the one I modify in the patch).
>
> However, actually trying to use this new function revealed a regression in behavior of another function: the `find-file`. Basically, if you have a file `/tmp/foo` opened in Emacs (IOW Emacs has a buffer associated with this file), and then file `/tmp/foo` gets "auto-reverted", then if you execute (find-file "/tmp/foo"), the new function causes Emacs ask a user "File foo was modified, do you want to revert it? (yes/no)". It now gives that prompt always, until you make a change to the buffer.
>
> That's a regression compared to the default behavior with `revert-buffer-insert-file-contents--default-function`. And the reason turned out to be that the function `revert-buffer-insert-file-contents--default-function` after having succesfully reverted a file, sets the buffer mtime to the mtime of the file. However the function revert-buffer-insert-file-contents-delicately didn't set mtime before that patch. I assume it is an omission from implementation, because technically that's incorrect: if the revert-buffer-insert-file-contents-delicately has successfully reverted a buffer, then we know that it has same content as the associated file, and hence it should have the same mtime.
Thanks. I installed the change on the master branch.
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
Patch is attached. This resolves the problem reported at https://github.com/emacs-evil/evil/issues/1504
[1.patch (text/x-patch, attachment)]
This bug report was last modified 3 years and 289 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.