diff --git a/lib/hyperscript/compiler.sx b/lib/hyperscript/compiler.sx index ff8dcb5c..99837a2e 100644 --- a/lib/hyperscript/compiler.sx +++ b/lib/hyperscript/compiler.sx @@ -2017,7 +2017,11 @@ ((= head (quote wait)) (list (quote hs-wait) (nth ast 1))) ((= head (quote wait-for)) (emit-wait-for ast)) ((= head (quote log)) - (list (quote console-log) (hs-to-sx (nth ast 1)))) + (cons + (quote do) + (map + (fn (arg) (list (quote console-log) (hs-to-sx arg))) + (rest ast)))) ((= head (quote send)) (emit-send ast)) ((= head (quote trigger)) (let diff --git a/lib/hyperscript/parser.sx b/lib/hyperscript/parser.sx index 940838b8..90bcea51 100644 --- a/lib/hyperscript/parser.sx +++ b/lib/hyperscript/parser.sx @@ -1748,7 +1748,21 @@ dtl (list (quote trigger) name dtl tgt) (list (quote trigger) name tgt))))))) - (define parse-log-cmd (fn () (list (quote log) (parse-expr)))) + (define + parse-log-cmd + (fn + () + (define + collect-args + (fn + (acc) + (if + (= (tp-type) "comma") + (do + (adv!) + (collect-args (append acc (list (parse-expr))))) + acc))) + (cons (quote log) (collect-args (list (parse-expr)))))) (define parse-inc-cmd (fn diff --git a/lib/hyperscript/runtime.sx b/lib/hyperscript/runtime.sx index e049aeb1..93060e39 100644 --- a/lib/hyperscript/runtime.sx +++ b/lib/hyperscript/runtime.sx @@ -411,7 +411,7 @@ (do (dom-set-inner-html target value) (hs-boot-subtree! target))))) - ((= pos "beforebegin") + ((or (= pos "beforebegin") (= pos "before")) (if (hs-element? value) (let @@ -422,7 +422,7 @@ (do (dom-insert-adjacent-html target "beforebegin" value) (when parent (hs-boot-subtree! parent)))))) - ((= pos "afterend") + ((or (= pos "afterend") (= pos "after")) (if (hs-element? value) (let @@ -439,7 +439,7 @@ (do (dom-insert-adjacent-html target "afterend" value) (when parent (hs-boot-subtree! parent)))))) - ((= pos "afterbegin") + ((or (= pos "afterbegin") (= pos "start")) (cond ((list? value) (append! target value 0)) ((hs-element? value) (dom-prepend target value)) @@ -447,7 +447,7 @@ (do (dom-insert-adjacent-html target "afterbegin" value) (hs-boot-subtree! target))))) - ((= pos "beforeend") + ((or (= pos "beforeend") (= pos "end")) (cond ((list? value) (append! target value)) ((hs-element? value) (dom-append target value)) @@ -998,7 +998,7 @@ (event) (let ((detail (host-get event "detail"))) - (if detail (host-get detail "sender") nil)))) + (if detail (get detail "sender") nil)))) (define hs-host-to-sx