mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-27 07:37:33 +00:00
Revert "Don't lose arguments to eshell aliases (Bug#27954)"
It broke the established argument handling methods provided by eshell aliases (Bug#28568). * doc/misc/eshell.texi (Aliases): Fix example, call out use of arguments in aliases. * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Ignore ARGS.
This commit is contained in:
parent
43fac3beae
commit
ba9139c501
@ -431,13 +431,20 @@ would in an Elisp program. Eshell provides a command version of
|
||||
|
||||
Aliases are commands that expand to a longer input line. For example,
|
||||
@command{ll} is a common alias for @code{ls -l}, and would be defined
|
||||
with the command invocation @samp{alias ll ls -l}; with this defined,
|
||||
with the command invocation @kbd{alias ll 'ls -l $*'}; with this defined,
|
||||
running @samp{ll foo} in Eshell will actually run @samp{ls -l foo}.
|
||||
Aliases defined (or deleted) by the @command{alias} command are
|
||||
automatically written to the file named by @code{eshell-aliases-file},
|
||||
which you can also edit directly (although you will have to manually
|
||||
reload it).
|
||||
|
||||
Note that unlike aliases in Bash, arguments must be handled
|
||||
explicitly. Typically the alias definition would end in @samp{$*} to
|
||||
pass all arguments along. More selective use of arguments via
|
||||
@samp{$1}, @samp{$2}, etc., is also possible. For example,
|
||||
@kbd{alias mcd 'mkdir $1 && cd $1'} would cause @kbd{mcd foo} to
|
||||
create and switch to a directory called @samp{foo}.
|
||||
|
||||
@node History
|
||||
@section History
|
||||
@cmindex history
|
||||
|
@ -214,8 +214,8 @@ file named by `eshell-aliases-file'.")
|
||||
|
||||
(defvar eshell-prevent-alias-expansion nil)
|
||||
|
||||
(defun eshell-maybe-replace-by-alias (command args)
|
||||
"If COMMAND has an alias definition, call that instead using ARGS."
|
||||
(defun eshell-maybe-replace-by-alias (command _args)
|
||||
"Call COMMAND's alias definition, if it exists."
|
||||
(unless (and eshell-prevent-alias-expansion
|
||||
(member command eshell-prevent-alias-expansion))
|
||||
(let ((alias (eshell-lookup-alias command)))
|
||||
@ -225,7 +225,7 @@ file named by `eshell-aliases-file'.")
|
||||
(eshell-command-arguments ',eshell-last-arguments)
|
||||
(eshell-prevent-alias-expansion
|
||||
',(cons command eshell-prevent-alias-expansion)))
|
||||
,(eshell-parse-command (nth 1 alias) args)))))))
|
||||
,(eshell-parse-command (nth 1 alias))))))))
|
||||
|
||||
(defun eshell-alias-completions (name)
|
||||
"Find all possible completions for NAME.
|
||||
|
Loading…
Reference in New Issue
Block a user