diff options
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/fileio.c | 10 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 9d9c1fdaff5..c66d917f94f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2012-12-10 Paul Eggert <eggert@cs.ucla.edu> + + * fileio.c (Fvisited_file_modtime): Return (-1 ...) for nonexistent + files, fixing a regression from 24.2. + 2012-12-08 Jan Djärv <jan.h.d@swipnet.se> * nsterm.m (fd_handler:): FD_ZERO fds (Bug#13103). diff --git a/src/fileio.c b/src/fileio.c index 77700ff5a5f..49a6740d93a 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -5178,7 +5178,15 @@ See Info node `(elisp)Modification Time' for more details. */) (void) { if (EMACS_NSECS (current_buffer->modtime) < 0) - return make_number (0); + { + if (EMACS_NSECS (current_buffer->modtime) == NONEXISTENT_MODTIME_NSECS) + { + /* make_lisp_time won't work here if time_t is unsigned. */ + return list4 (make_number (-1), make_number (65535), + make_number (0), make_number (0)); + } + return make_number (0); + } return make_lisp_time (current_buffer->modtime); } |