Emacs-21.0.93が好調だったが遂に終わった。22日間。 固まった、というよりも画面表示が更新されなくなった。フレームを切り替える と黒い画面のまま、なんか機能が動いてる。てなことで、こういう状態ならファ イルをセーブしたりできるので軽症である。ほんじゃさいなら。C-o 8。 てことで今日から 21.0.96。
src/ChangeLog の 2001-01-18 の変更がひそかに影響がでかいと思う。
* eval.c (specbind): If binding a per-buffer variable which doesn't have a buffer-local value in the current buffer, change the global value by changing the value of the symbol bound in all buffers not having their own value, to make it consistent with what happens with other buffer-local variables.
これ要するに let で buffer-local な変数をバインドしたときの挙動が変わっ たってことで、これまでは let で値を決めても、別のバッファに行くとそっち の buffer-local 値が生きちゃってた。今度からは、letでの値がどのバッファ でも生きるようになる。うー、xciteでちとハマり。というか、逆だ。letでの動 作がfixされたおかげで期待した通りに動くようになった。結構これで挙動が不 振になるEmacs-Lispプログラムは多いんじゃないか。