Mercurial > emacs
changeset 78578:be466566559a
(compilation-get-file-structure): Make use of the directory part when
checking for an existing entry, to handle files with same basename in
different directories.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Fri, 17 Aug 2007 07:16:17 +0000 |
parents | 1486b1d4b4a1 |
children | bd4ae2a657e3 |
files | lisp/progmodes/compile.el |
diffstat | 1 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/progmodes/compile.el Fri Aug 17 07:15:55 2007 +0000 +++ b/lisp/progmodes/compile.el Fri Aug 17 07:16:17 2007 +0000 @@ -1935,7 +1935,13 @@ ;; Store it for the possibly unnormalized name (puthash file ;; Retrieve or create file-structure for normalized name - (or (gethash (list filename) compilation-locs) + ;; The gethash used to not use spec-directory, but + ;; this leads to errors when files in different + ;; directories have the same name: + ;; http://lists.gnu.org/archive/html/emacs-devel/2007-08/msg00463.html + (or (gethash (cons filename spec-directory) compilation-locs) + ;; TODO should this, without spec-directory, be + ;; done at all? (puthash (list filename) (list (list filename spec-directory) fmt) compilation-locs))