マクロの質問です
最終的には↓のように出力するマクロを作りたいのですが、うまくいきません
[
foo, bar
piyo, hoge
]

文字の部分はformat関数を使って表示させています
(defun print-foo-etc ()
(format t "~A~%" "foo")
(format t "~A~%" "bar"))

(defun print-piyo-etc ()
(format t "~A~%" "piyo")
(format t "~A~%" "hoge"))

関数版は意図した通り動きます
(defun print-test-func-ver ()
(format t "~A~%" "[")
(print-foo-etc)
(print-piyo-etc)
(format t "~A" "]"))

他方、マクロ版は動きません
(defmacro print-test-macro-ver (&body body)
(format t "~A~%" "[")
`(progn ,@body)
(format t "~A~%" "]"))

`(progn ,@body)がおかしいようなのですが、どう修正すればよいでしょうか?