summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2009-10-28 21:03:19 (GMT)
committerdgp <dgp@users.sourceforge.net>2009-10-28 21:03:19 (GMT)
commit78dd3b3955f6c2f710b83b1cbdde2aa96be2aecb (patch)
treeb6f1fa450bcbc018d7fef70d8035765fd66e7d04
parent1968b054ce6cb77985b7fabcad41ec530209fad5 (diff)
downloadtcl-78dd3b3955f6c2f710b83b1cbdde2aa96be2aecb.zip
tcl-78dd3b3955f6c2f710b83b1cbdde2aa96be2aecb.tar.gz
tcl-78dd3b3955f6c2f710b83b1cbdde2aa96be2aecb.tar.bz2
* generic/tclLiteral.c: Fixed 2 bugs reported in [Bug 2888044].
* tests/info.test: First, as noted in the comments of the TclCleanupLiteralTable routine, since the teardown of the intrep of one Tcl_Obj can cause the teardown of others in the same table, the full table cleanup must be done with care, but the code did not contain the same care demanded in the comment. Second, recent additions to the info.test file had poor hygiene, leaving an array variable ::a lying around, which breaks later interp.test tests during a -singleproc 1 run of the test suite.
-rw-r--r--ChangeLog12
-rw-r--r--generic/tclLiteral.c3
-rw-r--r--tests/info.test3
3 files changed, 16 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index cabe9f4..e548e4a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2009-10-28 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclLiteral.c: Fixed 2 bugs reported in [Bug 2888044].
+ * tests/info.test: First, as noted in the comments of the
+ TclCleanupLiteralTable routine, since the teardown of the intrep
+ of one Tcl_Obj can cause the teardown of others in the same table,
+ the full table cleanup must be done with care, but the code did not
+ contain the same care demanded in the comment. Second, recent
+ additions to the info.test file had poor hygiene, leaving an array
+ variable ::a lying around, which breaks later interp.test tests during
+ a -singleproc 1 run of the test suite.
+
2009-10-28 Kevin B. Kenny <kennykb@acm.org>
* tests/fileName.test (fileName-20.[78]): Corrected poor test
diff --git a/generic/tclLiteral.c b/generic/tclLiteral.c
index 5d4974a..10a18f8 100644
--- a/generic/tclLiteral.c
+++ b/generic/tclLiteral.c
@@ -13,7 +13,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclLiteral.c,v 1.36 2009/07/22 12:00:42 nijtmans Exp $
+ * RCS: @(#) $Id: tclLiteral.c,v 1.37 2009/10/28 21:03:19 dgp Exp $
*/
#include "tclInt.h"
@@ -136,6 +136,7 @@ TclCleanupLiteralTable(
objPtr->typePtr = NULL;
typePtr->freeIntRepProc(objPtr);
didOne = 1;
+ break;
} else {
entryPtr = nextPtr;
}
diff --git a/tests/info.test b/tests/info.test
index 24c966a..f983a0c 100644
--- a/tests/info.test
+++ b/tests/info.test
@@ -13,7 +13,7 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: info.test,v 1.67 2009/09/07 19:59:59 dgp Exp $
+# RCS: @(#) $Id: info.test,v 1.68 2009/10/28 21:03:19 dgp Exp $
if {[lsearch [namespace children] ::tcltest] == -1} {
package require tcltest 2
@@ -1822,6 +1822,7 @@ test info-30.47 {TIP 280 for compiled [subst]} {
subst {$a(
[dict get [info frame 0] line])} ; # 1823
} YES
+unset -nocomplain a
test info-30.48 {Bug 2850901} testevalex {
testevalex {return -level 0 [format %s {}