[mew-dist 23951] Re: tuning
橋 宏彰
hasi at example.com
2003年 7月 30日 (水) 17:12:53 JST
橋です。
> > # 実装の都合を考えずにいえば、From:もTo:も必要になった時点で
> > # (mew-summary-form-fromの中とかで)decodeすればもっとも効率的ですが...
>
> これは実装が難しいので、以下のようにしてみました。
>
> ・mew-scan-decode-fields に To: を加えた
> ・mew-scan-header は、mew-scan-decode-fields にあるフィールドを 2 行
> しか decode しない。
>
> もしかすると、Subject: には 3 行ぐらい必要かもしれませんが、とりあえず
> これで様子を見て下さい。
しばらく暮らしてみましたが、やはりSubject:は3行は欲しいところです。(一
日に数通はSubject:が途中までのメールを見かけます)
こんなかんじではどうでしょうか。実験したかぎりでは、2行決め打ちと比べ
てもスピードはほとんどかわりませんでした。
Index: mew-scan.el
===================================================================
RCS file: /cvsmew/mew/mew-scan.el,v
retrieving revision 1.194
diff -u -r1.194 mew-scan.el
--- mew-scan.el 2003/07/23 08:00:28 1.194
+++ mew-scan.el 2003/07/25 10:18:16
@@ -417,12 +417,15 @@
(forward-line)
(setq key (mew-capitalize (mew-match-string 1)))
(setq med (match-end 0))
- ;; two line is enough for Summary mode.
(forward-line)
(if (looking-at mew-lwsp) (forward-line))
(when (and (setq n (mew-member-case-equal key mew-scan-fields))
(string= (aref vec n) "")) ;; avoid multiple times
- (when (member key mew-scan-decode-fields)
+ (when (setq lines (cdr (assoc key mew-scan-decode-fields)))
+ (setq lines (- lines 2))
+ (while (and (looking-at mew-lwsp) (> lines 0))
+ (forward-line)
+ (setq lines (- lines 1)))
(mew-header-decode-region key med (point) draftp))
;; We need to keep composite properties of charset.
;; This must be "buffer-substring".
Index: mew-vars.el
===================================================================
RCS file: /cvsmew/mew/mew-vars.el,v
retrieving revision 1.196
diff -u -r1.196 mew-vars.el
--- mew-vars.el 2003/07/22 23:57:01 1.196
+++ mew-vars.el 2003/07/25 10:18:17
@@ -1136,7 +1136,7 @@
(defvar mew-summary-form-func-prefix "mew-summary-form-"
"The prefix for symbol used in 'mew-summary-form'.")
-(defvar mew-scan-decode-fields `(,mew-subj: ,mew-from: ,mew-to:))
+(defvar mew-scan-decode-fields `((,mew-subj: . 3) (,mew-from: . 2) (,mew-to: . 2)))
(defcustom mew-thread-column 28
"A position where thread indentation is inserted
Mew-dist メーリングリストの案内