Index: tests/shells.test
===================================================================
diff -u -r0c79f62f7a4eaccf72fad39e9aa807b6e40b9e6a -rce511c8758667fdbbd5a18edd7556b8e5f043f39
--- tests/shells.test	(.../shells.test)	(revision 0c79f62f7a4eaccf72fad39e9aa807b6e40b9e6a)
+++ tests/shells.test	(.../shells.test)	(revision ce511c8758667fdbbd5a18edd7556b8e5f043f39)
@@ -72,6 +72,19 @@
   ? [list exec $nxsh -c << "catch {exit 1}"] "child process exited abnormally"
   ? [list exec $nxsh -c << "catch {nx::Object eval {exit 1}}"] "child process exited abnormally"
 
+  # just 8.6 or newer
+  if {[info command try] eq ""} return
+  ? [list exec $nxsh -c << [list nx::Object eval {try { exit 6 } \
+                                                      on break {} {;} \
+                                                      on return {} {;} \
+                                                      on error {} {;} \
+                                                      finally {puts finalized}}]] "child process exited abnormally"
+  ? [list exec $nxsh -c << [list nx::Object eval {try { error } \
+                                                      on break {} {;} \
+                                                      on return {} {;} \
+                                                      on error {} {;} \
+                                                      finally {puts finalized}}]] "finalized"
+
   ## avoid pollution of global namespace
   ## set tclsh [info nameofexecutable]
   ## set gvars1 [exec $tclsh << {puts [info vars]}]