summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Porter <jporterbugs@gmail.com>2022-01-20 19:51:39 -0800
committerLars Ingebrigtsen <larsi@gnus.org>2022-01-21 13:06:34 +0100
commit1228ec3e1d7657c9eb50184719410f37ed0eb750 (patch)
tree216799e8af2a2fbed5f0c839e353ab73de300118
parent90de226e218883f2a62ce3e1ba9a79ef8e1be70c (diff)
downloademacs-1228ec3e1d7657c9eb50184719410f37ed0eb750.tar.gz
Don't use 'eshell-eval-using-options' for 'eshell/source' or 'eshell/.'
This makes 'source' and '.' in Eshell more compatible with regular shells, which just treat the first argument as the file to source and all subsequent arguments as arguments to that file. * lisp/eshell/em-script.el (eshell/source, eshell/.): Don't use 'eshell-eval-using-options'. * etc/NEWS: Announce the change (bug#53293)
-rw-r--r--etc/NEWS5
-rw-r--r--lisp/eshell/em-script.el18
2 files changed, 7 insertions, 16 deletions
diff --git a/etc/NEWS b/etc/NEWS
index 4cf99490ce5..a4908017a28 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -104,6 +104,11 @@ files that were compiled with an old EIEIO (Emacs<25).
** 'C-x 8 .' has been moved to 'C-x 8 . .'.
This is to open up the 'C-x 8 .' map to bind further characters there.
+---
+** 'source' and '.' in Eshell no longer accept the '--help' option.
+This is for compatibility with the shell versions of these commands,
+which don't handle options like '--help' in any special way.
+
* Changes in Emacs 29.1
diff --git a/lisp/eshell/em-script.el b/lisp/eshell/em-script.el
index e8459513f39..e0bcd8b099f 100644
--- a/lisp/eshell/em-script.el
+++ b/lisp/eshell/em-script.el
@@ -113,27 +113,13 @@ Comments begin with `#'."
(defun eshell/source (&rest args)
"Source a file in a subshell environment."
- (eshell-eval-using-options
- "source" args
- '((?h "help" nil nil "show this usage screen")
- :show-usage
- :usage "FILE [ARGS]
-Invoke the Eshell commands in FILE in a subshell, binding ARGS to $1,
-$2, etc.")
- (eshell-source-file (car args) (cdr args) t)))
+ (eshell-source-file (car args) (cdr args) t))
(put 'eshell/source 'eshell-no-numeric-conversions t)
(defun eshell/. (&rest args)
"Source a file in the current environment."
- (eshell-eval-using-options
- "." args
- '((?h "help" nil nil "show this usage screen")
- :show-usage
- :usage "FILE [ARGS]
-Invoke the Eshell commands in FILE within the current shell
-environment, binding ARGS to $1, $2, etc.")
- (eshell-source-file (car args) (cdr args))))
+ (eshell-source-file (car args) (cdr args)))
(put 'eshell/. 'eshell-no-numeric-conversions t)