diff options
| author | dgp@users.sourceforge.net <dgp> | 2014-07-17 04:24:23 (GMT) |
|---|---|---|
| committer | dgp@users.sourceforge.net <dgp> | 2014-07-17 04:24:23 (GMT) |
| commit | f0b95eb3057acfd23201cd0ef35ed8398fffefc8 (patch) | |
| tree | e552376ea5d7e33936f845c257127b26092f819d | |
| parent | b2e6ae15c3bb35a22903ea7dec501d541a6c67f0 (diff) | |
| download | tcl-f0b95eb3057acfd23201cd0ef35ed8398fffefc8.zip tcl-f0b95eb3057acfd23201cd0ef35ed8398fffefc8.tar.gz tcl-f0b95eb3057acfd23201cd0ef35ed8398fffefc8.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; |
