diff options
author | Peter Stephenson <p.w.stephenson@ntlworld.com> | 2017-01-10 19:14:26 +0000 |
---|---|---|
committer | Peter Stephenson <p.w.stephenson@ntlworld.com> | 2017-01-10 19:14:26 +0000 |
commit | bb218704d27bcca9aa4426296dcd5c13d58b330a (patch) | |
tree | a9644ce52924e524a0e443869585f5286f7261a7 /Doc/Zsh/options.yo | |
parent | b088b67a54872a33ea78ef25ee312c8f31e88c71 (diff) | |
download | zsh-bb218704d27bcca9aa4426296dcd5c13d58b330a.tar.gz zsh-bb218704d27bcca9aa4426296dcd5c13d58b330a.tar.xz zsh-bb218704d27bcca9aa4426296dcd5c13d58b330a.zip |
40306 with doc tweaks: Change behaviour expanding alias in () function definition.
Now an error unless the () is part of the same error as the name. Add ALIAS_FUNC_DEF option to allow it again.
Diffstat (limited to 'Doc/Zsh/options.yo')
-rw-r--r-- | Doc/Zsh/options.yo | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Doc/Zsh/options.yo b/Doc/Zsh/options.yo index f68a945ec..434b71094 100644 --- a/Doc/Zsh/options.yo +++ b/Doc/Zsh/options.yo @@ -1539,6 +1539,36 @@ enditem() subsect(Scripts and Functions) startitem() +pindex(ALIAS_FUNC_DEF) +pindex(NO_ALIAS_FUNC_DEF) +pindex(ALIASFUNCDEF) +pindex(NOALIASFUNCDEF) +cindex(functions, defining with expanded aliases) +cindex(aliases, expanding in function definition) +item(tt(ALIAS_FUNC_DEF) <S>)( +By default, zsh does not allow the definition of functions using +the `var(name) tt(LPAR()RPAR())' syntax if var(name) was expanded as an +alias: this causes an error. This is usually the desired behaviour, as +otherwise the combination of an alias and a function based on the same +definition can easily cause problems. + +When this option is set, aliases can be used for defining functions. + +For example, consider the following definitions as they might +occur in a startup file. + +example(alias foo=bar +foo+LPAR()RPAR() { + print This probably does not do what you expect. +}) + +Here, tt(foo) is expanded as an alias to tt(bar) before the +tt(LPAR()RPAR()) is encountered, so the function defined would be named +tt(bar). By default this is instead an error in native mode. Note that +quoting any part of the function name, or using the keyword +tt(function), avoids the problem, so is recommended when the function +name can also be an alias. +) pindex(C_BASES) pindex(NO_C_BASES) pindex(CBASES) |