Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: mew-summary-* 対応
From: Rei FURUKAWA <furukawa@xxxxxxxxxxxx> さん曰く
Subject: [namazu-devel-ja] Re: mew-summary-* 対応
Message-ID: <20001218125132O.furukawa@xxxxxxxxxxxx>
Date: Mon, 18 Dec 2000 12:51:32 +0900
shirai> # sort/pack をするとしても +inbox だから、最大 200〜400通。
shirai> # そのときは、即座に Index を作り直してしまいます。
古川> わたしも、基本的にはそうなのですが、大きなインデックスを作ったあとで、
古川> 順番の間違いを見つけたときに、少し居心地の悪いような気持ちになります。
とっても居心地が悪いです。(^^)
shirai> # nmz-mew-summary-fixer.pl を動かすと、NMZ.r.nnnn.tmp,
shirai> # NMZ.t.nnnn.tmp, NMZ.field.hoge.nnnn(.i).tmp ができて終了、
shirai> # nnnn.tmp は手動で mv してね、というのでいいのですか?
古川> # win では以前にも同じようなことがあったような…
古川> …そうか、close していないからですね。次で直します。
Solaris 7 上では確かに問題なく動きました。感謝です。
shirai> の形式になっています。Win32 で uri に使う絶対パスは
shirai> /c|/home/shirai/Mail/inbox/12
shirai> と書くようになっていたりします。
shirai> (mew-nmz 的には、前者の方が処理が速かったりする (^^))
古川> では、オプションでできるようにします。
よろしくお願いします。
shirai> 古川> 同じ Message-Id を持つメールが複数あったらどうするか
shirai> これも、
shirai> 古川> ヘッダの Message-Id と Date それにファイルのサイズが一致するもの
shirai> で良いのでは無いでしょうか。
古川> 逆に、Message-Id が一致するのに、他の要素が一致しないがために、対応づけ
古川> されない可能性 (具体的には私には思いつかないんですけれども) があるのかど
古川> うか、いまひとつ自信がなくて。
う〜〜ん、私がやっちゃうとすると、そのメールを手動で開いて、ちょっ
と edit してしまう。というのがあります。そうすると、サイズが変わっ
ちゃいます。
だけど、次に mknmz が動いたときにファイルが新しくなったよ、とい
うことで index が更新されるので気にしないでいいと思います。
または、ちょっと大変かもしれませんが、その Message-Id を含むファ
イルが一つしかないときは、Date やサイズは見ない、とか。
shirai> pack/sort/exec した後に command 一発動かせば、その folder の
shirai> Index が最新に保たれる、というのはとても魅力です。
古川> そこまで思い切れなかった、というだけでして、そういう処理を入れることは
古川> 可能です。
こちらは是非是非。(_ _)
shirai> 2. mew-nmz で『1 folder = 1 index』という形式だけでなく
shirai> 『~/Mail 以下 1 index』形式に対応してほしい、という要望を以前か
shirai> らたまに受けることがあります。これについてなにかご意見というあり
shirai> ますでしょうか?
古川> これに似たことはできて欲しい、という気持ちはあります。
古川> # 誰から来たメールだか思いだせないと、+from 以下全部試さなければいけな
古川> # くなるので。
たしかにそうですね。
もし、現在の index 形式を変えるとしても、変数で
『こいつは、1folder=1index』『ここは、+from 以下で 1index』
とか指定できるようにしてみます。
# いつのことになるかはわかりません ^^;;;
古川> 例えば、+from に移動して。'z N' とすると、+from 以下のインデックスをま
古川> とめて検索対象とする、とか。
これって、mew-nmz-virtual() と mew-nmz-namazu() 内の
(mew-input-folders (buffer-name))
を
(mew-input-folders (concat (buffer-name) "*"))
に置き換えれば良いですか? 私もこっちのほうが気に入ってしまいま
した。
# もしかして、"zn" 子供検索のことですか?
おまけ。
○ Pack/Sort の後、勝手に fixer を起動します。
○ "zf" で fixer を起動します。
Mew 1.95b90 でしか動作確認をしていませんが、古川さんのお使いの
Mew 1.94.2 でも(おそらく ^^;)動くと思います。
(defvar mew-nmz-prog-fixer "nmz-mew-summary-fixer.pl")
(defvar mew-nmz-prog-fixer-args '())
(add-hook 'mew-summary-mode-hook
(lambda ()
(define-key mew-summary-mode-map "zf" 'mew-nmz-exec-fixer)))
(defun mew-nmz-exec-fixer ()
(interactive)
(let* ((interactive-p (interactive-p))
(fld (if interactive-p
(mew-input-folder (mew-summary-folder-name))
(mew-summary-folder-name)))
(fixer
(if (fboundp 'mew-which-exec)
(mew-which-exec mew-nmz-prog-fixer)
(mew-which mew-nmz-prog-fixer exec-path)))
(args mew-nmz-prog-fixer-args)
nmzdir)
(if (not (and fld fixer))
(and interactive-p
(message "Can not exec %s." mew-nmz-prog-fixer))
(setq nmzdir (mew-nmz-expand-folder fld))
(setq fld (mew-expand-folder fld))
(if (and
(file-exists-p nmzdir)
(file-directory-p nmzdir)
(file-exists-p (expand-file-name "NMZ.field.message-id" nmzdir))
(file-exists-p (expand-file-name "NMZ.field.size" nmzdir))
(file-exists-p (expand-file-name "NMZ.field.date" nmzdir))
(not (file-name-all-completions "NMZ.lock" nmzdir)))
(progn
(message "Exec %s (%s) ..." mew-nmz-prog-fixer nmzdir)
(apply (function call-process)
fixer nil nil nil
(append (list fld nmzdir) args))
(message "Exec %s (%s) ... done." mew-nmz-prog-fixer nmzdir))
(and interactive-p
(message "Can not exec %s at %s." mew-nmz-prog-fixer nmzdir))))))
(defadvice mew-summary-sort (after exec-fixer activate)
(mew-nmz-exec-fixer))
(defadvice mew-summary-pack (after exec-fixer activate)
(mew-nmz-exec-fixer))
--
白井秀行 (mailto:shirai@xxxxxxxxxxxxxxxxxxx)