Index: generic/tclExecute.c
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tclExecute.c,v
retrieving revision 1.19
diff -u -r1.19 tclExecute.c
--- generic/tclExecute.c	2001/03/02 15:31:15	1.19
+++ generic/tclExecute.c	2001/03/09 14:37:16
@@ -634,7 +634,7 @@
 	    valuePtr = POP_OBJECT();
 	    Tcl_SetObjResult(interp, valuePtr);
 	    TclDecrRefCount(valuePtr);
-	    if (stackTop != initStackTop) {
+	    if (stackTop < initStackTop) {
 		fprintf(stderr, "\nTclExecuteByteCode: done instruction at pc %u: stack top %d != entry stack top %d\n",
 			(unsigned int)(pc - codePtr->codeStart),
 			(unsigned int) stackTop,
@@ -3131,6 +3131,7 @@
      */
 
     abnormalReturn:
+    done:
     while (stackTop > initStackTop) {
 	valuePtr = POP_OBJECT();
 	Tcl_DecrRefCount(valuePtr);
@@ -3140,7 +3141,6 @@
      * Free the catch stack array if malloc'ed storage was used.
      */
 
-    done:
     if (catchStackPtr != catchStackStorage) {
 	ckfree((char *) catchStackPtr);
     }
