Timestamp fixes for undo.
commit954b166e9037de5fdd43b4fbe7b8c73a36ac402e
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 10 Jul 2013 06:26:23 +0000 (9 23:26 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 10 Jul 2013 06:26:23 +0000 (9 23:26 -0700)
tree4a1aa065be1ec87b53fdaff13f1129863ba2ebb5
parent56973319b58a66e97ae45e050f9f943ff8f1439b
Timestamp fixes for undo.

* doc/lispref/text.texi (Undo):
Document (t . 0) and (t . -1) in buffer-undo-list.
* etc/NEWS: Changes to visited-file-modtime, set-visited-file-modtime.
* lisp/files.el (clear-visited-file-modtime): Move here from fileio.c.
* src/atimer.c (schedule_atimer):
* src/fileio.c (Ffile_newer_than_file_p):
Minor cleanup: use EMACS_TIME_LT so that we can remove EMACS_TIME_GT.
* src/buffer.c (buffer-undo-list): Document (t . 0) and (t . -1).
* src/fileio.c (Fclear_visited_file_modtime): Move to lisp/files.el.
(syms_of_fileio): Remove Sclear_visited_file_name.
(Fvisited_file_modtime): Return -1, not (-1 ...), when the visited
file doesn't exist; this avoids an ambiguity with negative timestamps.
(Fset_visited_file_modtime): Accept -1 and 0 as time-list arg.
* src/systime.h (make_emacs_time, invalid_emacs_time):
Don't assume struct timespec layout; POSIX doesn't guarantee it.
(EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE): Remove.
* src/undo.c (record_first_change): Push (visited-file-modtime) onto
undo list rather than reimplementing it by hand, incorrectly.

Fixes: debbugs:14824
12 files changed:
doc/lispref/ChangeLog
doc/lispref/text.texi
etc/ChangeLog
etc/NEWS
lisp/ChangeLog
lisp/files.el
src/ChangeLog
src/atimer.c
src/buffer.c
src/fileio.c
src/systime.h
src/undo.c