]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix problem with non-absolute names
authorLars Ingebrigtsen <larsi@gnus.org>
Thu, 11 Nov 2021 12:20:34 +0000 (13:20 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 11 Nov 2021 12:20:38 +0000 (13:20 +0100)
* lisp/files.el (file-name-split): Fix problem with non-absolute
names.

lisp/files.el
test/lisp/files-tests.el

index c694df38268d9efa5a80fd7aa88ca7f122b57b34..3490d0428a066557743cf95fc18128e2f50b7264 100644 (file)
@@ -5069,7 +5069,7 @@ On most systems, this will be true:
         (setq filename (and dir (directory-file-name dir)))
         ;; If there's nothing left to peel off, we're at the root and
         ;; we can stop.
-        (when (equal dir filename)
+        (when (and dir (equal dir filename))
           (push "" components)
           (setq filename nil))))
     components))
index 787e6390a6e7ea90e6fcb86c5d0e56a5c44065bf..d00f1ce326311f30c2b5946cf808b46f43fdb838 100644 (file)
@@ -1806,7 +1806,7 @@ Prompt users for any modified buffer with `buffer-offer-save' non-nil."
          ;; `save-some-buffers-default-predicate' (i.e. the 2nd element) is ignored.
          (nil save-some-buffers-root ,nb-might-save))))))
 
-(defun test-file-name-split ()
+(ert-deftest test-file-name-split ()
   (should (equal (file-name-split "foo/bar") '("foo" "bar")))
   (should (equal (file-name-split "/foo/bar") '("" "foo" "bar")))
   (should (equal (file-name-split "/foo/bar/zot") '("" "foo" "bar" "zot")))