Subject: bug#24471: 25.1.50; Error on empty PATH component

From: Eli Zaretskii <[email-masked]>
Date: Thu, 22 Sep 2016 22:30:09 +0300

> From: Achim Gratz <[email-masked]>
> Date: Thu, 22 Sep 2016 20:44:00 +0200
> 
> Here's the (redacted) backtrace leading to the error I encountered.
> 
> --8<---------------cut here---------------start------------->8---
> Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>   directory-file-name(nil)
>   mapcar(directory-file-name ("c:/WINDOWS/SYSTEM32/" "c:/WINDOWS/" "c:/WINDOWS/SYSTEM32/WBEM/" nil "c:/Local_Install/share/emacs-25.1/libexec/emacs/25.1/x86_64-w64-mingw32/"))
>   eval((mapcar (quote directory-file-name) (append (parse-colon-path (getenv "PATH")) (list exec-directory))))
>   custom-push-theme(theme-value exec-path user set (quote ("/usr/bin")))
>   custom-theme-set-variables(user ((exec-path (quote ("/usr/bin")))))
>   apply(custom-theme-set-variables user ((exec-path (quote ("/usr/bin")))))
>   custom-set-variables((exec-path (quote ("/usr/bin"))))
>   eval-buffer(#<buffer  *load*> nil "//server/Gratz/GNU/.emacs" nil t)  ; Reading at buffer position 3839

Thanks.  Does the patch below fix the problem?

diff --git a/lisp/cus-start.el b/lisp/cus-start.el
index 001d638..bd2b280 100644
--- a/lisp/cus-start.el
+++ b/lisp/cus-start.el
@@ -174,8 +174,10 @@ minibuffer-prompt-properties--setter
                         nil
                         :standard
                         (mapcar 'directory-file-name
-                                (append (parse-colon-path (getenv "PATH"))
-                                        (list exec-directory))))
+                                (delq nil
+                                      (append
+                                       (parse-colon-path (getenv "PATH"))
+                                       (list exec-directory)))))
 	     (exec-suffixes execute (repeat string))
 	     ;; charset.c
 	     (charset-map-path installation