diff options
| author | Peter Stephenson <p.stephenson@samsung.com> | 2020-06-26 17:32:02 +0100 |
|---|---|---|
| committer | Peter Stephenson <p.stephenson@samsung.com> | 2020-06-26 17:32:02 +0100 |
| commit | 78654869942e94b77ba878a383c4e91d2978567c (patch) | |
| tree | 8e1184ad4a96b70021e3a5b74c5ffc07cecab429 | |
| parent | unposted c.f. 46034: workaround incompatibility with sh_file_expansion option (diff) | |
| download | zsh-78654869942e94b77ba878a383c4e91d2978567c.tar zsh-78654869942e94b77ba878a383c4e91d2978567c.tar.gz zsh-78654869942e94b77ba878a383c4e91d2978567c.tar.bz2 zsh-78654869942e94b77ba878a383c4e91d2978567c.tar.lz zsh-78654869942e94b77ba878a383c4e91d2978567c.tar.xz zsh-78654869942e94b77ba878a383c4e91d2978567c.tar.zst zsh-78654869942e94b77ba878a383c4e91d2978567c.zip | |
46100: Fix =subst before =(subst)
This occurs with SH file expansion ordering.
Add test.
| -rw-r--r-- | ChangeLog | 5 | ||||
| -rw-r--r-- | Src/subst.c | 2 | ||||
| -rw-r--r-- | Test/D03procsubst.ztst | 4 |
3 files changed, 10 insertions, 1 deletions
@@ -1,3 +1,8 @@ +2020-06-26 Peter Stephenson <p.stephenson@samsung.com> + + * 46110: Src/subst.c, Test/D03procsubst.ztst: If =subst occurs + before =(subst) we should allow for the possibility of the latter. + 2020-06-26 Oliver Kiddle <okiddle@yahoo.co.uk> * unposted c.f. 46034: Completion/Unix/Command/_gpg: workaround diff --git a/Src/subst.c b/Src/subst.c index 90b5fc121..ed3f4a82b 100644 --- a/Src/subst.c +++ b/Src/subst.c @@ -796,7 +796,7 @@ filesubstr(char **namptr, int assign) *namptr = dyncat(hom, ptr); return 1; } - } else if (*str == Equals && isset(EQUALS) && str[1]) { /* =foo */ + } else if (*str == Equals && isset(EQUALS) && str[1] && str[1] != Inpar) { /* =foo */ char *expn = equalsubstr(str+1, assign, isset(NOMATCH)); if (expn) { *namptr = expn; diff --git a/Test/D03procsubst.ztst b/Test/D03procsubst.ztst index 8cf4e2a7f..68a68ef6e 100644 --- a/Test/D03procsubst.ztst +++ b/Test/D03procsubst.ztst @@ -156,3 +156,7 @@ procfunc <(echo argument) 0:With /proc/self file descriptors must not be tidied up too early >argument + + $ZTST_testdir/../Src/zsh -df -o shfileexpansion -c 'cat =(echo hi)' +0:EQUALS expansion followed by =(...) (sh ordering) should work +>hi |
