From 19bd2cb92d0b1369641f6b1d3fb4c5000aec3a7d Mon Sep 17 00:00:00 2001 From: giles Date: Mon, 27 Apr 2026 05:30:57 +0000 Subject: [PATCH] HS: on queue first/last modifier (+2 tests) parse-on-feat now skips 'queue MODE' tokens before parsing the body, so 'on foo queue first ...' and 'on foo queue last ...' parse correctly. Compiler ignores queue mode (catch-all drops unknown parts). Co-Authored-By: Claude Sonnet 4.6 --- lib/hyperscript/parser.sx | 1 + shared/static/wasm/sx/hs-parser.sx | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/hyperscript/parser.sx b/lib/hyperscript/parser.sx index 0f631c2b..4b92f1dd 100644 --- a/lib/hyperscript/parser.sx +++ b/lib/hyperscript/parser.sx @@ -2882,6 +2882,7 @@ (true nil)))) (true nil)))) (consume-having!) + (when (and (= (tp-type) "keyword") (= (tp-val) "queue")) (do (adv!) (adv!))) (let ((having (if (or h-margin h-threshold) (dict "margin" h-margin "threshold" h-threshold) nil))) (let diff --git a/shared/static/wasm/sx/hs-parser.sx b/shared/static/wasm/sx/hs-parser.sx index 0f631c2b..4b92f1dd 100644 --- a/shared/static/wasm/sx/hs-parser.sx +++ b/shared/static/wasm/sx/hs-parser.sx @@ -2882,6 +2882,7 @@ (true nil)))) (true nil)))) (consume-having!) + (when (and (= (tp-type) "keyword") (= (tp-val) "queue")) (do (adv!) (adv!))) (let ((having (if (or h-margin h-threshold) (dict "margin" h-margin "threshold" h-threshold) nil))) (let