]> gitweb.factorcode.org Git - factor.git/commitdiff
Fix listener so its tail-recursive
authorSlava Pestov <slava@shill.internal.stack-effects.com>
Wed, 15 Apr 2009 02:01:47 +0000 (21:01 -0500)
committerSlava Pestov <slava@shill.internal.stack-effects.com>
Wed, 15 Apr 2009 02:01:47 +0000 (21:01 -0500)
basis/listener/listener.factor

index f388ce7a149b93f1be9e3b0d207ba6a84e75e457..4234a0023b4d9c09a38ed307b33e8f89fc263c7a 100644 (file)
@@ -115,14 +115,15 @@ SYMBOL: error-summary-hook
             '[ datastack _ with-datastack ]
             [ call-error-hook datastack ]
             recover
-            (listener)
-        ] when*
+        ] [ return ] if*
     ] [
         dup lexer-error?
-        [ call-error-hook datastack (listener) ]
+        [ call-error-hook datastack ]
         [ rethrow ]
         if
-    ] recover ;
+    ] recover
+
+    (listener) ;
 
 PRIVATE>