summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2012-12-31 13:20:07 -0800
committerGlenn Morris <rgm@gnu.org>2012-12-31 13:20:07 -0800
commit4cddca3070934602b0156a5cc260c633f210599c (patch)
tree5e6db408dba0bb3fac928b5c066fff3c564edc26
parent6861432ebdc503bbf0f8886679d169c16060626b (diff)
downloademacs-4cddca3070934602b0156a5cc260c633f210599c.tar.gz
* files.el (parse-colon-path): Return nil for empty path elements.
Fixes: debbugs:13296
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/files.el9
2 files changed, 11 insertions, 3 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index a62a9cdb188..2a7fc8f7fd4 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2012-12-31 Glenn Morris <rgm@gnu.org>
+
+ * files.el (parse-colon-path): Doc fix. (Bug#12351)
+ Return nil for empty path elements. (Bug#13296)
+
2012-12-31 Fabián Ezequiel Gallina <fgallina@cuca>
* progmodes/python.el (python-nav-end-of-statement): Rewrite in
diff --git a/lisp/files.el b/lisp/files.el
index 62ad96cf28c..301653abfb9 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -660,11 +660,14 @@ Not actually set up until the first time you use it.")
"Explode a search path into a list of directory names.
Directories are separated by `path-separator' (which is colon in
GNU and Unix systems). Substitute environment variables into the
-resulting list of directory names."
+resulting list of directory names. For an empty path element (i.e.,
+a leading or trailing separator, or two adjacent separators), return
+nil (meaning `default-directory') as the associated list element."
(when (stringp search-path)
(mapcar (lambda (f)
- (substitute-in-file-name (file-name-as-directory f)))
- (split-string search-path path-separator t))))
+ (if (equal "" f) nil
+ (substitute-in-file-name (file-name-as-directory f))))
+ (split-string search-path path-separator))))
(defun cd-absolute (dir)
"Change current directory to given absolute file name DIR."