aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2007-08-17 07:16:17 +0000
committerGlenn Morris2007-08-17 07:16:17 +0000
commit912651fc0caeb9b205042b627626f97bb8d8caa6 (patch)
treece1c1eb5f966e0423bf4d14e1f140b08519ab2e9
parent5f15401ac7af44eeb7c3865ba57806f66bccaaff (diff)
downloademacs-912651fc0caeb9b205042b627626f97bb8d8caa6.tar.gz
emacs-912651fc0caeb9b205042b627626f97bb8d8caa6.zip
(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.
-rw-r--r--lisp/progmodes/compile.el8
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index fcb20ede56d..96ba3f80f3b 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -1935,7 +1935,13 @@ The file-structure looks like this:
1935 ;; Store it for the possibly unnormalized name 1935 ;; Store it for the possibly unnormalized name
1936 (puthash file 1936 (puthash file
1937 ;; Retrieve or create file-structure for normalized name 1937 ;; Retrieve or create file-structure for normalized name
1938 (or (gethash (list filename) compilation-locs) 1938 ;; The gethash used to not use spec-directory, but
1939 ;; this leads to errors when files in different
1940 ;; directories have the same name:
1941 ;; http://lists.gnu.org/archive/html/emacs-devel/2007-08/msg00463.html
1942 (or (gethash (cons filename spec-directory) compilation-locs)
1943 ;; TODO should this, without spec-directory, be
1944 ;; done at all?
1939 (puthash (list filename) 1945 (puthash (list filename)
1940 (list (list filename spec-directory) fmt) 1946 (list (list filename spec-directory) fmt)
1941 compilation-locs)) 1947 compilation-locs))