diff options
| author | Bart Schaefer <barts@users.sourceforge.net> | 2002-10-06 18:38:14 +0000 |
|---|---|---|
| committer | Bart Schaefer <barts@users.sourceforge.net> | 2002-10-06 18:38:14 +0000 |
| commit | d4c7657014ea9bdeedb214b36ff3d7ce6e8af2e4 (patch) | |
| tree | 4c04ddce5d306618cd86c8a5dc5d26671f5620af | |
| parent | 17714: Fix to 17357, add module dependencies even if not adding autoloads. (diff) | |
| download | zsh-d4c7657014ea9bdeedb214b36ff3d7ce6e8af2e4.tar zsh-d4c7657014ea9bdeedb214b36ff3d7ce6e8af2e4.tar.gz zsh-d4c7657014ea9bdeedb214b36ff3d7ce6e8af2e4.tar.bz2 zsh-d4c7657014ea9bdeedb214b36ff3d7ce6e8af2e4.tar.lz zsh-d4c7657014ea9bdeedb214b36ff3d7ce6e8af2e4.tar.xz zsh-d4c7657014ea9bdeedb214b36ff3d7ce6e8af2e4.tar.zst zsh-d4c7657014ea9bdeedb214b36ff3d7ce6e8af2e4.zip | |
17760: Fix case-pattern parsing bug in sh emulation.
| -rw-r--r-- | Src/lex.c | 8 | ||||
| -rw-r--r-- | Src/parse.c | 2 |
2 files changed, 8 insertions, 2 deletions
@@ -993,8 +993,12 @@ gettokstr(int c, int sub) c = Outbrack; break; case LX2_INPAR: - if ((sub || in_brace_param) && isset(SHGLOB)) - break; + if (isset(SHGLOB)) { + if (sub || in_brace_param) + break; + if (incasepat && !len) + return INPAR; + } if (!in_brace_param) { if (!sub) { e = hgetc(); diff --git a/Src/parse.c b/Src/parse.c index b53b36a0e..a6c4cd10b 100644 --- a/Src/parse.c +++ b/Src/parse.c @@ -1042,6 +1042,8 @@ par_case(int *complex) yylex(); if (tok == OUTBRACE) break; + if (tok == INPAR) + yylex(); if (tok != STRING) YYERRORV(oecused); if (!strcmp(tokstr, "esac")) |
