diff options
author | Mikael Magnusson <mikachu@gmail.com> | 2015-06-02 15:33:07 +0200 |
---|---|---|
committer | Mikael Magnusson <mikachu@gmail.com> | 2015-06-02 16:09:35 +0200 |
commit | 4dc4e23376888697234e00e0c34184bb308886e1 (patch) | |
tree | fb76f3b2992e2342b9b05148df7c1056d59743c8 | |
parent | 6b4d6eaa9b040a05ad9796d20cda0b797209a443 (diff) | |
download | zsh-4dc4e23376888697234e00e0c34184bb308886e1.tar.gz zsh-4dc4e23376888697234e00e0c34184bb308886e1.tar.xz zsh-4dc4e23376888697234e00e0c34184bb308886e1.zip |
GLOB_ASSIGN should only affect scalar assignments
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Src/exec.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 1767c78ce..acb367b83 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-06-02 Mikael Magnusson <mikachu@gmail.com> + + * 35365: Src/exec.c: GLOB_ASSIGN should only affect scalar + assignments, this regressed in 33816. + 2015-06-02 Peter Stephenson <p.stephenson@samsung.com> * users/20243: Completion/compinit: turn off GLOB_ASSIGN in diff --git a/Src/exec.c b/Src/exec.c index 9f163a627..daed3b111 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -2264,14 +2264,14 @@ addvars(Estate state, Wordcode pc, int addflags) state->pc = opc; return; } - if (!isstr || (isset(GLOBASSIGN) && + if (!isstr || (isset(GLOBASSIGN) && isstr && haswilds((char *)getdata(firstnode(vl))))) { globlist(vl, 0); /* Unset the parameter to force it to be recreated * as either scalar or array depending on how many * matches were found for the glob. */ - if (isset(GLOBASSIGN)) + if (isset(GLOBASSIGN) && isstr) unsetparam(name); } if (errflag) { |