diff options
| author | Peter Stephenson <pws@zsh.org> | 2017-03-07 10:43:58 +0000 |
|---|---|---|
| committer | Peter Stephenson <pws@zsh.org> | 2017-03-07 10:43:58 +0000 |
| commit | f3f8537cfa05414ad14494e809d9ebfeef86ebbc (patch) | |
| tree | cfb02314dd129609ef3d6fc85ce75fc63b8c9582 /Src/math.c | |
| parent | 40780: Don't use =~ for simple prefix match (diff) | |
| download | zsh-f3f8537cfa05414ad14494e809d9ebfeef86ebbc.tar zsh-f3f8537cfa05414ad14494e809d9ebfeef86ebbc.tar.gz zsh-f3f8537cfa05414ad14494e809d9ebfeef86ebbc.tar.bz2 zsh-f3f8537cfa05414ad14494e809d9ebfeef86ebbc.tar.lz zsh-f3f8537cfa05414ad14494e809d9ebfeef86ebbc.tar.xz zsh-f3f8537cfa05414ad14494e809d9ebfeef86ebbc.tar.zst zsh-f3f8537cfa05414ad14494e809d9ebfeef86ebbc.zip | |
40760: Always tokenize unquoted - to Dash.
This fixes use of pattern match character ranges in unusual contexts.
Attempt to detect a tokenized - in cases where we don't care.
Diffstat (limited to 'Src/math.c')
| -rw-r--r-- | Src/math.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Src/math.c b/Src/math.c index f19c0ed61..f9613001a 100644 --- a/Src/math.c +++ b/Src/math.c @@ -463,7 +463,7 @@ lexconstant(void) char *nptr; nptr = ptr; - if (*nptr == '-') + if (IS_DASH(*nptr)) nptr++; if (*nptr == '0') { @@ -527,7 +527,7 @@ lexconstant(void) } if (*nptr == 'e' || *nptr == 'E') { nptr++; - if (*nptr == '+' || *nptr == '-') + if (*nptr == '+' || IS_DASH(*nptr)) nptr++; while (idigit(*nptr) || *nptr == '_') nptr++; @@ -599,7 +599,8 @@ zzlex(void) } return (unary) ? UPLUS : PLUS; case '-': - if (*ptr == '-') { + case Dash: + if (IS_DASH(*ptr)) { ptr++; return (unary) ? PREMINUS : POSTMINUS; } |
