bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#12351: 24.1; parse-colon-path turns empty paths into nil


From: Wolfgang Jenkner
Subject: bug#12351: 24.1; parse-colon-path turns empty paths into nil
Date: Mon, 31 Dec 2012 02:40:21 +0100
User-agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.3.50 (berkeley-unix)

On Sun, Dec 30 2012, Dave Abrahams wrote:

> The following function is buggy because of the original bug:
>
> (defun osx-plist-update-exec-path ()
>   "Update `exec-path' from the PATH environment variable."
>   (let ((path (getenv "PATH")))
>     (mapc (lambda (dir)
>             (add-to-list 'exec-path dir))
>           (parse-colon-path path)))
>   exec-path)
>
> I had to replace it in my local installation as follows:
>
>   (defun osx-plist-update-exec-path ()
>     "Update `exec-path' from the PATH environment variable."
>     (let ((path (delq nil (parse-colon-path (getenv "PATH")))))
>       (setq exec-path
>             (dolist (dir exec-path path)
>               (add-to-list 'path (file-name-as-directory dir) :append)))))

But the first function exhibited a bug only with an empty component in
the path.  So I'd guess that nil ought to be replaced by "." instead of
being deleted from the list.  If the second function gives the correct
result that means that exec-path already contained "." before the call.

And in any case, wouldn't the trivial patch (relative to trunk) below do
the right thing here?

Confused,

Wolfgang

=== modified file 'lisp/files.el'
--- lisp/files.el       2012-12-17 15:51:49 +0000
+++ lisp/files.el       2012-12-31 01:00:47 +0000
@@ -664,7 +664,7 @@
   (when (stringp search-path)
     (mapcar (lambda (f)
              (substitute-in-file-name (file-name-as-directory f)))
-           (split-string search-path path-separator t))))
+           (split-string search-path path-separator))))
 
 (defun cd-absolute (dir)
   "Change current directory to given absolute file name DIR."






reply via email to

[Prev in Thread] Current Thread [Next in Thread]