diff options
author | Peter Stephenson <p.w.stephenson@ntlworld.com> | 2017-09-10 18:01:39 +0100 |
---|---|---|
committer | Peter Stephenson <p.w.stephenson@ntlworld.com> | 2017-09-10 18:01:39 +0100 |
commit | e44600d9aac905aea08050c7387d6effd52c8539 (patch) | |
tree | d1f9ff704a01a16941bd42d483996214d082d7ee | |
parent | 6401caa1836fcd0c0325423eb5a8eedb6c7400cd (diff) | |
download | zsh-e44600d9aac905aea08050c7387d6effd52c8539.tar.gz zsh-e44600d9aac905aea08050c7387d6effd52c8539.tar.xz zsh-e44600d9aac905aea08050c7387d6effd52c8539.zip |
41661: Need to remove tokens before using bufferwords() for (z)
-rw-r--r-- | Src/subst.c | 8 | ||||
-rw-r--r-- | Test/D04parameter.ztst | 7 |
2 files changed, 13 insertions, 2 deletions
diff --git a/Src/subst.c b/Src/subst.c index 5b1bf8988..5df2a8b2d 100644 --- a/Src/subst.c +++ b/Src/subst.c @@ -3747,11 +3747,15 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int pf_flags, if (isarr) { char **ap; - for (ap = aval; *ap; ap++) + for (ap = aval; *ap; ap++) { + untokenize(*ap); list = bufferwords(list, *ap, NULL, shsplit); + } isarr = 0; - } else + } else { + untokenize(val); list = bufferwords(NULL, val, NULL, shsplit); + } if (!list || !firstnode(list)) val = dupstring(""); diff --git a/Test/D04parameter.ztst b/Test/D04parameter.ztst index 3c93990f1..8dbc1e8b8 100644 --- a/Test/D04parameter.ztst +++ b/Test/D04parameter.ztst @@ -2200,3 +2200,10 @@ F:behavior, see http://austingroupbugs.net/view.php?id=888 >Option >Regular text >Option + + (setopt nonomatch + print ${(z):-foo-bar*thingy?} + ) +0:(z) splitting with remaining tokens +>foo-bar*thingy? + |