[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 メーリングリストの案内