diff --git a/lib/hyperscript/runtime.sx b/lib/hyperscript/runtime.sx index 1c1cb627..a4412abb 100644 --- a/lib/hyperscript/runtime.sx +++ b/lib/hyperscript/runtime.sx @@ -330,7 +330,7 @@ (when (< i n) (let - ((signal (guard (e (true (str e))) (do (thunk) nil)))) + ((signal (guard (e ((or (= (str e) "hs-break") (= (str e) "hs-continue")) (str e)) (true (raise e))) (do (thunk) nil)))) (cond ((= signal "hs-break") nil) ((= signal "hs-continue") (do-repeat (+ i 1))) @@ -346,7 +346,7 @@ (fn () (let - ((signal (guard (e (true (str e))) (do (thunk) nil)))) + ((signal (guard (e ((or (= (str e) "hs-break") (= (str e) "hs-continue")) (str e)) (true (raise e))) (do (thunk) nil)))) (cond ((= signal "hs-break") nil) ((= signal "hs-continue") (do-forever)) @@ -360,7 +360,7 @@ (when (cond-fn) (let - ((signal (guard (e (true (str e))) (do (thunk) nil)))) + ((signal (guard (e ((or (= (str e) "hs-break") (= (str e) "hs-continue")) (str e)) (true (raise e))) (do (thunk) nil)))) (cond ((= signal "hs-break") nil) ((= signal "hs-continue") (hs-repeat-while cond-fn thunk)) @@ -371,7 +371,7 @@ (fn (cond-fn thunk) (let - ((signal (guard (e (true (str e))) (do (thunk) nil)))) + ((signal (guard (e ((or (= (str e) "hs-break") (= (str e) "hs-continue")) (str e)) (true (raise e))) (do (thunk) nil)))) (cond ((= signal "hs-break") nil) ((= signal "hs-continue") @@ -391,7 +391,7 @@ (when (not (empty? remaining)) (let - ((signal (guard (e (true (str e))) (do (fn-body (first remaining)) nil)))) + ((signal (guard (e ((or (= (str e) "hs-break") (= (str e) "hs-continue")) (str e)) (true (raise e))) (do (fn-body (first remaining)) nil)))) (cond ((= signal "hs-break") nil) ((= signal "hs-continue") (do-loop (rest remaining)))