[Mew-dist 08236] Re: namazu.el for mew

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
1999年 3月 23日 (火) 17:03:20 JST


こんにちは、白井です。

# 長文失礼 (__)

From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: [Mew-dist 07985] Re: namazu.el for mew
Message-ID: <19990311143416Z.kazu at example.com>
Date: Thu, 11 Mar 1999 14:34:30 +0900

kazu> 白井さんと伊藤さんを中心にして、namazu への対応を統一して頂けませんか?

伊藤さんと相談して、とりあえず、

(eval-after-load "mew" '(require 'mew-namazu))

で動かす寄生虫モードを作ってみました。これを土台にして、討論出来
たら幸いです。

kazu> かずくんの要望:
kazu> 	- Mew/IM のデフォルトの挙動は変えて欲しくない

これは OK です。

kazu> 	- namazu に対応するために、新しい変数/関数の定義、
kazu> 	- 新たなキー割当が必要なら一緒に考えましょう

mew-namazu.el 内にひとまとめにしたので後述します。キー割り当ては
まったくこだわっていませんので、何でも良いです。

kazu> 	- 日本語のみでいいので、使い方のメモが欲しい
kazu> 		* namazu のインストール

http://www.ring.gr.jp/openlab/namazu/index-j.html
をどうぞ。configuer & make 一発です。 ^^;;;

kazu> 		* index の初期化、差分アプデート

このあたりは、elisp で支援する関数を書きましたので、後述。



以下、"愛称: ナマズ猫一号" について、mew-namazu.el を参照しなが
ら説明します。というか、mew-namazu.el に *日本語* でコメントを書
いていますので、そちらを中心に見て下さい。


## 0. とりあえず virtual mode の *おまけ*
##  mew-virtual-original-message() の様な関数があると、virtual
##  mode で便利かな?


1. namazu の index
1.1. namazu の index と folder の関係。
 folder と index files は 1対1 に対応付けられ、default では

folder(~/Mail/inbox) => index(~/Namazu/Mail/inbox)
folder(~/News/fj/editor/emacs) => index(~/Namazu/News/fj/editor/emacs)

といった場所に index が作られます。

1対1 にした理由は、以下のようなものです。

・その folder に対する index の作成や更新が素早く出来る。
・お好みの folder だけ index を作成するのが容易に出来る。
・ひとつの folder に対する search が速い。
・検索するときに「たくさんマッチしたので無視します(だっけな?)」
 に悩まないですむ。この問題は、特に namazu-virtual の拡張 folder
 指定で致命的。

逆に、全体をひとつだけの index で管理する方法に対する *弱点* と
しては、以下のことがあげられます。

・index の管理、更新が面倒。
・大量の folder に検索をかけるときは遅い。
・index の容量の総和が大きくなる。

1.2. index の作成
 "zm (mew-namazu-mknmz)" で folder を指定すると、その folder に
 対応する index を作ります。このとき、"C-u" 付きで実行すると、
 folder に対応する index を削除してから mknmz します。
 また、mew-namazu-prog-gcnmz が存在し、
 mew-namazu-use-gcnmz-folders の folder なら mknmz の後に gcnmz
 を実行します。

1.3. すべての folder に対する index の作成支援
 "M-x mew-namazu-mknmz-all-flush" ですべての folder に対して
 mknmz を実行します。このときは、
 mew-namazu-mknmz-skip-folders、mew-namazu-mknmz-skip-news など
 の変数をみて、index を *作らない* folder を決定します。
 最初に、mew-namazu-mknmz-all-flush を実行するときは、とっても時
 間がかかりますが、2回目以降はたいした時間はかかりません。


2. "z? (mew-namazu-search-mark)"
 mew-summary-search-mark のまね、です。
 namazu に渡す pick pattern はキーワードの complete  以外、何も
 していません。そのまま namazu に渡されます。
 pick pattern に関しては、以下の関数にも該当します。
 

3. "z/ (mew-namazu-search)"
 mew-summary-search のまね、です。もし、指定した folder の
 summary buffer が新しければ、mew-namazu-pick の結果で直接
 summary buffer をエディットします。この方法の利点は

・(伊藤さん曰く)笑っちゃうぐらい速い。
・生成された summary に対して、再度 mew-namazu-search することに
 よって、対話的に and 検索が出来る。

 です。これを fast-pick-mode と(勝手に)呼びます。fast-pick-mode
 は以下のどれかが当てはまるときにネゲートされて、imls mode にな
 ります。

・"C-u" 付きで実行されたとき。
・mew-namazu-use-fast-pick => nil のとき。
・summary buffer が新しくないとき。

4. "zV (mew-namazu-virtual)"
 mew-summary-virtual のまね、です。

4.1. fast-pick-mode
 もし、該当した folder の .mew-cache が使えるときは namazu の検
 索結果を使って、.mew-cache から直接 virtual folder を作成します。
 .mew-cache が使えない folder に関しては、fast-pick-mode の終了
 後 imls の出力を使って virtual folder に追加します。
 .mew-cache が使える/使えないの判定は
 mew-namazu-folder-dir-newp() で行なっています。
 また、mew-namazu-use-fast-pick => nil のときは、すべての folder
 に対して imls を用います。

# fast-pick をしたおかげで、ソースが汚くなってしまいました。^^;

