From: Chong Yidong Date: Sun, 16 Sep 2012 15:57:28 +0000 (+0800) Subject: * files.el (parse-colon-path): Use split-string. X-Git-Tag: emacs-24.2.90~271^2 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1667e065d0720c65efc0c5385b9efb9f75b318c1;p=emacs.git * files.el (parse-colon-path): Use split-string. Fixes: debbugs:12351 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a7538e50d82..b444761e55c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2012-09-16 Chong Yidong + * files.el (parse-colon-path): Use split-string (Bug#12351). + * window.el (special-display-popup-frame): Doc fix (Bug#8853). (display-buffer-function): Mark as obsolete. diff --git a/lisp/files.el b/lisp/files.el index 4acdb542089..289f5c6b0b6 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -658,22 +658,13 @@ Not actually set up until the first time you use it.") (defun parse-colon-path (search-path) "Explode a search path into a list of directory names. -Directories are separated by occurrences of `path-separator' -\(which is colon in GNU and GNU-like systems)." - ;; We could use split-string here. - (and search-path - (let (cd-list (cd-start 0) cd-colon) - (setq search-path (concat search-path path-separator)) - (while (setq cd-colon (string-match path-separator search-path cd-start)) - (setq cd-list - (nconc cd-list - (list (if (= cd-start cd-colon) - nil - (substitute-in-file-name - (file-name-as-directory - (substring search-path cd-start cd-colon))))))) - (setq cd-start (+ cd-colon 1))) - cd-list))) +Directories are separated by `path-separator' (which is colon in +GNU and Unix systems). Substitute environment variables into the +resulting list of directory names." + (when (stringp search-path) + (mapcar (lambda (f) + (substitute-in-file-name (file-name-as-directory f))) + (split-string search-path path-separator t)))) (defun cd-absolute (dir) "Change current directory to given absolute file name DIR."