diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2008-09-01 20:18:46 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2008-09-01 20:18:46 +0000 |
commit | 1f81bdcb47d42fc72340503eca46eb0a8b64c4ef (patch) | |
tree | 6407de32edf43bd93c648590c7abfe4ad2fa1324 /Src/parse.c | |
parent | 2c9138bc21145c9680d4d10eea6f5e15e73f479c (diff) | |
download | zsh-1f81bdcb47d42fc72340503eca46eb0a8b64c4ef.tar.gz zsh-1f81bdcb47d42fc72340503eca46eb0a8b64c4ef.tar.xz zsh-1f81bdcb47d42fc72340503eca46eb0a8b64c4ef.zip |
25587: fix a==(stuff) and associated stuff.
Diffstat (limited to 'Src/parse.c')
-rw-r--r-- | Src/parse.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Src/parse.c b/Src/parse.c index 295b4922f..0812f9137 100644 --- a/Src/parse.c +++ b/Src/parse.c @@ -1567,6 +1567,18 @@ par_simple(int *complex, int nr) str = p + 1; } else equalsplit(tokstr, &str); + for (p = str; *p; p++) { + /* + * We can't treat this as "simple" if it contains + * expansions that require process subsitution, since then + * we need process handling. + */ + if (p[1] == Inpar && + (*p == Equals || *p == Inang || *p == Outang)) { + *complex = 1; + break; + } + } ecstr(name); ecstr(str); isnull = 0; |