[Mew-dist 413] Re: ignore headers

A. SAGATA sagata at example.com
1997年 1月 14日 (火) 14:54:21 JST


さがた@NTTです.

In message <199701100619.PAA00905 at example.com>,
	ISOBE/磯部則和/Norikazu <isobe at example.com> writes.
isobe> ところで、この優先順位を変えることは出来ないでしょうか。
isobe> 一方が見せるものの設定、他方は見せないものの設定で、これらに
isobe> 設定されていないヘッダ(X-xxx など)が付いてきたときにそれらが
isobe> 見えるということは、invisible が優先されているように見えます。

mew-decode-elの内部では
  invisible-fieldに入ってるものをまず書きだし(厳密には残す),
  invisible-fieldに入ってないもののうち,
     ・visible-fieldに入ってるものを"visible"というlistに入れて,
     ・どちらにも属さないものをothersというlistに入れる
という処理をしてるようです.

isobe> visible に設定したものだけが表示されて、それ以外は見せないと
isobe> いうように出来ないでしょうか。

ソースを読んだところ,純粋に両者の優先順位を変えるには
関数を完全に置き換えなければいけないみたいです.
というわけで,ちょこっとした簡略版のパッチをつくりました.
少し内容がずれてますが,visibleにもinvisibleにも属さない
headerの扱いを切替えることを可能にします.

具体的には,メールを表示する時に,
従来は
	+-----------------+
	| invisible-list: |
	+-----------------+ ← バッファの一番上
	| visible-list:   |
	| others:         |
	+ --              |
	| 本文            |
	+-----------------+

だったのに対し,
	+-----------------+
	| invisible-list: |
	| others:         |
	+-----------------+ ← バッファの一番上
	| visible-list:   |
	+ --              |
	| 本文            |
	+-----------------+

にすることを可能になります.
(setq mew-others-field-visible [t/nil]) により
両者を切替えることができるようにしました.

デフォルトは従来通り(t :visible)の方にしています.
`patch -p1 < hogehoge`で当ててみて下さい.

------------------------------8<--snip-snip--8<------------------------------
--- ./mew-1.54/mew-decode.el	Tue Nov 26 01:34:27 1996
+++ ./tmp/mew-decode.el	Tue Jan 14 14:49:50 1997
@@ -37,6 +37,8 @@
     "Resent-Sender:" "Resent-Reply-To:" "Delivery-Date:")
   "*Invisible fields for mail header.")
 
+(defvar mew-others-field-visible t)
+
 (defvar mew-rfc822-fields
    '(("To:" . nil)
      ("Cc:" . nil)
@@ -739,12 +741,21 @@
 	      (aset visible n (concat line (aref visible n)))
 	      ))
 	  ))
+
+      ;; Put "others" before visible  --A.SAGATA at example.com
+      (if mew-others-field-visible
+	  ()
+	  (if others (insert others))
+	  (recenter 0)
+	  )
       (setq n 0)
       (while (< n len)
 	(if (aref visible n) (insert (aref visible n)))
 	(setq n (1+ n))
 	)
-      (and others (insert others))
+      ;; Put "others" before after visible  --A.SAGATA at example.com
+      (if mew-others-field-visible
+	  (and others (insert others)))
       )
     ))
 

------------------------------8<--snip-snip--8<------------------------------

-- 
日本電信電話株式会社 ヒューマンインタフェース研究所
     嵯峨田  淳       sagata at example.com



Mew-dist メーリングリストの案内