>>>> In <87hfhmxx5a.fsf(a)cover.f.axe-inc.co.jp>
>>>> Hirokazu FUKUI <hfukui(a)sannet.ne.jp> wrote:
山岡> 8月1日に xemacs-patches に出したパッチが、まだ本編の egg.el に
山岡> 当たっていないのですが、これは今でも必要なんでしょうか?
福居さん> これは egg の最初の漢字変換を mini buffer で行ったときに、
福居さん> エラーが起きるのを防ぐパッチだと思います。
福居さん> ;; 実は、本編に当たるのをずっと楽しみに待っていました:-)
[...]
福居さん> Signaling: (error "Cannot switch buffers in minibuffer window")
福居さん> signal(error ("Cannot switch buffers in minibuffer window"))
福居さん> cerror("Cannot switch buffers in minibuffer window")
福居さん> apply(cerror "Cannot switch buffers in minibuffer window")
福居さん> error("Cannot switch buffers in minibuffer window")
福居さん> switch-to-buffer(#<buffer "*Group*"> nil)
福居さん> bury-buffer()
再現できました。しかも手持ちのすべての Emacsen で。
(let ((buffer (get-buffer-create "*temp*")))
(save-excursion
(select-window (minibuffer-window))
(set-buffer buffer)
(bury-buffer)))
福居さん> ;; (bury-buffer) と (bury-buffer (current-buffer)) で動作が
福居さん> ;; 違うというのは xemacs の bug のような気が... ;-)
ぼくも変な気がしました。もしぼくが XEmacs の maintainer だったら
- (bury-buffer)))
+ (bury-buffer (current-buffer))))
こんな間抜けなパッチを送ってくるヤツは、次回からはハナから 30 点引いて
評価しようと思うだろう、との気持ちから、xemacs-patches に出したときは
及び腰だったのですが、改めて buffer.c を見ると
/* Note that the behavior of (bury-buffer nil) and
(bury-buffer (current-buffer)) is not the same.
This is illogical but is historical. Changing it
breaks mh-e and TeX and such packages. */
なんてことが書いてあるので、ぼくが illogical ではなかったんですね。:-p
さて、間抜けに思われないように、英語でどう書こうか...。(^^;;)
--
Katsumi Yamaoka <yamaoka(a)jpl.org>