* fileio.c (Fvisited_file_modtime): Return (-1 ...) for nonexistent
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 10 Dec 2012 21:58:01 +0000 (13:58 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 10 Dec 2012 21:58:01 +0000 (13:58 -0800)
files, fixing a regression from 24.2.

src/ChangeLog
src/fileio.c

index 9d9c1fd..c66d917 100644 (file)
@@ -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).
index 77700ff..49a6740 100644 (file)
@@ -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);
 }