diff options
author | dgp <dgp@users.sourceforge.net> | 2014-07-17 04:24:23 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2014-07-17 04:24:23 (GMT) |
commit | f6c6b8c696a065866d6d0a7e6b844cda57916322 (patch) | |
tree | e552376ea5d7e33936f845c257127b26092f819d | |
parent | c0f4026d88454c1460a3b0905cb41ee61a16ad1a (diff) | |
download | tcl-f6c6b8c696a065866d6d0a7e6b844cda57916322.zip tcl-f6c6b8c696a065866d6d0a7e6b844cda57916322.tar.gz tcl-f6c6b8c696a065866d6d0a7e6b844cda57916322.tar.bz2 |
[9969cf8ca6] Move the bailout when the ->rewind flag is set down after all
the housekeeping matters tearing down frames (trace data) is complete.
-rw-r--r-- | generic/tclExecute.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c index 0d485c2..0cd074d 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -2204,10 +2204,6 @@ TEBCresume( } else { /* resume from invocation */ CACHE_STACK_INFO(); - if (iPtr->execEnvPtr->rewind) { - result = TCL_ERROR; - goto abnormalReturn; - } NRE_ASSERT(iPtr->cmdFramePtr == bcFramePtr); if (bcFramePtr->cmdObj) { @@ -2219,6 +2215,10 @@ TEBCresume( if (iPtr->flags & INTERP_DEBUG_FRAME) { TclArgumentBCRelease(interp, bcFramePtr); } + if (iPtr->execEnvPtr->rewind) { + result = TCL_ERROR; + goto abnormalReturn; + } if (codePtr->flags & TCL_BYTECODE_RECOMPILE) { iPtr->flags |= ERR_ALREADY_LOGGED; codePtr->flags &= ~TCL_BYTECODE_RECOMPILE; |