diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 1999-04-15 18:21:49 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 1999-04-15 18:21:49 +0000 |
commit | 640a840d2e94f0fc245ef8632050c37af23c6b94 (patch) | |
tree | bc0835572657666fe6d27cb73ea8a716e683925a /Src/parse.c | |
parent | 04a89199d02a3ee6c4b3d89a6c782bdb0a4f1bc8 (diff) | |
download | zsh-640a840d2e94f0fc245ef8632050c37af23c6b94.tar.gz zsh-640a840d2e94f0fc245ef8632050c37af23c6b94.tar.xz zsh-640a840d2e94f0fc245ef8632050c37af23c6b94.zip |
zsh-3.1.5-pws-13 zsh-3.1.5-pws-13
Diffstat (limited to 'Src/parse.c')
-rw-r--r-- | Src/parse.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Src/parse.c b/Src/parse.c index eb8398b1a..043aa0f0d 100644 --- a/Src/parse.c +++ b/Src/parse.c @@ -955,9 +955,17 @@ par_simple(Cmd c) nocorrect = 1; else if (tok == ENVSTRING) { struct varasg *v = (struct varasg *)make_varnode(); + char *p; v->type = PM_SCALAR; - equalsplit(v->name = tokstr, &v->str); + v->name = tokstr; + for (p = tokstr; *p && *p != Inbrack && *p != '='; p++); + if (*p == Inbrack && !skipparens(Inbrack, Outbrack, &p) && + *p == '=') { + *p = '\0'; + v->str = p + 1; + } else + equalsplit(tokstr, &v->str); addlinknode(c->vars, v); isnull = 0; } else if (tok == ENVARRAY) { |