SANETO Takanori <sanewo(a)ba2.so-net.ne.jp> writes:
この中で、decode-coding-string() を呼んでいますが、これはテンポラリな
バッファを作って decode-coding-region を呼び、バッファを消す、という処
理を行っています。21.2.33 で、バッファの生成/削除時に gutter 周りの処
理が行われるようになったみたいですが、そこで、まだ充分に初期化の済んで
いない時点でのバッファ操作時におかしなことになっているような気がします。
.emacs や command line の処理がされているときはまだ frame が
表示されていないので、glyph の instance はまだできていないの
です。
とりあえず、gutter-items.el(remove-buffer-from-gutter-tab) の中で、
(defun remove-buffer-from-gutter-tab ()
"Remove the current buffer from the tab control in the gutter area."
(when (and (valid-image-instantiator-format-p 'tab-control)
(glyphp gutter-buffers-tab)
(specifier-instance default-gutter-visible-p))
のように、gutter-buffers-tab が glyph に初期化されているかどうかを確認
してやれば、エラーは回避できることがわかりましたが、これが TRT (The
Right Thing)かどうかはわかりません…
gutter-buffers-tab の使われ方を見るかぎり、glyphp で調べない
で、直接 nil かどうかを調べるだけで良いみたいですが、方針は
正しいと思います。
bug の説明と ChangeLog を書いて xemacs-patches に送って頂け
ないでしょうか。
--
Yoshiki Hayashi