diff options
author | ferrieux <ferrieux@users.sourceforge.net> | 2011-08-31 18:26:18 (GMT) |
---|---|---|
committer | ferrieux <ferrieux@users.sourceforge.net> | 2011-08-31 18:26:18 (GMT) |
commit | 54e5b3e00162f459d5095f75a2ce2fb614f1df88 (patch) | |
tree | 16d2e88d2188ecfd24a881f77f5b4b05c933c260 | |
parent | 64c7a18b2572c509dc7b21b0c726a736515482e3 (diff) | |
download | tcl-bug_3401704.zip tcl-bug_3401704.tar.gz tcl-bug_3401704.tar.bz2 |
Use better 'isalnum' predicate ; add test case.bug_3401704
-rwxr-xr-x | generic/tclStrToD.c | 2 | ||||
-rw-r--r-- | tests/expr.test | 3 |
2 files changed, 4 insertions, 1 deletions
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 |