[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 9a6fc63 1/2: Fix problem with relative directories in CDPATH
From: |
Lars Ingebrigtsen |
Subject: |
master 9a6fc63 1/2: Fix problem with relative directories in CDPATH |
Date: |
Sat, 7 Aug 2021 06:56:06 -0400 (EDT) |
branch: master
commit 9a6fc638433c19021278616019ef5064740f86fe
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Fix problem with relative directories in CDPATH
* lisp/files.el (parse-colon-path): Allow relative directories
(like ".") in CDPATH (bug#49918).
---
lisp/files.el | 5 ++++-
test/lisp/files-tests.el | 5 ++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/lisp/files.el b/lisp/files.el
index c260795..b58f90d 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -782,7 +782,10 @@ nil (meaning `default-directory') as the associated list
element."
(let ((spath (substitute-env-vars search-path)))
(mapcar (lambda (f)
(if (equal "" f) nil
- (let ((dir (expand-file-name (file-name-as-directory f))))
+ (let ((dir (file-name-as-directory f)))
+ (when (file-name-absolute-p dir)
+ ;; Expand "~".
+ (setq dir (expand-file-name dir)))
;; Previous implementation used `substitute-in-file-name'
;; which collapse multiple "/" in front. Do the same for
;; backward compatibility.
diff --git a/test/lisp/files-tests.el b/test/lisp/files-tests.el
index 640f7d8..523f51e 100644
--- a/test/lisp/files-tests.el
+++ b/test/lisp/files-tests.el
@@ -1461,7 +1461,10 @@ See <https://debbugs.gnu.org/36401>."
(should (equal (parse-colon-path "x:/foo//bar/baz")
'("x:/foo/bar/baz/")))
(should (equal (parse-colon-path "/foo//bar/baz")
- '("/foo/bar/baz/")))))
+ '("/foo/bar/baz/"))))
+
+ (should (equal (parse-colon-path ".:/tmp")
+ '("./" "/tmp/"))))
(ert-deftest files-test-magic-mode-alist-doctype ()
"Test that DOCTYPE and variants put files in mhtml-mode."