diff --git a/lib/hyperscript/parser.sx b/lib/hyperscript/parser.sx index 8a125aaa..392b550b 100644 --- a/lib/hyperscript/parser.sx +++ b/lib/hyperscript/parser.sx @@ -3219,14 +3219,17 @@ "worker plugin is not installed — see https://hyperscript.org/features/worker")) ((= val "bind") (do (adv!) (parse-bind-feat))) (true - (let - ((saved-p p)) + (if + (= (tp-type) "keyword") + (parse-cmd-list) (let - ((expr (guard (_e (true nil)) (parse-expr)))) - (if - (and expr (at-end?)) - expr - (do (set! p saved-p) (parse-cmd-list)))))))))) + ((saved-p p)) + (let + ((expr (guard (_e (true nil)) (parse-expr)))) + (if + (and expr (at-end?)) + expr + (do (set! p saved-p) (parse-cmd-list))))))))))) (define coll-feats (fn diff --git a/shared/static/wasm/sx/hs-parser.sx b/shared/static/wasm/sx/hs-parser.sx index 8a125aaa..392b550b 100644 --- a/shared/static/wasm/sx/hs-parser.sx +++ b/shared/static/wasm/sx/hs-parser.sx @@ -3219,14 +3219,17 @@ "worker plugin is not installed — see https://hyperscript.org/features/worker")) ((= val "bind") (do (adv!) (parse-bind-feat))) (true - (let - ((saved-p p)) + (if + (= (tp-type) "keyword") + (parse-cmd-list) (let - ((expr (guard (_e (true nil)) (parse-expr)))) - (if - (and expr (at-end?)) - expr - (do (set! p saved-p) (parse-cmd-list)))))))))) + ((saved-p p)) + (let + ((expr (guard (_e (true nil)) (parse-expr)))) + (if + (and expr (at-end?)) + expr + (do (set! p saved-p) (parse-cmd-list))))))))))) (define coll-feats (fn