emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[nongnu] elpa/exec-path-from-shell 0f53502d46 068/114: Produce error at


From: ELPA Syncer
Subject: [nongnu] elpa/exec-path-from-shell 0f53502d46 068/114: Produce error at runtime if SHELL is unset
Date: Tue, 5 Sep 2023 04:00:01 -0400 (EDT)

branch: elpa/exec-path-from-shell
commit 0f53502d463eeeaefe48dfeb0c2fbaac1e6302e3
Author: Steve Purcell <steve@sanityinc.com>
Commit: Steve Purcell <steve@sanityinc.com>

    Produce error at runtime if SHELL is unset
    
    Fixes #51
---
 exec-path-from-shell.el | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/exec-path-from-shell.el b/exec-path-from-shell.el
index de463f4653..f35b142d27 100644
--- a/exec-path-from-shell.el
+++ b/exec-path-from-shell.el
@@ -97,6 +97,10 @@ Environment variables should be set in .profile or .zshenv 
rather than
   "Double-quote S, escaping any double-quotes already contained in it."
   (concat "\"" (replace-regexp-in-string "\"" "\\\\\"" s) "\""))
 
+(defun exec-path-from-shell--shell ()
+  "Return the shell to use."
+  (or (getenv "SHELL") (error "SHELL environment variable is unset")))
+
 (defcustom exec-path-from-shell-arguments
   (if (string-match-p "t?csh$" (or (getenv "SHELL") ""))
       (list "-d")
@@ -133,12 +137,12 @@ shell-escaped, so they may contain $ etc."
           (concat printf-bin
                   " '__RESULT\\000" str "' "
                   (mapconcat #'exec-path-from-shell--double-quote args " ")))
+         (shell (exec-path-from-shell--shell))
          (shell-args (append exec-path-from-shell-arguments
                              (list "-c"
-                                   (if (exec-path-from-shell--standard-shell-p 
(getenv "SHELL"))
+                                   (if (exec-path-from-shell--standard-shell-p 
shell)
                                        printf-command
-                                     (concat "sh -c " (shell-quote-argument 
printf-command))))))
-         (shell (getenv "SHELL")))
+                                     (concat "sh -c " (shell-quote-argument 
printf-command)))))))
     (with-temp-buffer
       (exec-path-from-shell--debug "Invoking shell %s with args %S" shell 
shell-args)
       (let ((exit-code (apply #'call-process shell nil t nil shell-args)))



reply via email to

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