diff options
| author | dgp <dgp@users.sourceforge.net> | 2017-12-19 20:48:52 (GMT) |
|---|---|---|
| committer | dgp <dgp@users.sourceforge.net> | 2017-12-19 20:48:52 (GMT) |
| commit | e10cd2e0a52b97a25e6e05658f8f96b2f53bf45c (patch) | |
| tree | 81f4d66eb1ad0fcfc2a52f87317119dbcf03fb38 | |
| parent | 0fb81cb5dd85b298db7f4efe9c3dbdca910cf1d5 (diff) | |
| download | tcl-e10cd2e0a52b97a25e6e05658f8f96b2f53bf45c.zip tcl-e10cd2e0a52b97a25e6e05658f8f96b2f53bf45c.tar.gz tcl-e10cd2e0a52b97a25e6e05658f8f96b2f53bf45c.tar.bz2 | |
[586e71dce4] Exeception handling at level #0 by EvalObjv
| -rw-r--r-- | generic/tclBasic.c | 2 | ||||
| -rw-r--r-- | tests/basic.test | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c index 79de61e..ddc828a 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -4561,7 +4561,7 @@ TEOV_Exception( if (result == TCL_RETURN) { result = TclUpdateReturnInfo(iPtr); } - if ((result != TCL_ERROR) && !allowExceptions) { + if ((result != TCL_OK) && (result != TCL_ERROR) && !allowExceptions) { ProcessUnexpectedResult(interp, result); result = TCL_ERROR; } diff --git a/tests/basic.test b/tests/basic.test index 7ff0669..865814a 100644 --- a/tests/basic.test +++ b/tests/basic.test @@ -984,6 +984,16 @@ test basic-49.2 {Tcl_EvalEx: verify TCL_EVAL_GLOBAL operation} testevalex { set ::context } {global} +test basic-50.1 {[586e71dce4] EvalObjv level #0 exception handling} -setup { + interp create slave + interp alias {} foo slave return +} -body { + list [catch foo m] $m +} -cleanup { + unset -nocomplain m + interp delete slave +} -result {0 {}} + # Clean up after expand tests unset noComp l1 l2 constraints rename l3 {} |
