diff options
author | Jim Porter <jporterbugs@gmail.com> | 2022-01-24 21:03:42 -0800 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2022-01-25 13:28:45 +0100 |
commit | dea24a0f7d4ae42fae912dd724a770678054989a (patch) | |
tree | 17b2ac9faa616b06cb6b3822634dd4f1432c0362 /src/sqlite.c | |
parent | 115f3f59346595ce01625396c448983a9d17f24c (diff) | |
download | emacs-dea24a0f7d4ae42fae912dd724a770678054989a.tar.gz emacs-dea24a0f7d4ae42fae912dd724a770678054989a.tar.bz2 emacs-dea24a0f7d4ae42fae912dd724a770678054989a.zip |
Don't manipulate args in-place for 'eshell-eval-using-options'
This is necessary for preserve the original arguments to forward on to
:external commands. Previously, when :preserve-args was also set, the
original argument list could be altered, changing the meaning of the
command.
* lisp/eshell/esh-opt.el (eshell-eval-using-options): Copy MACRO-ARGS
when :preserve-args is set, and pass the original value to
'eshell--do-opts'.
(eshell--do-opts): Use the original arguments when calling an external
command.
* lisp/eshell/em-tramp.el (eshell/su, eshell/sudo): Don't copy the
original arguments, since 'eshell-eval-using-options' does this for
us.
* test/lisp/eshell/esh-opt-tests.el (esh-opt-process-args-test):
Split this test into...
(esh-opt-test/process-args)
(esh-opt-test/process-args-parse-leading-options-only)
(esh-opt-test/process-args-external): ... these.
(test-eshell-eval-using-options): Split this test into...
(esh-opt-test/eval-using-options-short)
(esh-opt-test/eval-using-options-long)
(esh-opt-test/eval-using-options-constant)
(esh-opt-test/eval-using-options-user-specified)
(esh-opt-test/eval-using-options-short-single-token)
(esh-opt-test/eval-using-options-terminate-options)
(esh-opt-test/eval-using-options-parse-leading-options-only)
(esh-opt-test/eval-using-options-unrecognized): ... these.
(esh-opt-test/eval-using-options-external): New test.
* test/lisp/eshell/em-tramp-tests.el: New tests.
Diffstat (limited to 'src/sqlite.c')
0 files changed, 0 insertions, 0 deletions