summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--generic/tclProc.c6
2 files changed, 7 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index a0f65ac..2d2512d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,8 +2,10 @@
* generic/tclCompile.c: moved TclInitCompiledLocals to tclProc.c
* generic/tclProc.c: new static InitCompiledLocals to allow for a
- single pass over the proc's arguments at procload time (instead of
- two, asdone previously)
+ single pass over the proc's arguments at proc load time (instead of
+ two as previously). TclObjInterpProc() now allocates the
+ compiledLocals on the tcl execution stack, using the new
+ TclStackAlloc/Free functions.
2004-12-16 Donal K. Fellows <donal.k.fellows@man.ac.uk>
diff --git a/generic/tclProc.c b/generic/tclProc.c
index c5a8dc7..89434b3 100644
--- a/generic/tclProc.c
+++ b/generic/tclProc.c
@@ -10,7 +10,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclProc.c,v 1.70 2004/12/20 18:27:19 msofer Exp $
+ * RCS: @(#) $Id: tclProc.c,v 1.71 2004/12/20 21:20:06 msofer Exp $
*/
#include "tclInt.h"
@@ -1228,13 +1228,13 @@ TclObjInterpProc(clientData, interp, objc, objv)
Tcl_IncrRefCount(objPtr); /* local var is a reference */
} else {
Tcl_Obj **desiredObjs, *argObj;
- ByteCode *codePtr = (ByteCode *) procPtr->bodyPtr->internalRep.otherValuePtr;
+ ByteCode *codePtr;
incorrectArgs:
/*
* Do initialise all compiled locals, to avoid problems at
* DeleteLocalVars.
*/
-
+ codePtr = (ByteCode *) procPtr->bodyPtr->internalRep.otherValuePtr;
InitCompiledLocals(interp, codePtr, localPtr, varPtr, nsPtr);
/*