summaryrefslogtreecommitdiffstats
path: root/generic/tclProc.c
diff options
context:
space:
mode:
authorMiguel Sofer <miguel.sofer@gmail.com>2008-07-21 03:43:26 (GMT)
committerMiguel Sofer <miguel.sofer@gmail.com>2008-07-21 03:43:26 (GMT)
commit456ffc75f24234b21ad5de58e70e33366df2563c (patch)
tree5143da8d1a32265e2d66e5305ac3a4f2e99fe30e /generic/tclProc.c
parent2083b945305b771d513727a999ee374dd051f321 (diff)
downloadtcl-456ffc75f24234b21ad5de58e70e33366df2563c.zip
tcl-456ffc75f24234b21ad5de58e70e33366df2563c.tar.gz
tcl-456ffc75f24234b21ad5de58e70e33366df2563c.tar.bz2
* generic/tclBasic.c: NRE: enabled calling NR commands
* generic/tclExecute.c: from the callbacks. Completely * generic/tclInt.h: redone tailcall implementation * generic/tclNRE.h: using the new feature. * generic/tclProc.c: * tests/NRE.test:
Diffstat (limited to 'generic/tclProc.c')
-rw-r--r--generic/tclProc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/generic/tclProc.c b/generic/tclProc.c
index 187c789..713ee18 100644
--- a/generic/tclProc.c
+++ b/generic/tclProc.c
@@ -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: tclProc.c,v 1.149 2008/07/19 22:50:41 nijtmans Exp $
+ * RCS: @(#) $Id: tclProc.c,v 1.150 2008/07/21 03:43:32 msofer Exp $
*/
#include "tclInt.h"
@@ -1737,6 +1737,10 @@ TclObjInterpProcCore(
if (result == TCL_OK) {
result = TclExecuteByteCode(interp, record.data.codePtr);
result = TclEvalObjv_NR2(interp, result, rootPtr);
+ if (TOP_RECORD(iPtr) != rootPtr) {
+ /* FIXME NRE & tailcalls */
+ Tcl_Panic("TclObjInterpProcCore not yet prepared to deal with evals in callbacks!");
+ }
result = InterpProcNR2(record.callbackPtr->data, interp, result);
TclSmallFree(record.callbackPtr);
}