[mew-dist 20360] False headers appear in Mew Summary mode for messages in +draft

ITO Tsuyoshi tsuyoshi at example.com
2002年 2月 21日 (木) 15:17:51 JST


伊藤と申します。初めまして。 Mew 2.2rc4 を使わせていただいています。

+draft フォルダに、本文が
From: Foo Bar <foo at example.com>
Subject: Hello
のような行で始まるメールがあると、 Mew はこれをヘッダだと思って 
Summary モードに
    8  02/21 Foo Bar <foo at example.com Hello
などと表示してしまいます。

私はこの動作に戸惑ったのですが、意図的でしょうか?

また、 mew-summary-search-mark コマンド(? キー)で from=foo を
選択すると、上のメッセージがマークされます。これも変な気がします。

本当のヘッダの部分(---- という行より前)だけを調べるよう、
mewls を場当たり的に修正してみましたが、以下の点を考えると
全然完全ではありません。

・search_string 関数の中に修正前の nextline の動作に依存している
  ように思える部分がある
・eoh 関数もヘッダ部の終端を探しているように見えるが、こちらは
  いじっていない
・memcmp はいつでも string.h に入っているものなのかどうか知らない

なので、本当に修正するならよく考えたほうがいいと思いますが、
とりあえず私の行った修正のパッチをつけておきます。
バージョン 2.2rc4 を元にしています。

なお、私のところの環境は
  GNU Emacs 20.7.1 (sparc-sun-solaris2.6, X toolkit) 
です。関係あるかどうかわかりませんが念のため。

-- 伊藤 剛志  <tsuyoshi at example.com> --
--  (東京大学理学部情報科学科4年; 今井研) --

diff -c mew-2.2rc4.orig/bin/mewls.c mew-2.2rc4/bin/mewls.c
*** mew-2.2rc4.orig/bin/mewls.c	Tue Jan 22 08:39:39 2002
--- mew-2.2rc4/bin/mewls.c	Thu Feb 21 14:18:19 2002
***************
*** 296,301 ****
--- 296,305 ----
  nextline(char *p, char *lim) {
  	if (*p == LF)
  		return NULL;
+ 	if (lim - p >= 5 && memcmp(p, "----\n", 5) == 0) {
+ 		*p = LF;
+ 		return NULL;
+ 	}
  	while (p < lim) {
  		if (*p == LF)
  			break;



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