diff --git a/lib/hyperscript/compiler.sx b/lib/hyperscript/compiler.sx index 603865d5..f09c3f04 100644 --- a/lib/hyperscript/compiler.sx +++ b/lib/hyperscript/compiler.sx @@ -463,13 +463,7 @@ (list (quote fn) (list) body))))))) (define hs-reserved-var? - (fn - (name) - (or - (= name "meta") - (= name "event") - (= name "it") - (= name "result")))) + (fn (name) (or (= name "meta") (= name "event") (= name "result")))) (define emit-for (fn diff --git a/lib/hyperscript/runtime.sx b/lib/hyperscript/runtime.sx index 0f88fadb..e6557dae 100644 --- a/lib/hyperscript/runtime.sx +++ b/lib/hyperscript/runtime.sx @@ -2330,7 +2330,16 @@ ((d {})) (do (for-each - (fn (pair) (dict-set! d (first pair) (nth pair 1))) + (fn + (pair) + (let + ((name (first pair))) + (do + (dict-set! d name (nth pair 1)) + (dict-set! + d + "_order" + (append (or (get d "_order") (list)) (list name)))))) pairs) d)))) diff --git a/shared/static/wasm/sx/hs-compiler.sx b/shared/static/wasm/sx/hs-compiler.sx index 603865d5..f09c3f04 100644 --- a/shared/static/wasm/sx/hs-compiler.sx +++ b/shared/static/wasm/sx/hs-compiler.sx @@ -463,13 +463,7 @@ (list (quote fn) (list) body))))))) (define hs-reserved-var? - (fn - (name) - (or - (= name "meta") - (= name "event") - (= name "it") - (= name "result")))) + (fn (name) (or (= name "meta") (= name "event") (= name "result")))) (define emit-for (fn diff --git a/shared/static/wasm/sx/hs-runtime.sx b/shared/static/wasm/sx/hs-runtime.sx index 0f88fadb..e6557dae 100644 --- a/shared/static/wasm/sx/hs-runtime.sx +++ b/shared/static/wasm/sx/hs-runtime.sx @@ -2330,7 +2330,16 @@ ((d {})) (do (for-each - (fn (pair) (dict-set! d (first pair) (nth pair 1))) + (fn + (pair) + (let + ((name (first pair))) + (do + (dict-set! d name (nth pair 1)) + (dict-set! + d + "_order" + (append (or (get d "_order") (list)) (list name)))))) pairs) d))))