(defmacro decorate (name &body body) `(progn (format t "~&----- header ~a -----~%" ,name) ,@body (format t "~&----- footer ~a -----~%"))) (decorate block1 (format t "block1: content line 1~%") (format t "block1: content line 2~%"))