about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBart Schaefer <schaefer@zsh.org>2023-09-23 09:30:55 -0500
committerBart Schaefer <schaefer@zsh.org>2023-09-23 09:30:55 -0500
commite4e9afe373479076ee448b16944a421836ba5a40 (patch)
tree9847ccae3d549009e2d2249cc6cf9beb467a5c54
parentb35799269750de2801f8bf292f4374c2fa0f7a09 (diff)
downloadzsh-e4e9afe373479076ee448b16944a421836ba5a40.tar.gz
zsh-e4e9afe373479076ee448b16944a421836ba5a40.tar.xz
zsh-e4e9afe373479076ee448b16944a421836ba5a40.zip
52180: clarify array behavior of ${|var|...} and REPLY
-rw-r--r--ChangeLog5
-rw-r--r--Doc/Zsh/expn.yo5
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index e4965b804..0f3c9402d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2023-09-23  Bart Schaefer  <schaefer@BartMAC2014.local>
+
+	* 52180: Doc/Zsh/expn.yo: clarify array behavior of ${|var|...}
+	and the REPLY parameter
+
 2023-09-22  Bart Schaefer  <schaefer@zsh.org>
 
 	* 52176: Src/subst.c: metafy return from ${ ... } substitution
diff --git a/Doc/Zsh/expn.yo b/Doc/Zsh/expn.yo
index 86a5f70c8..837a85db6 100644
--- a/Doc/Zsh/expn.yo
+++ b/Doc/Zsh/expn.yo
@@ -1915,8 +1915,9 @@ 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)
 except as noted for tt(REPLY), and var(param) should em(not) be declared
-within the command.  If var(param) names an array, array expansion rules
-apply.
+within the command.  If, after evaluating the expression, var(param)
+names an array, array expansion rules apply.  However, tt(REPLY) is
+always expanded in scalar context, even if assigned an array.
 
 A command enclosed in braces preceded by a dollar sign, and set off from
 the braces by whitespace, like `tt(${ )...tt( })', is replaced by its