[mew-dist 23309] Re: displaying body

Tatsuya Kinoshita tats at example.com
2003年 3月 17日 (月) 20:51:47 JST


On March 13, 2003, [mew-dist 23276],
Tatsuya Kinoshita <tats at example.com> wrote:

> 正規表現をいくつか試してみたけど、難しい。納得のいく結果は得られ
> ていません。単純な行マッチングとは別の方法が必要なのかなぁ……。

とりあえず、正規表現の変更を出しておきます。あとスペースの挿入・
除去も。手元では、だいぶマシになった感じに見えます。(名乗りや独特
な引用ラベルには対応できていません)

-- tats

 This patch is written by Tatsuya Kinoshita.  Copyright is disclaimed.

--- mew-scan.el	2003/03/14 15:34:58	1.155
+++ mew-scan.el	2003/03/17 11:50:34
@@ -473,9 +473,18 @@
       (while (and (not (eobp)) (< i I) (< j J))
 	(setq use nil)
 	(cond
-	 ((looking-at "^[-a-zA-Z0-9]+[:>] "))
-	 ((looking-at "^[>#;]"))
 	 ((looking-at "^[ \t]*$"))
+	 ((looking-at "^[ \t]*[-a-zA-Z0-9]+: "))
+	 ((looking-at "^[ \t]*[>:|#;/_}]"))
+	 ((looking-at "^[ \t]*\\w+\\(['._-]+\\w+\\)*>"))
+	 ((looking-at "^  "))
+	 ((looking-at "^--"))
+	 ((looking-at "^- --"))
+	 ((looking-at "^=2D"))
+	 ((looking-at "^.*\\(:\\|;\\|/\\)[ \t]*$"))
+	 ((looking-at "^.*\\(wrote\\|writes?\\|said\\|says?\\)[^.!\n]?[ \t]*$"))
+	 ((looking-at "^[ \t]*\\(On\\|At\\) .*[^.! \t\n][ \t]*$"))
+	 ((looking-at "^[ \t]*In \\(message\\|article\\|<\\|\"\\)"))
 	 (t (setq use t)))
 	(if (not use)
 	    (forward-line)
@@ -483,10 +492,10 @@
 	    (goto-char (match-end 0)))
 	  (setq beg (point))
 	  (forward-line)
-	  (setq body (concat body (mew-buffer-substring beg (1- (point)))))
+	  (setq body (concat body (mew-buffer-substring beg (1- (point))) " "))
 	  (setq j (1+ j)))
 	(setq i (1+ i)))
-      (setq body (mew-cs-decode-string body cs))
+      (setq body (mew-cs-decode-string (mew-replace-white-space body) cs))
       (aset vec (1- (length vec)) body))))
 
 (defun mew-scan-width ()



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