diff options
Diffstat (limited to 'lisp/progmodes/compile.el')
-rw-r--r-- | lisp/progmodes/compile.el | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 7e013b87c19..6bb31ca5cc4 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -1950,13 +1950,16 @@ This is the value of `next-error-function' in Compilation buffers." ;; (`omake -P' polls filesystem for changes and recompiles when needed ;; in the same process and buffer). ;; So, recalculate all markers for that file. - (unless (and (nth 3 loc) (marker-buffer (nth 3 loc)) (nthcdr 4 loc) - ;; There may be no timestamp info if the loc is a `fake-loc', - ;; but we just checked that the file has been visited before! - (equal (nth 4 loc) - (setq timestamp - (with-current-buffer (marker-buffer (nth 3 loc)) - (visited-file-modtime))))) + (unless (and (nth 3 loc) (marker-buffer (nth 3 loc)) + ;; 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 |