Mercurial > emacs
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)) |