Help見ればいいと思う

Emacsとかはまると泥沼な感じのソフトウェアは、とりあえず原典にあたってから、わからんかったらググるのが正攻法かなーと最近おもう。

Emacs Lispモードだと、C-h fで関数、C-h vで変数のヘルプが見れる。

M-x eval-current-buffer

で、再読み込みができるという話を聞いたので早速試してみたら、消したはずのメニューバーとツールバーが復活した。

いくつか試してみてわかったことなのだけど、不思議なことに

(tool-bar-mode nil)
(menu-bar-mode nil)

と書くと再読み込み時に設定が反転する。つまりメニューバーがあるならなくなるし、なかったなら出現する。ところが、

(tool-bar-mode 0)
(menu-bar-mode 0)

と書いておくと、何回読み込んでもメニューバーやツールバーは消えたままになる。

確かに0とnilは異なるものだけどなあ…、いまいち納得しがたい仕様だ。

dot.emacsファイルの再読み込み - suu-g's diary

eval-current-bufferを見てみたら、22.1からobsoleteだからeval-buffer使えって書いてあった。俺は知らんうちにeval-bufferはメジャーモードの開発で使いまくってたんだけども。

.emacsの再読み込みについてもうちょっと深くつっこむと、.emacsを読みこむことで束縛される関数とか変数をunbindしてからevalしないと、次に起動したときに始めてヘンなところが発覚したりとかしなかったりとかそんなこともある。そんでunbindしたいんだけど、やり方がわからないなーと思いつつあんまりまともに調べてない。知ってる人がいたら教えて。

あと、tool-bar-modeはToggle use of the tool barらしいので、表示/非表示が変わるので動作は正しい。関数名があんまり適切じゃない気もするけど、ほげほげ-modeで引数なしだとトグル、引数ありだと引数に従って設定変更、という振舞いの関数がある(パッと思いつくところではfont-lock-mode)から、それがEmacsの慣例なのかもしれない。