summaryrefslogtreecommitdiff
path: root/shtml.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'shtml.lisp')
-rw-r--r--shtml.lisp9
1 files changed, 7 insertions, 2 deletions
diff --git a/shtml.lisp b/shtml.lisp
index 1bb1463..b20ece7 100644
--- a/shtml.lisp
+++ b/shtml.lisp
@@ -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)