diff options
Diffstat (limited to 'shtml.lisp')
-rw-r--r-- | shtml.lisp | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -1,5 +1,10 @@ (in-package #:shtml) +(defun cat (separator &rest lines) + (format nil + (concatenate 'string "~{~a~^" separator "~}") + lines)) + (defun trim-flatten-assoc (lst) (loop :for (i . j) :in lst :when j :append (list i j))) @@ -43,7 +48,7 @@ (mapcar (lambda (attr) (list 'cons (downcase-name attr) attr)) attrs)))) - `(defmacro ,tag (&rest ,args) + `(defmacro ,tag (&body ,args) (let ((body (gensym)) (parsed-args (separate-keys ,args))) `((lambda (,body &key ,@',attrs) @@ -61,7 +66,7 @@ (mapcar (lambda (attr) (list 'cons (downcase-name attr) attr)) attrs)))) - `(defmacro html (&rest ,args) + `(defmacro html (&body ,args) (let ((body (gensym)) (parsed-args (separate-keys ,args))) `((lambda (,body &key ,@',attrs) |