summaryrefslogtreecommitdiff
path: root/lisp/progmodes/compile.el
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>2007-08-21 04:55:30 +0000
committerMiles Bader <miles@gnu.org>2007-08-21 04:55:30 +0000
commit1fb072d1dff954c21d4805196df62c8eeead301c (patch)
treeda374db1a51e2a355b46f26a1c99e1ac5db5dca4 /lisp/progmodes/compile.el
parentaaf34461ff5804e5cebe163b31e535da72e81d87 (diff)
parentbdaf8a62d53cf8d5a0dc4f0dc530ecd6fc1f44fe (diff)
downloademacs-1fb072d1dff954c21d4805196df62c8eeead301c.tar.gz
Merge from emacs--devo--0
Patches applied: * emacs--devo--0 (patch 852-856) - Update from CVS - Merge from emacs--rel--22 * emacs--rel--22 (patch 93-96) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 245) - Update from CVS Revision: emacs@sv.gnu.org/emacs--multi-tty--0--patch-32
Diffstat (limited to 'lisp/progmodes/compile.el')
-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 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))