[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master ee2ffd9: Fix problem with symlinks in compile buffers
From: |
Lars Ingebrigtsen |
Subject: |
master ee2ffd9: Fix problem with symlinks in compile buffers |
Date: |
Thu, 26 Aug 2021 13:29:57 -0400 (EDT) |
branch: master
commit ee2ffd9c9eb33a17307f36ff58caec1ba79878d2
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Fix problem with symlinks in compile buffers
* lisp/progmodes/compile.el (compilation-find-file): Avoid
`expand-file-name' when computing the file names, because that will
reliably give the wrong result when there's symlinks and ".."
involved (bug#8035).
---
lisp/progmodes/compile.el | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 1fb6124..af7b829 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -2951,7 +2951,8 @@ attempts to find a file whose name is produced by (format
FMT FILENAME)."
fmts formats)
;; For each directory, try each format string.
(while (and fmts (null buffer))
- (setq name (expand-file-name (format (car fmts) filename) thisdir)
+ (setq name (file-truename
+ (file-name-concat thisdir (format (car fmts) filename)))
buffer (and (file-exists-p name)
(find-file-noselect name))
fmts (cdr fmts)))
@@ -2973,7 +2974,8 @@ attempts to find a file whose name is produced by (format
FMT FILENAME)."
(setq thisdir (car dirs)
fmts formats)
(while (and fmts (null buffer))
- (setq name (expand-file-name (format (car fmts) filename) thisdir)
+ (setq name (file-truename
+ (file-name-concat thisdir (format (car fmts) filename)))
buffer (and (file-exists-p name)
(find-file-noselect name))
fmts (cdr fmts)))
@@ -3016,7 +3018,8 @@ attempts to find a file whose name is produced by (format
FMT FILENAME)."
(ding) (sit-for 2))
((and (file-directory-p name)
(not (file-exists-p
- (setq name (expand-file-name filename name)))))
+ (setq name (file-truename
+ (file-name-concat name filename))))))
(message "No `%s' in directory %s" filename origname)
(ding) (sit-for 2))
(t
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master ee2ffd9: Fix problem with symlinks in compile buffers,
Lars Ingebrigtsen <=