[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/exec-path-from-shell bfaa02106e 031/114: [Fix #13] Make sh
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/exec-path-from-shell bfaa02106e 031/114: [Fix #13] Make shell arguments customizable |
Date: |
Tue, 5 Sep 2023 03:59:58 -0400 (EDT) |
branch: elpa/exec-path-from-shell
commit bfaa02106e9c1857c9240f54d139b676eccbf1d8
Author: Sebastian Wiesner <swiesner@lunaryorn.com>
Commit: Sebastian Wiesner <swiesner@lunaryorn.com>
[Fix #13] Make shell arguments customizable
---
exec-path-from-shell.el | 22 +++++++++++++++-------
1 file changed, 15 insertions(+), 7 deletions(-)
diff --git a/exec-path-from-shell.el b/exec-path-from-shell.el
index 4bb5383bfb..5d3f3851e6 100644
--- a/exec-path-from-shell.el
+++ b/exec-path-from-shell.el
@@ -84,6 +84,14 @@
"Return the name of the --login arg for SHELL."
(if (exec-path-from-shell--tcsh-p shell) "-d" "-l"))
+(defcustom exec-path-from-shell-arguments
+ (list (exec-path-from-shell--login-arg (getenv "SHELL")) "-i")
+ "Additional arguments to pass to the shell.
+
+The default value denotes an interactive login shell."
+ :type '(repeat (string :tag "Shell argument"))
+ :group 'exec-path-from-shell)
+
(defun exec-path-from-shell-printf (str &optional args)
"Return the result of printing STR in the user's shell.
@@ -100,12 +108,12 @@ shell-escaped, so they may contain $ etc."
(printf-command
(concat printf-bin
" '__RESULT\\000" str "' "
- (mapconcat #'exec-path-from-shell--double-quote args " "))))
+ (mapconcat #'exec-path-from-shell--double-quote args " ")))
+ (shell-args (append exec-path-from-shell-arguments
+ (list "-c" printf-command))))
(with-temp-buffer
- (let ((shell (getenv "SHELL")))
- (call-process shell nil (current-buffer) nil
- (exec-path-from-shell--login-arg shell)
- "-i" "-c" printf-command))
+ (apply #'call-process
+ (getenv "SHELL") nil (current-buffer) nil shell-args)
(goto-char (point-min))
(when (re-search-forward "__RESULT\0\\(.*\\)" nil t)
(match-string 1)))))
@@ -113,8 +121,8 @@ shell-escaped, so they may contain $ etc."
(defun exec-path-from-shell-getenvs (names)
"Get the environment variables with NAMES from the user's shell.
-Execute $SHELL as interactive login shell. The result is a list
-of (NAME . VALUE) pairs."
+Execute $SHELL according to `exec-path-from-shell-arguments'.
+The result is a list of (NAME . VALUE) pairs."
(let* ((dollar-names (mapcar (lambda (n) (concat "$" n)) names))
(values (if (exec-path-from-shell--tcsh-p (getenv "SHELL"))
;; Dumb shell
- [nongnu] elpa/exec-path-from-shell f349bc25aa 009/114: Merge pull request #2 from lunaryorn/init-manpath, (continued)
- [nongnu] elpa/exec-path-from-shell f349bc25aa 009/114: Merge pull request #2 from lunaryorn/init-manpath, ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell f88aa7edec 010/114: Make the list of copied variables customizable. (See #2), ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell ed17558245 011/114: Fix local variables block formatting, ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell 3b280d3093 013/114: Set all variables using just one shell invocation, ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell 4b2f672301 020/114: Make use of printf safer, in case env var values contain escapes (see #5), ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell 89aed99c12 021/114: Can now single-quote format argument to printf, ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell 2b6651242f 018/114: Unambigiously escape the null character (fixes #5), ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell 9f034cdb97 022/114: Explicitly double-quote args, so empty var values don't mess things up, ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell 95b7aee732 025/114: Use -d in place of --login for tcsh (fixes #7), ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell 96afc511bb 030/114: Add missing custom type, ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell bfaa02106e 031/114: [Fix #13] Make shell arguments customizable,
ELPA Syncer <=
- [nongnu] elpa/exec-path-from-shell a5162e6f99 032/114: Merge pull request #14 from lunaryorn/customizable-args, ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell 0e0af3907a 040/114: For non-POSIX shells (mainly fish and tcsh), print vars in a standard "sh" subshell, ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell dccbb54b18 041/114: Add note about fish and tcsh to README, ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell 7f77aa6dfb 052/114: Revert "Remove unnecessary dash to appease old csh", ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell e88cce5a93 067/114: Fix checkdoc warnings, ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell 51d0931c2a 003/114: Improve suggested condition for initialization on OS X, ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell 900d98a912 005/114: Improve docstrings, ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell 1115e59539 033/114: Provide better info when the shell doesn't printf vars as expected, ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell ad5eda1649 034/114: Require non-zero exit code, and allow debug output, ELPA Syncer, 2023/09/05
- [nongnu] elpa/exec-path-from-shell 345ba9cb71 036/114: Don't fail when printing undefined vars if shell -e option is set, ELPA Syncer, 2023/09/05