]> git.eshelyaron.com Git - emacs.git/commitdiff
(compilation-next-error-function): Fix timestamp
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 17 Oct 2007 16:24:33 +0000 (16:24 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 17 Oct 2007 16:24:33 +0000 (16:24 +0000)
handling, so compilation-fake-loc works again.

lisp/ChangeLog
lisp/progmodes/compile.el

index 555aa3ec85d9c400b2d36c9bb1ac23dbe00d64f8..eaf88bbd6eedd305907732f2c0bbe551c7eb13fd 100644 (file)
@@ -1,5 +1,8 @@
 2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * progmodes/compile.el (compilation-next-error-function): Fix timestamp
+       handling, so compilation-fake-loc works again.
+
        * server.el (server-select-display): Nop if we do not support m-f-o-d.
        (server-process-filter): Revert last change.
 
index 9ed7ba09de9fac15d1dcd3cb6d4ba7254b6b7852..482cfee1b9bce01f22cf15f7d185f00639543ac9 100644 (file)
@@ -1658,10 +1658,15 @@ This is the value of `next-error-function' in Compilation buffers."
     ;;  in the same process and buffer).
     ;; So, recalculate all markers for that file.
     (unless (and (nth 3 loc) (marker-buffer (nth 3 loc))
-                 (equal (nth 4 loc)
-                        (setq timestamp
-                              (with-current-buffer (marker-buffer (nth 3 loc))
-                                (visited-file-modtime)))))
+                 ;; There may be no timestamp info if the loc is a `fake-loc'.
+                 ;; So we skip the time-check here, although we should maybe
+                 ;; change `compilation-fake-loc' to add timestamp info.
+                 (or (null (nth 4 loc))
+                     (equal (nth 4 loc)
+                            (setq timestamp
+                                  (with-current-buffer
+                                      (marker-buffer (nth 3 loc))
+                                    (visited-file-modtime))))))
       (with-current-buffer (compilation-find-file marker (caar (nth 2 loc))
                                                  (cadr (car (nth 2 loc))))
        (save-restriction
@@ -1711,7 +1716,7 @@ region and the first line of the next region."
   (or (consp file) (setq file (list file)))
   (setq file (compilation-get-file-structure file))
   ;; Between the current call to compilation-fake-loc and the first occurrence
-  ;; of an error message referring to `file', the data is only kept is the
+  ;; of an error message referring to `file', the data is only kept in the
   ;; weak hash-table compilation-locs, so we need to prevent this entry
   ;; in compilation-locs from being GC'd away.  --Stef
   (push file compilation-gcpro)