mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-22 16:20:23 +02:00
users/24959/0002: Update aliases documentation for the addition of the ALIAS_FUNC_DEF option.
This commit is contained in:
parent
7f58463dd3
commit
9575f2f1bf
2 changed files with 8 additions and 20 deletions
|
@ -1,5 +1,8 @@
|
|||
2020-06-27 Daniel Shahaf <d.s@daniel.shahaf.name>
|
||||
|
||||
* users/24959/0002: Doc/Zsh/grammar.yo: Update aliases
|
||||
documentation for the addition of the ALIAS_FUNC_DEF option.
|
||||
|
||||
* users/24959/0001: Doc/Zsh/builtins.yo, Doc/Zsh/grammar.yo:
|
||||
Extend documentation of global aliases.
|
||||
|
||||
|
|
|
@ -571,6 +571,11 @@ position (if it could be the first word of a simple command),
|
|||
or if the alias is global.
|
||||
If the replacement text ends with a space, the next word in the shell input
|
||||
is always eligible for purposes of alias expansion.
|
||||
|
||||
It is an error for the function name, var(word), in the sh-compatible function
|
||||
definition syntax `var(word) tt(+LPAR()+RPAR()) ...' to be a word that resulted
|
||||
from alias expansion, unless the tt(ALIAS_FUNC_DEF) option is set.
|
||||
|
||||
findex(alias, use of)
|
||||
cindex(aliases, global)
|
||||
An alias is defined using the tt(alias) builtin; global aliases
|
||||
|
@ -656,26 +661,6 @@ a problem in shell scripts, functions, and code executed with `tt(source)'
|
|||
or `tt(.)'. Consequently, use of functions rather than aliases is
|
||||
recommended in non-interactive code.
|
||||
|
||||
Note also the unhelpful interaction of aliases and function definitions:
|
||||
|
||||
example(alias func='noglob func'
|
||||
func+LPAR()RPAR() {
|
||||
echo Do something with $*
|
||||
})
|
||||
|
||||
Because aliases are expanded in function definitions, this causes the
|
||||
following command to be executed:
|
||||
|
||||
example(noglob func+LPAR()RPAR() {
|
||||
echo Do something with $*
|
||||
})
|
||||
|
||||
which defines tt(noglob) as well as tt(func) as functions with the
|
||||
body given. To avoid this, either quote the name tt(func) or use the
|
||||
alternative function definition form `tt(function func)'. Ensuring the
|
||||
alias is defined after the function works but is problematic if the
|
||||
code fragment might be re-executed.
|
||||
|
||||
texinode(Quoting)()(Aliasing)(Shell Grammar)
|
||||
sect(Quoting)
|
||||
cindex(quoting)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue