summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2017-12-19 20:53:27 (GMT)
committerdgp <dgp@users.sourceforge.net>2017-12-19 20:53:27 (GMT)
commit1725b7469560f802f132a87abce59ae3228dd0ed (patch)
treeed3ba21e83d6e703a654df3caf627d25596d40fa
parentf4cc39572c905ad4837ec43edf9650d528e2b34d (diff)
parente10cd2e0a52b97a25e6e05658f8f96b2f53bf45c (diff)
downloadtcl-1725b7469560f802f132a87abce59ae3228dd0ed.zip
tcl-1725b7469560f802f132a87abce59ae3228dd0ed.tar.gz
tcl-1725b7469560f802f132a87abce59ae3228dd0ed.tar.bz2
merge 8.6; update changes
-rw-r--r--changes2
-rw-r--r--generic/tclBasic.c2
-rw-r--r--tests/basic.test10
3 files changed, 13 insertions, 1 deletions
diff --git a/changes b/changes
index 48e4624..040f360 100644
--- a/changes
+++ b/changes
@@ -8827,4 +8827,6 @@ improvements to regexp engine from Postgres (lane,porter,fellows,seltenreich)
2017-12-08 (new)[TIP 477] nmake build system reform (nadkarni)
+2017-12-19 (bug)[586e71] EvalObjv exception handling at level #0 (sebres,porter)
+
--- Released 8.6.8, December 22, 2017 --- http://core.tcl.tk/tcl/ for details
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 {}