Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
[PATCH] Document effect of non-forking substitution on "private" parameters
- X-seq: zsh-workers 52510
- From: Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
- To: Zsh hackers list <zsh-workers@xxxxxxx>
- Subject: [PATCH] Document effect of non-forking substitution on "private" parameters
- Date: Sun, 28 Jan 2024 18:16:40 -0800
- Archived-at: <https://zsh.org/workers/52510>
- List-id: <zsh-workers.zsh.org>
Also add some index entries.
diff --git a/Doc/Zsh/expn.yo b/Doc/Zsh/expn.yo
index e5506d469..2acfd08c9 100644
--- a/Doc/Zsh/expn.yo
+++ b/Doc/Zsh/expn.yo
@@ -1915,6 +1915,9 @@ from the final replacement in this case, and it is subject to filename
generation in the same way as `tt($LPAR())...tt(RPAR())' but is em(not)
split on tt(IFS) unless the tt(SH_WORD_SPLIT) option is set.
+cindex(substitution, command, current shell)
+cindex(substitution, command, non forking)
+cindex(substitution, nofork)
Substitutions of the form `tt(${|)var(param)tt(|)...tt(})' are similar,
except that the substitution is replaced by the value of the parameter
named by var(param). No implicit save or restore applies to var(param)
diff --git a/Doc/Zsh/mod_private.yo b/Doc/Zsh/mod_private.yo
index 184fa2be8..69a5f58be 100644
--- a/Doc/Zsh/mod_private.yo
+++ b/Doc/Zsh/mod_private.yo
@@ -84,6 +84,9 @@ created outside the local scope when it was not previously declared.)
itemiz(An exported private remains in the environment of inner scopes but
appears unset for the current shell in those scopes. Generally, exporting
private parameters should be avoided.)
+itemiz(Declaring a private parameter in a current shell command substitution
+such as `tt(${ )...tt( })' limits the parameter to the scope of the command
+substitution, just as if the parameter were declared in a function.)
enditemize()
Note that this differs from the static scope defined by compiled languages
Messages sorted by:
Reverse Date,
Date,
Thread,
Author