iMacのEmacsでEmacsをデバッグした話

いや、まあ本当はgdbデバッグですけども。

いまだにCarbon Emacsを使っていて、Cocoa Emacsに乗り換えようとしてるんだが、いくつか問題点があってまだ移れていない。ひょっとしてデバッグしたら何かわかるかも? と思い立ってやってみた。

まずはemacs-23.4のビルドから。Emacsのシェルからビルドかけるとエラーになる。調べてみると一部の環境変数をunsetしないといけないらしい。(4行目)

curl -O http://ftp.gnu.org/pub/gnu/emacs/emacs-23.4.tar.gz
tar xvfz emacs-23.4.tar.gz
cd emacs-23.4
unset EMACSAPP EMACSDATA EMACSPATH EMACSDOC INSIDE_EMACS EMACSLOADPATH
./configure --with-ns --without-x
make
make install

続いてEmacsからgdb起動。gdbの引数に--annotate=3のオプションを付けておくとgdbのバッファの他にソースコードのバッファを自動で開いてくれたりする。

M-x gdb
Run gdb (like this): gdb --annotate=3

Emacsの中のgdbからEmacsを起動するとエラーになるので、ビルドと同じように一部の環境変数をunsetしておいた。

(gdb) unset env EMACS
(gdb) unset env EMACSAPP
(gdb) unset env EMACSDATA
(gdb) unset env EMACSPATH
(gdb) unset env EMACSDOC
(gdb) unset env INSIDE_EMACS
(gdb) unset env EMACSLOADPATH
(gdb) file emacs-23.4/nextstep/Emacs.app/Contents/MacOS/Emacs
(gdb) break main
(gdb) run

とかやると、main関数の先頭でブレーク停止してくれる。あとは焼くなり煮るなりご自由に。gudのメニューとか見ると、もっといろいろできるみたい。(省略)

とかいいつつ、まだ自分の問題も解決できてない。さぁデバッグデバッグ

参考サイト:cocoa emacs のインストール