Bug? "A" for forwarded message

Katsumi Yamaoka yamaoka @ jpl.org
2000年 2月 10日 (木) 18:07:56 JST


>>>>> In [emacs-mime-ja : No.00396] 
>>>>>	tomo @ etl.go.jp (守岡 知彦 / MORIOKA Tomohiko) wrote:

tomo> それはともかく、header は original buffer から取って来ているので、
tomo> なんとなく original buffer の header 部分に `intangible' text
tomo> property が付いているような気がするんですがこれは正しいですか?

正しいです。
`gnus-hidden-properties' というユーザオプションのデフォルト値が
(invisible t intangible t) なのですが、見たくないフィールドはヘッダの
最下行にまとめられてこれらの props が付加されます。

tomo> また、もし正しいとすると、これは正常な挙動ですか?

正常、というか FSF Emacs の仕様に忠実に動作しています。
関数 `eword-decode-unfold' の中で行なわれている

    (while (re-search-forward std11-field-head-regexp nil t)

が intangible な領域にマッチしたとき、point は intangible な領域を飛び
越えてヘッダの最下部まで移動してしまいます。
この後で関数 `std11-field-end' は

    (if (re-search-forward "^$" bound t)
	(goto-char (1- (match-beginning 0)))

ということを行なうのですが、(1- (match-beginning 0)) は intangible な
領域内にあるので、point がintangible な領域の開始位置の直前まで戻って
しまい、これらを繰り返す無限ループになります。

と言うわけで有沢さんが提示された `inhibit-point-motion-hooks' を t に
束縛する方法や、最初にバッファ内の intangible な prop をはぎ取ってしまっ
ておくのが対策になると思います。
-- 
Katsumi Yamaoka <yamaoka @ jpl.org>




More information about the Emacs-mime-ja mailing list