Commit ba9139c5 authored by Noam Postavsky's avatar Noam Postavsky

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.
parent 43fac3be
......@@ -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.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment