Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: SH_FILE_EXPANSION broken with process substitution



> On 24 June 2020 at 11:28 Peter Stephenson <p.w.stephenson@xxxxxxxxxxxx> wrote:
> > On 23 June 2020 at 22:23 Oliver Kiddle <okiddle@xxxxxxxxxxx> wrote:
> > Following on from the gpg completion breakage, it seems this option has
> > been broken when used in combination with EQUALS.
> > 
> > This got broken in 35a8612 (workers/26042), released in 4.3.10:
> >   zsh -df --shfileexpansion -c ': =(echo hi)'

Same but with test...  D03 already tests that process substitution is
implemented, so it to be safe to test the result is fully functional.

pws

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



Messages sorted by: Reverse Date, Date, Thread, Author