2011/03/21

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





Related Posts Plugin for WordPress, Blogger...

0 コメント :

コメントを投稿