2008-07-24から1日間の記事一覧

setqでの変数の定義を現在の変数の状態に変更するelisp

一部の関数を直接変数の中に代入して、それをsourceとしてanythingを使っているのですが。*1 変更結果を保存したくなりました。 そんなわけで、現在の変数の状態に変数定義の部分を変更するelispを書いてみました。 コード (defun renew-sexp-in-current-buf…

macroを書くときにはmacroexpandを使うと便利

macroexpandを使うと、macroで展開された後の式を出力してくれます。 こんな関数を用意しておくと、直接展開後の式がbufferに出力されるので便利です。 (defun insert-macro-expanded (macro) (print (macroexpand macro) #'insert)

defmacroを使ってみた

defmacroの実行の順序は macro展開 macro展開で生成された式を実行 という感じみたいです。 byte-compileをしたときにmacro展開された式が保存されるみたいです。 取り合えず使ってみました。 関数を調べるdescribe-functionとかのanything版です。 (変数の…