diff options
| author | sebres <sebres@users.sourceforge.net> | 2024-05-27 20:16:00 (GMT) |
|---|---|---|
| committer | sebres <sebres@users.sourceforge.net> | 2024-05-27 20:16:00 (GMT) |
| commit | f8c457b80f302a4587d875329a789e0906b13989 (patch) | |
| tree | ba6e732c5335797798f08af348d72521645896ac /generic | |
| parent | 1019fc7dc38c97beab50b4151eaccf9de1174683 (diff) | |
| parent | a6bfc24621de4e3215e4d120728991128a7ba534 (diff) | |
| download | tcl-f8c457b80f302a4587d875329a789e0906b13989.zip tcl-f8c457b80f302a4587d875329a789e0906b13989.tar.gz tcl-f8c457b80f302a4587d875329a789e0906b13989.tar.bz2 | |
merge 8.6
Diffstat (limited to 'generic')
| -rw-r--r-- | generic/tclBasic.c | 4 | ||||
| -rw-r--r-- | generic/tclInterp.c | 13 |
2 files changed, 4 insertions, 13 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c index 2e6de71..2514364 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -4804,6 +4804,10 @@ EvalObjvCore( } if (TclLimitExceeded(iPtr->limit)) { + /* generate error message if not yet already logged at this stage */ + if (!(iPtr->flags & ERR_ALREADY_LOGGED)) { + Tcl_LimitCheck(interp); + } return TCL_ERROR; } diff --git a/generic/tclInterp.c b/generic/tclInterp.c index e48ebd4..46c11d4 100644 --- a/generic/tclInterp.c +++ b/generic/tclInterp.c @@ -2904,18 +2904,6 @@ ChildEval( Tcl_Preserve(childInterp); Tcl_AllowExceptions(childInterp); - /* - * If we're transferring to another interpreter, check it's limits first. - * It's much more reliable to do that now rather than waiting for the - * intermittent checks done during running; the slight performance hit for - * a cross-interp call is not a big problem. [Bug e3f4a8b78d] - */ - - if (interp != childInterp && Tcl_LimitCheck(childInterp) != TCL_OK) { - result = TCL_ERROR; - goto done; - } - if (objc == 1) { /* * TIP #280: Make actual argument location available to eval'd script. @@ -2934,7 +2922,6 @@ ChildEval( result = Tcl_EvalObjEx(childInterp, objPtr, 0); Tcl_DecrRefCount(objPtr); } - done: Tcl_TransferResult(childInterp, result, interp); Tcl_Release(childInterp); |
