From: Glenn Morris Date: Fri, 17 Aug 2007 07:17:45 +0000 (+0000) Subject: (compilation-get-file-structure): Make use of the directory part when X-Git-Tag: emacs-pretest-23.0.90~11477 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e68b1841303f1e5e9a14c4443ff39b4db64b54fe;p=emacs.git (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. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d3bd2089d4c..2f6ee763d1d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2007-08-17 Glenn Morris + + * progmodes/compile.el (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. + 2007-08-17 Jay Belanger * calc/calc.el (calc-language-alist): Add texinfo-mode. diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 805ed3c4040..9b83cfc9f3d 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -1972,7 +1972,13 @@ The file-structure looks like this: ;; 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))