diff options
author | msofer <msofer@noemail.net> | 2008-08-21 21:01:16 (GMT) |
---|---|---|
committer | msofer <msofer@noemail.net> | 2008-08-21 21:01:16 (GMT) |
commit | 3b485f30105c134b2022322954205f826a9926e5 (patch) | |
tree | 2b215719a85e8c5af53cf2ee862bff6fdbf60993 /generic/tclCmdIL.c | |
parent | f6cf1e6042771af5597f84938a8edc913409c324 (diff) | |
download | tcl-3b485f30105c134b2022322954205f826a9926e5.zip tcl-3b485f30105c134b2022322954205f826a9926e5.tar.gz tcl-3b485f30105c134b2022322954205f826a9926e5.tar.bz2 |
* generic/tclBasic.c: Fix the cmdFrame level count in
* generic/tclCmdIL.c: coroutines. Fix small bug on coroutine
* generic/tclInt.h: rewind.
FossilOrigin-Name: dc107da7f4ad8efd49b5bff8bc801cb3a75de890
Diffstat (limited to 'generic/tclCmdIL.c')
-rw-r--r-- | generic/tclCmdIL.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/generic/tclCmdIL.c b/generic/tclCmdIL.c index fb8d54e..7e4973b 100644 --- a/generic/tclCmdIL.c +++ b/generic/tclCmdIL.c @@ -16,7 +16,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclCmdIL.c,v 1.148 2008/08/14 02:09:46 das Exp $ + * RCS: @(#) $Id: tclCmdIL.c,v 1.149 2008/08/21 21:01:25 msofer Exp $ */ #include "tclInt.h" @@ -1045,7 +1045,17 @@ InfoFrameCmd( Interp *iPtr = (Interp *) interp; int level; CmdFrame *framePtr; + int absoluteLevel = iPtr->cmdFramePtr->level; + if (iPtr->execEnvPtr->corPtr) { + /* + * We are running within a coroutine, the levels are relative to the + * coroutine's initial frame: do the correction here. + */ + + absoluteLevel += iPtr->execEnvPtr->corPtr->levelOffset; + } + if (objc == 1) { /* * Just "info frame". |