Emacs

when-required マクロ

Emacs の設定を複数のマシンの共有するときに面倒なのが、require しているパッケージがあったりなかったりすること。例えば、slime を require している .emacs をマシン A とマシン B で共有しているとする。マシン A には slime があり、マシン B には sl…

昨日のマクロ

謎が解けた。というか会社の人に教えてもらった。 (defmacro when* (test &rest body) (if test `(progn ,@body))) こんな感じのが昨日のマクロ。これの何が悪かったのかというと、test がフォームのまま評価されていたということ。つまり (when* (equal 1 2…

昨日のマクロその 2

これで何をやりたかったかというと、Emacs Lisp のコンパイル警告を抑止したかっただけ。無視しても大したことはないんだろうけども。例えば howm をバイトコンパイルすると、以下のようなコンパイル警告が出る。 In riffle-summary-mode: riffle.el:191:4:W…

マクロで条件つきコンパイルみたいなことがやりたい

C の #if みたいなことを、Lisp のマクロでやりたい。が、うまくいかず。xyzzy と Emacs で想定した動きにならなかったので、なんか自分の凡ミスだとは思ってるんだけど。 (defmacro when* (pred &rest body) (when pred `(progn ,@body))) で、以下のように…

anything.el から emacs-w3m を起動しようとすると core dump する

M-x w3m では大丈夫。なんでだろう。どうやって原因を調べればいいんだろう。

メソッド最初の引数のインデント位置

cc-mode デフォルトの, メソッド最初の引数のインデント位置が気に入らない. void longLongNameMethod( Object hoge, Object fuga) { } 2 つ目以降はこんな感じでいいんだけど, 1 つ目は Eclipse っぽい感じになってほしい. void longLongNameMethod( Object…