diff --git a/src/hsx.lisp b/src/hsx.lisp index e278ff6..2d1e951 100644 --- a/src/hsx.lisp +++ b/src/hsx.lisp @@ -13,10 +13,11 @@ ;;;; hsx definitions (defmacro defhsx (name element-type) - `(defmacro ,name (&body body) - (multiple-value-bind (props children) - (parse-body body) - `(create-element ,',element-type (list ,@props) ,@children)))) + (eval-when (:compile-toplevel :load-toplevel :execute) + `(defmacro ,name (&body body) + (multiple-value-bind (props children) + (parse-body body) + `(create-element ,',element-type (list ,@props) ,@children))))) (defun parse-body (body) (if (keywordp (first body))