From 54e5b3e00162f459d5095f75a2ce2fb614f1df88 Mon Sep 17 00:00:00 2001 From: ferrieux Date: Wed, 31 Aug 2011 18:26:18 +0000 Subject: Use better 'isalnum' predicate ; add test case. --- generic/tclStrToD.c | 2 +- tests/expr.test | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/generic/tclStrToD.c b/generic/tclStrToD.c index f98f8c3..1892d70 100755 --- a/generic/tclStrToD.c +++ b/generic/tclStrToD.c @@ -1121,7 +1121,7 @@ TclParseNumber( while(0) { checktrail: - if ((c>='0')&&(c<='9')||(c>='A')&&(c<='Z')||(c>='a')&&(c<='z')||(c=='_')) { + if (isalnum(UCHAR(c))||(c=='_')) { /* bareword prefixed by Nan, Inf, etc. */ acceptState = INITIAL; } diff --git a/tests/expr.test b/tests/expr.test index 6679569..81f9b1c 100644 --- a/tests/expr.test +++ b/tests/expr.test @@ -907,6 +907,9 @@ test expr-22.9 {non-numeric floats: shared object equality and NaN} { set x NaN expr {$x == $x} } 0 +test expr-22.10 {bareword prefixed by a non-numeric} -body { + list [catch {expr {nancy}} msg] $msg +} -match glob -result {1 {invalid bareword "nancy"*}} # Tests for exponentiation handling test expr-23.1 {CompileExponentialExpr: just exponential expr} {expr 4**2} 16 -- cgit v0.12