🔖
Lem Advent Calendar 2023 - Lisp Mode - print debug編
これは Lem Advent Calendar の記事です。
LemではmicrosというリポジトリをSLIMEからフォークして開発していることを以前、紹介しました。
今回は、そのmicrosに新しく追加した機能について紹介していきます。
Featurs
micors:micros-print
コードをデバッグしているとき、扱っているオブジェクトをprintすることがあるかと思います。
そのときREPLに表示されたオブジェクトの中身を確認したい事があります。
この方法として、setq
等を使ってグローバル変数に保持してから、REPLで操作している人もいるかもしれません。
(defun doit (object)
...
(setq $ object)
...)
上記の方法の代わりにエディタが、printしてREPLに表示されたオブジェクトを直接選択してinspectする機能を提供すると便利なのではないでしょうか?
Lemではmicros:micros-print
という関数を使うとそれが可能です。
REPLで変数を介して扱いたい場合は、表示されたオブジェクト上でM-Return
を押下することで*
に束縛できます。
trace
上記の機能を流用して、traceの結果にも使えるようにしました。
trace対象の関数はC-c C-t (M-x micros-trace)
コマンドで設定できます。
micros:watch
print debugによる値を、REPLではなくソースコード上に直接表示したい事もあるかと思います。
micros:watchを使うと、printの結果をソースコード上に表示することが出来ます。
おわりに
今回はmicrosで新しく追加したprint debug用の機能について紹介しました。
次回はコードウォーカーについてです。
Discussion