4.2. 拡張 folder 指定
 folder を指定するときに、"+ml/mew-*" の様に最後を "*" で終ると、
 その入力パターンに前方一致するすべての folder に対して
 namazu-virtual を実行します。"+ml/mew-*" の場合は
 "+ml/mew-dist", "+ml/mew-dist/old", "+ml/mew-win32" などの
 folder を検索することになります。
 また、"+*" と入力すると、すべての Mail folder が指定されたこと
 になります。
 
4.3. imls の namazu 対応
 % imls --src='namazu の index dir,namazu の index dir,……'
        --grep='namazu の pick pattern'
	--namazu=yes
	'最初の出力 message 番号'

 と --namazu=yes/no option を増やしました。

 imls に関して、私は Perl に関して素人同然なので以下のことが出来
 ていません。どなたかパッチを作って下さるとありがたいです。(__)
  
・'最初の出力 message 番号' が指定されていなかったら '1' が指定
 されているものとする。
・namazu の出力の sort をもっと賢くしたいです。
 "/home/shirai/Mail/inbox/1" のような出力が出るのですが、この整
 数部分に対して sort したいのですが……


5. その他
5.1. cron 用に mew-namazu-mknmz-all-flush() と同等のことをする
  shell script が欲しいです。'emacs -batch' も考えたのですが、やっ
  ぱり夜中に Emacs が勝手に動くのも何だなぁと思いまして。

5.2. interactive に mknmz したときは、start-process の方がいいか
  なぁ……

5.3. virtual で namazu を起動するときは、複数の index を同時に指
  定して namazu を動かした方がいいかなぁ……

5.4. time stamp を見て、自動的に mknmz するのはどうしよう。うざっ
  たいだけのような気もするし。

5.5. .mew-cache から virtual folder を作るとき、たくさんマッチす
  ると Garbage Collection が大量に発生します。1ライン単位で
  buffer を切替えて insert した方が良いかしら?


kazu> 3 月中に安定して動けば、1.94 にマージします。

仕様うんぬんを除けば、手元では十分安定して動いている、と感じてい
ます。

# 疲れたけど、楽しかった :-)

-------------- next part --------------
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
-------------- next part --------------
H4sIAJhK9zYAA4VUa2/bNhT97AD5D3eKFkuT5EZx59ZS0yjI+ghQJ8XstMOmzZAsyuYmUSop
p49E/72XoiQ7wIAKAsFLnvs4h5d0HAdonokRZaOC0/XgI0lgFnFwT8D91RtPPPc5uNPp9PDA
sqwOOlhsSYM6HYM79k6n3rhDBQE4p1P7GVjNGASHB7AVBO4iLuDTZ0N/z4s16K/+eP/u4vpi
cXVzDcFNWV0WLKVrxA4Av0AQfke46Gy9KKtlWvBczf6lQkQpUcZnmlQbNa02nEQJBHIu+Orw
wNl5U5YQVqn5mpNSzRKS0ZxWhCtzFQmSFlmCZH/kyaI8+rb9QZS96pFOXAjSOcTbtZp+2lLS
Bt+QrA0eb9OUcNPHCPgfHSlZJ0/tCVg4trLKb6g4+7HvDwHOXsJwFv1HQK2Kod3BFAmfdjDt
YyNbkbZQUACtd5BMfdHAlcMbSb2MKqTJAM8C7sQqYtLBahyUILtCtFtk26r0CK7idyKhQ8HQ
RZZ+iWsgCBO0one0+jocSQm1kIVVWBmLDRWA6tCCQYT6rCoBcYEkUkqyBDMRiFjSlTgyd7n6
80FCGIw9hMzBL+zyziKawQZVwBPssVI7qbp7Mpbd7J48tV1XCV8DyQRNweh7woT7NhkneKKc
wNXM814jPwx5fIz3pix4tbfo/w+8UfgxWC4h1JHQ40ZBQ3ZFo3hfgBLZvJddq0DtkqEvbQgu
fn/zoXdqSiewh90FrNuayBdayRt6tVjOby8vX83nfkea9DxldnTPIm50982En87AbaSQwo2f
T2S/jqeuPZ7sOlZmqZvGtvA/ks0tR9gvvN8Q2/jRBjIOmgRNwflX0Nk2hzMQG5pW/v5y/o0m
X3yVRC7GlOVFQoz54reb20XPGTuTRKsN7JFotMEYRhvEBp1HbE2EiYmMJ8Zf/3h/W6Zx7nnm
uTH6xTx/0kSTLkFO8GVCqESabfZBURJmwPXsTxu0loYTkTmEWt8/odaV/KCZ0D0/Dw/YC0vC
udE7olHwkGkq5X4+IXvmXo/gBba0HtfwAjO+bGCrDF+epgLoi+qJ7xXdcpepV5ui9DtDnjU4
KejLDiLJ/vxWvhtncLwm8u2StwcbThU20OXm/bDE4xnWCGptNGPCvWH9CNWvSiAaajOholzm
Ym2ETSZ79wK3p4f+CLasvs5aTupdN1t194AeqREYqzCm4rtUaQ8PvgPMmE3uBAcAAA==
-------------- next part --------------

-- 
白井秀行 (mailto:Shirai at example.com)


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