Ignore directory symlinks in directory-files-recursively
* files.el (directory-files-recursively): Don't follow symlinks to other directories.
This commit is contained in:
parent
14efb83188
commit
3431e82d16
2 changed files with 11 additions and 6 deletions
|
@ -1,3 +1,8 @@
|
|||
2014-12-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* files.el (directory-files-recursively): Don't follow symlinks to
|
||||
other directories.
|
||||
|
||||
2014-12-12 Eric S. Raymond <esr@snark.thyrsus.com>
|
||||
|
||||
* vc/vc-dav.el, vc/vc-git.el, vc/vc-hg.el, vc/vc-src.el,
|
||||
|
|
|
@ -772,15 +772,15 @@ If INCLUDE-DIRECTORIES, also include directories that have matching names."
|
|||
'string<))
|
||||
(unless (member file '("./" "../"))
|
||||
(if (= (aref file (1- (length file))) ?/)
|
||||
(progn
|
||||
(setq result (nconc result (directory-files-recursively
|
||||
(expand-file-name file dir)
|
||||
match include-directories)))
|
||||
(let ((path (expand-file-name file dir)))
|
||||
;; Don't follow symlinks to other directories.
|
||||
(unless (file-symlink-p path)
|
||||
(setq result (nconc result (directory-files-recursively
|
||||
path match include-directories))))
|
||||
(when (and include-directories
|
||||
(string-match match
|
||||
(substring file 0 (1- (length file)))))
|
||||
(setq result (nconc result (list
|
||||
(expand-file-name file dir))))))
|
||||
(setq result (nconc result (list path)))))
|
||||
(when (string-match match file)
|
||||
(push (expand-file-name file dir) files)))))
|
||||
(nconc result (nreverse files))))
|
||||
|
|
Loading…
Add table
Reference in a new issue