mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-01-01 05:16:05 +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
|
* Paulo Andrade: 40260: Src/prompt.c: Set newly allocated
|
||||||
space in prompt buffer to zero as it may be tested.
|
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>
|
2016-12-30 Barton E. Schaefer <schaefer@zsh.org>
|
||||||
|
|
||||||
* 40248: Src/hist.c: suppress errors from zshaddhistoryhook,
|
* 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)
|
if (sval)
|
||||||
zip = hmkarray(sval);
|
zip = hmkarray(sval);
|
||||||
}
|
}
|
||||||
if (!isarr) aval = mkarray(val);
|
if (!isarr) {
|
||||||
|
aval = mkarray(val);
|
||||||
|
isarr = 1;
|
||||||
|
}
|
||||||
if (zip) {
|
if (zip) {
|
||||||
char **out;
|
char **out;
|
||||||
int alen, ziplen, outlen, i = 0;
|
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;
|
out[i*2] = NULL;
|
||||||
aval = out;
|
aval = out;
|
||||||
copied = 1;
|
copied = 1;
|
||||||
isarr = 1;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (unset(UNSET)) {
|
if (unset(UNSET)) {
|
||||||
|
|
Loading…
Reference in a new issue