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 がほしいなあ。