Subject: bug#19607: issue with Emacs 24.4.1 but not with 24.3.1 : changed on disk; really edit the buffer

From: Paul Eggert <[email-masked]>
Date: Thu, 22 Jan 2015 14:42:37 -0800

On 01/22/2015 01:26 PM, Bertrand Brelier wrote:
> I tried with r- Q but same issue, emacs freezes when I start editing 
> the file (I can open it but not modify its content)
Ah, sorry, I wasn't explicit enough.  How about this.  When Emacs 
freezes, print the requested values in the debugger and then continue 
with the "c" command.  I just now did that, with the following results 
for me:

$ gdb ./emacs
(gdb) source .gdbinit
(gdb) b fileio.c:5338
(gdb) r -Q
[In emacs, type C-x C-f abcdef RET, then type "x".]
Breakpoint 3, Fverify_visited_file_modtime (buf=27596677) at fileio.c:5338
5338      if (timespec_cmp (mtime, b->modtime) == 0
(gdb) p mtime
$1 = {
   tv_sec = 1421966150,
   tv_nsec = 791881570
}
(gdb) p b->modtime
$2 = {
   tv_sec = 1421966150,
   tv_nsec = 791881570
}
(gdb) c
Continuing.
[In emacs, type C-x C-s.]

Breakpoint 3, Fverify_visited_file_modtime (buf=27596677) at fileio.c:5338
5338      if (timespec_cmp (mtime, b->modtime) == 0
(gdb) p mtime
$3 = {
   tv_sec = 1421966150,
   tv_nsec = 791881570
}
(gdb) p b->modtime
$4 = {
   tv_sec = 1421966150,
   tv_nsec = 791881570
}
(gdb) c
Continuing.

Breakpoint 3, Fverify_visited_file_modtime (buf=27596677) at fileio.c:5338
5338      if (timespec_cmp (mtime, b->modtime) == 0
(gdb) p mtime
$5 = {
   tv_sec = 0,
   tv_nsec = -1
}
(gdb) p b->modtime
$6 = {
   tv_sec = 1421966150,
   tv_nsec = 791881570
}
(gdb) c
Continuing.
[At this point, Emacs says "Wrote /home/eggert/decrypted/abcdef.]