summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrjohnson <rjohnson>1998-10-14 21:12:09 (GMT)
committerrjohnson <rjohnson>1998-10-14 21:12:09 (GMT)
commitaf8a60c77323b0eeb26488d384430e2a95a17623 (patch)
treea0b3e9cad0d6e7ea49f0c24dfd8b5587d0e57887
parenta9c63f1a5538497bd1f1bac4aa1ba50129427aea (diff)
downloadtcl-af8a60c77323b0eeb26488d384430e2a95a17623.zip
tcl-af8a60c77323b0eeb26488d384430e2a95a17623.tar.gz
tcl-af8a60c77323b0eeb26488d384430e2a95a17623.tar.bz2
Added fix to list processing in tclNotify that could cause events to be dropped.
Added test to intetp test suite.
-rw-r--r--generic/tclNotify.c10
-rw-r--r--tests/interp.test10
2 files changed, 16 insertions, 4 deletions
diff --git a/generic/tclNotify.c b/generic/tclNotify.c
index 23e52f7..13c5a13 100644
--- a/generic/tclNotify.c
+++ b/generic/tclNotify.c
@@ -8,11 +8,12 @@
* tcl*Notify.c files in each platform directory.
*
* Copyright (c) 1995-1997 Sun Microsystems, Inc.
+ * Copyright (c) 1998 by Scriptics Corporation.
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclNotify.c,v 1.2 1998/09/14 18:40:01 stanton Exp $
+ * RCS: @(#) $Id: tclNotify.c,v 1.3 1998/10/14 21:12:09 rjohnson Exp $
*/
#include "tclInt.h"
@@ -341,9 +342,12 @@ Tcl_DeleteEvents(proc, clientData)
if ((*proc) (evPtr, clientData) == 1) {
if (notifier.firstEventPtr == evPtr) {
notifier.firstEventPtr = evPtr->nextPtr;
- if (evPtr->nextPtr == (Tcl_Event *) NULL) {
- notifier.lastEventPtr = (Tcl_Event *) NULL;
+ if (evPtr->nextPtr == NULL) {
+ notifier.lastEventPtr = prevPtr;
}
+ if (notifier.markerEventPtr == evPtr) {
+ notifier.markerEventPtr = prevPtr;
+ }
} else {
prevPtr->nextPtr = evPtr->nextPtr;
}
diff --git a/tests/interp.test b/tests/interp.test
index a4086a2..715154c 100644
--- a/tests/interp.test
+++ b/tests/interp.test
@@ -5,11 +5,12 @@
# generates output for errors. No output means no errors were found.
#
# Copyright (c) 1995-1996 Sun Microsystems, Inc.
+# Copyright (c) 1998 by Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: interp.test,v 1.3 1998/09/14 18:40:10 stanton Exp $
+# RCS: @(#) $Id: interp.test,v 1.4 1998/10/14 21:12:09 rjohnson Exp $
if {[string compare test [info procs test]] == 1} then {source defs}
@@ -2250,8 +2251,15 @@ test interp-29.2 {recursion limit inheritance} {
#test interp-29.1 {interp and stack (info level)} {
#} {}
+# End of stack-recursion tests
}
+# This test dumps core in Tcl 8.0.3!
+#test interp-30.1 {deletion of aliases inside namespaces} {
+# set i [interp create]
+# $i alias ns::cmd list
+# $i alias ns::cmd {}
+#} {}
foreach i [interp slaves] {
interp delete $i