diff options
author | dgp <dgp@users.sourceforge.net> | 2005-04-22 16:29:57 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2005-04-22 16:29:57 (GMT) |
commit | e3d20a2783044861949b7a0230410548b1c59982 (patch) | |
tree | 3eafbed9214dc65b3107a5a8200d660379db2c50 | |
parent | 9925d5b2fcaa8ed663d1558fbf0b2227607f40e0 (diff) | |
download | tcl-e3d20a2783044861949b7a0230410548b1c59982.zip tcl-e3d20a2783044861949b7a0230410548b1c59982.tar.gz tcl-e3d20a2783044861949b7a0230410548b1c59982.tar.bz2 |
* generic/tclCmdMZ.c: Corrected intrep-dependence of
* tests/string.test: [string is boolean] [Bug 1187123]
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | generic/tclCmdMZ.c | 12 | ||||
-rw-r--r-- | tests/string.test | 11 |
3 files changed, 18 insertions, 10 deletions
@@ -1,3 +1,8 @@ +2005-04-22 Don Porter <dgp@users.sourceforge.net> + + * generic/tclCmdMZ.c: Corrected intrep-dependence of + * tests/string.test: [string is boolean] [Bug 1187123] + 2005-04-22 Daniel Steffen <das@users.sourceforge.net> * tests/unixInit.test (7.1): fixed failure when running tests diff --git a/generic/tclCmdMZ.c b/generic/tclCmdMZ.c index ce28e54..45a2bed 100644 --- a/generic/tclCmdMZ.c +++ b/generic/tclCmdMZ.c @@ -14,7 +14,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclCmdMZ.c,v 1.82.2.15 2005/03/18 16:33:42 dgp Exp $ + * RCS: @(#) $Id: tclCmdMZ.c,v 1.82.2.16 2005/04/22 16:30:02 dgp Exp $ */ #include "tclInt.h" @@ -1592,14 +1592,8 @@ Tcl_StringObjCmd(dummy, interp, objc, objv) case STR_IS_BOOL: case STR_IS_TRUE: case STR_IS_FALSE: - if (objPtr->typePtr == &tclBooleanType) { - if ((((enum isOptions) index == STR_IS_TRUE) && - objPtr->internalRep.longValue == 0) || - (((enum isOptions) index == STR_IS_FALSE) && - objPtr->internalRep.longValue != 0)) { - result = 0; - } - } else if ((Tcl_GetBoolean(NULL, string1, &i) + /* Optimizers, beware Bug 1187123 ! */ + if ((Tcl_GetBoolean(NULL, string1, &i) == TCL_ERROR) || (((enum isOptions) index == STR_IS_TRUE) && i == 0) || diff --git a/tests/string.test b/tests/string.test index a48df1c..71e94ec 100644 --- a/tests/string.test +++ b/tests/string.test @@ -12,7 +12,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: string.test,v 1.36.2.3 2004/08/30 18:15:25 dkf Exp $ +# RCS: @(#) $Id: string.test,v 1.36.2.4 2005/04/22 16:30:10 dgp Exp $ if {[lsearch [namespace children] ::tcltest] == -1} { package require tcltest @@ -23,6 +23,8 @@ if {[lsearch [namespace children] ::tcltest] == -1} { set ::tcltest::testConstraints(testobj) \ [expr {[info commands testobj] != {}}] +set ::tcltest::testConstraints(testindexobj) \ + [expr {[info commands testindexobj] != {}}] test string-1.1 {error conditions} { list [catch {string gorp a b} msg] $msg @@ -1340,6 +1342,13 @@ test string-22.13 {string wordstart, unicode} { string wordstart "\uc700\uc700 abc" 8 } 3 +test string-23.0 {string is boolean, Bug 1187123} testindexobj { + set x 5 + catch {testindexobj $x foo bar soom} + string is boolean $x +} 0 + + # cleanup ::tcltest::cleanupTests return |