comparison lisp/progmodes/compile.el @ 91056:1251cabc40b7

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 890-898) - Update from CVS - Merge from emacs--rel--22 * emacs--rel--22 (patch 122-128) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 257-258) - Merge from emacs--rel--22 - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-270
author Miles Bader <miles@gnu.org>
date Fri, 19 Oct 2007 00:00:21 +0000
parents bdb3fe0ba9fa e8f9d460bc3e
children 4bc33ffdda1a
comparison
equal deleted inserted replaced
91055:46bc3a01b2fa 91056:1251cabc40b7
1656 ;; If the file is newer than the timestamp, it has been modified 1656 ;; If the file is newer than the timestamp, it has been modified
1657 ;; (`omake -P' polls filesystem for changes and recompiles when needed 1657 ;; (`omake -P' polls filesystem for changes and recompiles when needed
1658 ;; in the same process and buffer). 1658 ;; in the same process and buffer).
1659 ;; So, recalculate all markers for that file. 1659 ;; So, recalculate all markers for that file.
1660 (unless (and (nth 3 loc) (marker-buffer (nth 3 loc)) 1660 (unless (and (nth 3 loc) (marker-buffer (nth 3 loc))
1661 (equal (nth 4 loc) 1661 ;; There may be no timestamp info if the loc is a `fake-loc'.
1662 (setq timestamp 1662 ;; So we skip the time-check here, although we should maybe
1663 (with-current-buffer (marker-buffer (nth 3 loc)) 1663 ;; change `compilation-fake-loc' to add timestamp info.
1664 (visited-file-modtime))))) 1664 (or (null (nth 4 loc))
1665 (equal (nth 4 loc)
1666 (setq timestamp
1667 (with-current-buffer
1668 (marker-buffer (nth 3 loc))
1669 (visited-file-modtime))))))
1665 (with-current-buffer (compilation-find-file marker (caar (nth 2 loc)) 1670 (with-current-buffer (compilation-find-file marker (caar (nth 2 loc))
1666 (cadr (car (nth 2 loc)))) 1671 (cadr (car (nth 2 loc))))
1667 (save-restriction 1672 (save-restriction
1668 (widen) 1673 (widen)
1669 (goto-char (point-min)) 1674 (goto-char (point-min))
1709 call this several times, once each for the last line of one 1714 call this several times, once each for the last line of one
1710 region and the first line of the next region." 1715 region and the first line of the next region."
1711 (or (consp file) (setq file (list file))) 1716 (or (consp file) (setq file (list file)))
1712 (setq file (compilation-get-file-structure file)) 1717 (setq file (compilation-get-file-structure file))
1713 ;; Between the current call to compilation-fake-loc and the first occurrence 1718 ;; Between the current call to compilation-fake-loc and the first occurrence
1714 ;; of an error message referring to `file', the data is only kept is the 1719 ;; of an error message referring to `file', the data is only kept in the
1715 ;; weak hash-table compilation-locs, so we need to prevent this entry 1720 ;; weak hash-table compilation-locs, so we need to prevent this entry
1716 ;; in compilation-locs from being GC'd away. --Stef 1721 ;; in compilation-locs from being GC'd away. --Stef
1717 (push file compilation-gcpro) 1722 (push file compilation-gcpro)
1718 (let ((loc (compilation-assq (or line 1) (cdr file)))) 1723 (let ((loc (compilation-assq (or line 1) (cdr file))))
1719 (setq loc (compilation-assq col loc)) 1724 (setq loc (compilation-assq col loc))