From 660df206c1048fe9f63e3bf4178f2f1d79ae7401 Mon Sep 17 00:00:00 2001 From: Daniel Shahaf Date: Thu, 19 Oct 2017 18:10:29 +0000 Subject: 41939: docs: Move aliases corner case to the dangerous bends section. (after 41482) --- Doc/Zsh/grammar.yo | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'Doc/Zsh/grammar.yo') diff --git a/Doc/Zsh/grammar.yo b/Doc/Zsh/grammar.yo index bd7727298..f9600424e 100644 --- a/Doc/Zsh/grammar.yo +++ b/Doc/Zsh/grammar.yo @@ -573,9 +573,7 @@ except history expansion. Therefore, if an alias is defined for the word tt(foo), alias expansion may be avoided by quoting part of the word, e.g. tt(\foo). Any form of quoting works, although there is nothing to prevent an alias being defined for the quoted form such as -tt(\foo) as well. Also, if a separator such as tt(&&) is aliased, -tt(\&&) turns into the two tokens tt(\&) and tt(&), each of which may -have been aliased separately. Similarly for tt(\<<), tt(\>|), etc. +tt(\foo) as well. When tt(POSIX_ALIASES) is set, only plain unquoted strings are eligible for aliasing. The tt(alias) builtin does not reject ineligible aliases, @@ -610,6 +608,9 @@ It is not presently possible to alias the `tt(LPAR()LPAR())' token that introduces arithmetic expressions, because until a full statement has been parsed, it cannot be distinguished from two consecutive `tt(LPAR())' tokens introducing nested subshells. +Also, if a separator such as tt(&&) is aliased, +tt(\&&) turns into the two tokens tt(\&) and tt(&), each of which may +have been aliased separately. Similarly for tt(\<<), tt(\>|), etc. There is a commonly encountered problem with aliases illustrated by the following code: -- cgit 1.4.1