mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-12-29 16:25:35 +01:00
users/22319: ${ary1:^ary2} should not change isarr state of expansion of ary1
Unless ary1 is made from a scalar, semantics of (@) in double quotes is lost.
This commit is contained in:
parent
d0f7a3b2d6
commit
c4dba4f2e6
2 changed files with 10 additions and 2 deletions
|
@ -7,6 +7,12 @@
|
|||
* Paulo Andrade: 40260: Src/prompt.c: Set newly allocated
|
||||
space in prompt buffer to zero as it may be tested.
|
||||
|
||||
2017-01-01 Barton E. Schaefer <schaefer@zsh.org>
|
||||
|
||||
* users/22319: Src/subst.c: ${ary1:^ary2} should not change
|
||||
the isarr state of the expansion of ary1 unless ary1 is made
|
||||
from a scalar, lest semantics of (@) in double quotes be lost.
|
||||
|
||||
2016-12-30 Barton E. Schaefer <schaefer@zsh.org>
|
||||
|
||||
* 40248: Src/hist.c: suppress errors from zshaddhistoryhook,
|
||||
|
|
|
@ -3066,7 +3066,10 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int pf_flags,
|
|||
if (sval)
|
||||
zip = hmkarray(sval);
|
||||
}
|
||||
if (!isarr) aval = mkarray(val);
|
||||
if (!isarr) {
|
||||
aval = mkarray(val);
|
||||
isarr = 1;
|
||||
}
|
||||
if (zip) {
|
||||
char **out;
|
||||
int alen, ziplen, outlen, i = 0;
|
||||
|
@ -3089,7 +3092,6 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int pf_flags,
|
|||
out[i*2] = NULL;
|
||||
aval = out;
|
||||
copied = 1;
|
||||
isarr = 1;
|
||||
}
|
||||
} else {
|
||||
if (unset(UNSET)) {
|
||||
|
|
Loading…
Reference in a new issue