Test uncaught throw, catchless try* . Fix 46 impls.
[jackhill/mal.git] / vb / step9_try.vb
index d4a7af4..65158ad 100644 (file)
@@ -122,7 +122,7 @@ Namespace Mal
             ' apply list
             Dim expanded As MalVal = macroexpand(orig_ast, env)
             if not expanded.list_Q() Then
-                return expanded
+                return eval_ast(expanded, env)
             End If
             Dim ast As MalList = DirectCast(expanded, MalList)
 
@@ -191,8 +191,8 @@ Namespace Mal
                                            DirectCast(a2,MalList).slice(1,2),
                                            New MalList(exc)))
                         End If
-                        Throw e
                     End If
+                    Throw e
                 End Try
             Case "do"
                 eval_ast(ast.slice(1, ast.size()-1), env)