Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

mhonarc.pl



http://www.namazu.org/ml/namazu-devel-ja/msg01988.html
で話題になった、mhonarcのアーカイブをindexする際の、
<TITLE>[hoge:00740] Re:
よろしくおねがいします
</TITLE>

の NMZ.field.subject が、

[hoge:00740] Re:

になる件です。

当方ではnamazu 2.0.12同梱のmhonarc.pl v 1.23.8.2や、
v 1.26で再現してしまいます。

# mknmz -C
システム: solaris
Namazu: 2.0.12
Perl: 5.00503
NKF: module_nkf
KAKASI: module_kakasi -ieuc -oeuc -w
茶筌: no
わかち書き: module_kakasi -ieuc -oeuc -w
メッセージの言語: ja
言語: ja
文字コード: euc
(mhonarc v2.5.13)

以前のコードを参考にして、
--- mhonarc.pl.1.26     2002-11-22 18:36:21.000000000 +0900
+++ mhonarc.pl  2002-11-22 18:48:22.618978000 +0900
@@ -120,6 +120,7 @@
     $pos = index($$contref, '<!--X-Head-of-Message-End-->');
     if ($pos >= 0) {
	$msg_header = substr($$contref, 0, $pos);
+	$msg_header =~ s!^(<LI>)(.*?)(</LI>$)!$1 . lftospace($2) .  $3!giems;
	substr($$contref, 0, $pos) = "";
     }

@@ -185,4 +186,10 @@
     $str;
 }

+sub lftospace ($) {
+    my ($str) = @_;
+    $str =~ s/[\r\n]/ /g;
+    return $str;
+}
+
 1;

とかやると折り返し部分にspaceが入るものの、うまくいきます。
mhonarcで生成する文字コードをEUC-JPに変換せず、ISO-2022-JPのまま
処理しているせいでしょうか...

-----------
杉原 智彦