1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-01-19 11:31:26 +01:00

46079: Ignore double quotes in math expressions.

Treat as white space.

This is required for compatibility and previously had no use in zsh
as it generated an error.
This commit is contained in:
Peter Stephenson 2020-06-22 12:06:43 +01:00
parent ae0129b49f
commit af1c009c3e
3 changed files with 15 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2020-06-22 Peter Stephenson <p.stephenson@samsung.com>
* 46079: Src/math.c, Test/C01arith.ztst: Ignore double quotes in
math expression: treat as white space.
2020-06-22 Manuel Jacob <me@manueljacob.de>
* 46091: Doc/Zsh/contrib.yo,

View file

@ -831,6 +831,8 @@ zzlex(void)
case ' ': /* Fall through! */
case '\t':
case '\n':
case '"': /* POSIX says ignore these */
case Dnull:
break;
default:
if (idigit(*--ptr) || *ptr == '.')

View file

@ -180,9 +180,10 @@
1:bases beyond 36 don't work
?(eval):1: invalid base (must be 2 to 36 inclusive): 37
fail=39
print $(( 3 + "fail" ))
1:parse failure in arithmetic
?(eval):1: bad math expression: operand expected at `"fail" '
0:Double quotes are not treated specially in arithmetic
>42
alias 3=echo
print $(( 3 + "OK"); echo "Worked")
@ -487,3 +488,8 @@
let noexist==0 )
1:Arithmetic, NO_UNSET part 3
?(eval):2: noexist: parameter not set
print $(( "6+2" / "1+3" ))
0:Double quotes are not treated specially in arithmetic (POSIX)
# and do not do grouping! this is 6 + (2/1) + 3
>11