lisp デバッグ用 msgbox

xyzzy のコマンドを作ったりしてるときはよく、

 (msgbox "~S" hoge)

とかしてデバッグプリントしてたりする。実に原始的だ。
(べつにダイアログボックスに出さんでも、一時バッファに流したりすればいいんだが、それはそれでめんどくさい)
しかしこの msgbox、デバッグ用に使うにはちょっと勝手が悪い。
出力形式は常にS式でいいし、引数も任意の個数取れたほうがいい。
というわけでデバッグ専用の msgbox をでっち上げてみた。激しくガイシュツくさいが…。

;;; @@@ msgbox for lisp debug
;;; usage: (dbg-msgbox args)
(defmacro dbg-msgbox (&rest vars)
  `(msgbox 
    (concat ,@(make-list (length vars) :initial-element "~S\n"))
    ,@vars))

こういうのが数行で書ける LISP って神としか思えん。
にしても本当は Emacs みたいに edebug がほしいなあ。