mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-07 08:00:48 -08:00
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).
This commit is contained in:
parent
869579170b
commit
ee2ffd9c9e
1 changed files with 6 additions and 3 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue