hush: fix EXIT trap recursion case; check redirection failures
function old new delta
run_pipe 1299 1328 +29
hush_exit 90 102 +12
hush_main 1172 1179 +7
run_list 1226 1225 -1
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/1 up/down: 48/-1) Total: 47 bytes
diff --git a/shell/hush_test/hush-misc/redir3.tests b/shell/hush_test/hush-misc/redir3.tests
new file mode 100755
index 0000000..7c28e43
--- /dev/null
+++ b/shell/hush_test/hush-misc/redir3.tests
@@ -0,0 +1,9 @@
+echo Error >/does/not/exist; echo One:$?
+t=BAD
+t=Ok >>/cant/be/created; echo One:$?
+echo $t
+! >/cant/be/created; echo Zero:$?
+exec >/cant/be/created; echo One:$?
+exec /bin/true >/cant/be/created; echo One:$?
+! exec /bin/true >/cant/be/created; echo Zero:$?
+echo Done