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

Re: shimbun



>>>>> <mpa7l11419i.fsf@azalea.kuee.kyoto-u.ac.jp> にて、
>>>>> "土" = <tsuchiya@pine.kuee.kyoto-u.ac.jp> さんは書きました:

土> この件なんですけど、やっと問題を理解しました。確かに、現時点の 
土> shimbun.el の実装で use-entire-index => t とすると、とんでもないことに
土> なりますね。

土> 例として、emacs-w3m ML の場合を例にとりますが、まず新着記事の有無を検
土> 査するため、最新の記事リスト

土>     http://namazu.org/~tsuchiya/emacs-w3m/ml/

土> を取得します。その後、use-entire-index => t の場合は、順に

土>     http://namazu.org/~tsuchiya/emacs-w3m/ml/mail2.html
土>     http://namazu.org/~tsuchiya/emacs-w3m/ml/mail3.html
土>     http://namazu.org/~tsuchiya/emacs-w3m/ml/mail4.html
土>     http://namazu.org/~tsuchiya/emacs-w3m/ml/mail5.html

土> と4つも余分な記事リストを取得することになります。

土> これは、現時点の shimbun.el が前回取得時の記事リストを保存していないか
土> らだと思います。nnshimbun.el の場合は、Gnus の overview DB を利用して、
土> 前回取得時の記事リストに相当するものを保持していますので、前回取得時に
土> チェック済の記事が現れた時点で記事リストの取得を中断することができます
土> (事実上、最初の記事リストの取得だけで十分です)。

むむ、なるほど。
…ということは1回目の記事リストの取得に時間がかかることに
変わりはないのですね。

shimbun レベルでは未読管理はあまりしたくないので、
そういうことであれば、

* shimbun で例えば shimbun-mua クラスみたいなのを設け、
  そこに search-id とかいうメソッドを用意しておく。
* shimbun-get-header は得られた id を引数として shimbun-mua::search-id
  を呼び出し、non-nil が返ればそこでやめる。
* nnshimbun.el では、shimbun-mua-gnus みたいな shimbun-mua の
  サブクラスを作って、search-id を実装
  (overview DB を検索して、見付かったら non-nil を返す)。

という風にすると大枠は今の shimbun のままでもいけるのではないかと
思います。

土> 結局記事を取得しないと分からない部分があるので、

こっちは記事を取得してから overview DB を更新したいということですよね。
これもたぶん同様の方法で可能ではないかと思います。

--
Yuuichi Teranishi (寺西裕一) <teranisi@gohome.org>
PGP 5.0i Public Key: http://www.gohome.org/pgp5/teranisi.key
"The love you take is equal to the love you make..."