diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Src/math.c | 4 | ||||
-rw-r--r-- | Test/C01arith.ztst | 20 |
3 files changed, 27 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index d7a7ff24b..e1a410ccc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-05-13 Peter Stephenson <pws@pwstephenson.fsnet.co.uk> + + * 19941: Src/math.c, Test/C01arith.ztst: (( x, )) triggered + an internal bug instead of reporting an error. + 2004-05-13 Peter Stephenson <pws@csr.com> * 19936: Functions/Misc/zcalc: bad name for temporary history diff --git a/Src/math.c b/Src/math.c index a719ffea5..eb3a768ec 100644 --- a/Src/math.c +++ b/Src/math.c @@ -168,8 +168,8 @@ static int prec[TOKCOUNT] = 0, 16, 0 }; -#define TOPPREC 17 -#define ARGPREC (TOPPREC-1) +#define TOPPREC 18 +#define ARGPREC 16 static int type[TOKCOUNT] = { diff --git a/Test/C01arith.ztst b/Test/C01arith.ztst index d431daae0..bace31ea9 100644 --- a/Test/C01arith.ztst +++ b/Test/C01arith.ztst @@ -110,3 +110,23 @@ print $(( )) 0:empty math parse e.g. $(( )) acts like a zero >0 + + print $(( a = )) +1:empty assignment +?(eval):1: bad math expression: operand expected at `' + + print $(( 3, )) +1:empty right hand of comma +?(eval):1: bad math expression: operand expected at `' + + print $(( 3,,4 )) +1:empty middle of comma +?(eval):1: bad math expression: operand expected at `,4 ' + + print $(( (3 + 7, 4), 5 )) +0:commas and parentheses, part 1 +>5 + + print $(( 5, (3 + 7, 4) )) +0:commas and parentheses, part 1 +>4 |