From d75558f11c802dddc9b173f85b1c07aff7c9c3bd Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Thu, 11 Nov 2021 13:20:34 +0100 Subject: [PATCH] Fix problem with non-absolute names * lisp/files.el (file-name-split): Fix problem with non-absolute names. --- lisp/files.el | 2 +- test/lisp/files-tests.el | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/files.el b/lisp/files.el index c694df38268..3490d0428a0 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -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)) diff --git a/test/lisp/files-tests.el b/test/lisp/files-tests.el index 787e6390a6e..d00f1ce3263 100644 --- a/test/lisp/files-tests.el +++ b/test/lisp/files-tests.el @@ -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"))) -- 2.39.2