mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-10 15:56:18 +00:00
Fix bug#5620: recalculate all markers on compilation buffer
modifications, not on file modifications. (buffer-modtime): New buffer-local variable: the buffer modification time, for buffers not associated with files. (compilation-mode): Create it. (compilation-filter): Update it. (compilation-next-error-function): Use it instead of `visited-file-modtime' for timestamp.
This commit is contained in:
parent
a764697e5f
commit
f4087766ce
@ -1,3 +1,14 @@
|
||||
2010-03-23 Sam Steingold <sds@gnu.org>
|
||||
|
||||
Fix bug#5620: recalculate all markers on compilation buffer
|
||||
modifications, not on file modifications.
|
||||
* progmodes/compile.el (buffer-modtime): New buffer-local variable:
|
||||
the buffer modification time, for buffers not associated with files.
|
||||
(compilation-mode): Create it.
|
||||
(compilation-filter): Update it.
|
||||
(compilation-next-error-function): Use it instead of
|
||||
`visited-file-modtime' for timestamp.
|
||||
|
||||
2010-03-23 Juri Linkov <juri@jurta.org>
|
||||
|
||||
Implement Occur multi-line matches.
|
||||
|
@ -733,6 +733,9 @@ Faces `compilation-error-face', `compilation-warning-face',
|
||||
"If non-nil, automatically jump to the next error encountered.")
|
||||
(make-variable-buffer-local 'compilation-auto-jump-to-next)
|
||||
|
||||
(defvar buffer-modtime nil
|
||||
"The buffer modification time, for buffers not associated with files.")
|
||||
(make-variable-buffer-local 'buffer-modtime)
|
||||
|
||||
(defvar compilation-skip-to-next-location t
|
||||
"*If non-nil, skip multiple error messages for the same source location.")
|
||||
@ -1566,6 +1569,7 @@ Runs `compilation-mode-hook' with `run-mode-hooks' (which see).
|
||||
mode-name (or name-of-mode "Compilation"))
|
||||
(set (make-local-variable 'page-delimiter)
|
||||
compilation-page-delimiter)
|
||||
(set (make-local-variable 'buffer-modtime) nil)
|
||||
(compilation-setup)
|
||||
(setq buffer-read-only t)
|
||||
(run-mode-hooks 'compilation-mode-hook))
|
||||
@ -1781,6 +1785,7 @@ and runs `compilation-filter-hook'."
|
||||
(unless comint-inhibit-carriage-motion
|
||||
(comint-carriage-motion (process-mark proc) (point)))
|
||||
(set-marker (process-mark proc) (point))
|
||||
(set (make-local-variable buffer-modtime) (current-time))
|
||||
(run-hooks 'compilation-filter-hook))
|
||||
(goto-char pos)
|
||||
(narrow-to-region min max)
|
||||
@ -1954,9 +1959,7 @@ This is the value of `next-error-function' in Compilation buffers."
|
||||
;; 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)))))
|
||||
(setq timestamp buffer-modtime)))
|
||||
(with-current-buffer (compilation-find-file marker (caar (nth 2 loc))
|
||||
(cadr (car (nth 2 loc))))
|
||||
(save-restriction
|
||||
|
Loading…
Reference in New Issue
Block a user