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

Re: Gnus-agent Unplugged and nnshimbun



>> On 07 Jun 2001 11:36:35 +0900
>> 「山」== yamaoka@jpl.org (Katsumi Yamaoka) said as follows:

山> 対症療法的には

山> (deffoo nnshimbun-close-server (&optional server)
山>   (when nnshimbun-shimbun
山>    (shimbun-close nnshimbun-shimbun))

山> ですが、ぼくもわかりません。識者のみなさま?

識者じゃないですが、とりあえずこの対症療法が正しいのではないでしょうか。


周辺を見てみたのですが、nnshimbun-shimbun は nnshimbun-open-server() 
で設定されるので、きちんと open されていさえすれば何の問題もないはずで
す。

しかし、gnus-agent-close-connections() は問答無用に全てのサーバーを 
close しようとしています。

    (defun gnus-agent-close-connections ()
      "Close all methods covered by the Gnus agent."
      (let ((methods gnus-agent-covered-methods))
        (while methods
          (gnus-close-server (pop methods)))))

小関さんの *Group* buffer の様子から察するに、対象となる nnshimbun
group はまだ open されていないようですから、

小> Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
小>   luna-apply-generic(nil shimbun-close nil)
小>   shimbun-close(nil)
小>   nnshimbun-close-server("asahi")

というエラーが発生するのだと思います。


というわけで、対症療法を、shimbun-headers() の第2引数の拡張と一緒に 
t-gnus-6_15-quimby 枝に commit しました。


2001-06-08  TSUCHIYA Masatoshi  <tsuchiya@pine.kuee.kyoto-u.ac.jp>

	* lisp/nnshimbun.el (nnshimbun-use-entire-index): Removed.
	(nnshimbun-index-range): New variable.
	(nnshimbun-close-server): Check status strictly to close server
	safely.
	(nnshimbun-generate-nov-database): Refer the group paramter
	`nnshimbun-index-range' as the second parameter of
	`shimbun-headers'.
	(shimbun-mua-use-entire-index): Removed.


これで shimbun group の group parameter に

    (nnshimbun-index-range . last)

のように設定しておくと、あるグループだけ index を取得する範囲を制御す
ることができます。


ところで、この指定が正しく働いているか確認しているときに気が付いたので
すが、sb-mhonarc なグループでは range の指定が有効になっていないような
気がするのですが、どうでしょうか。

-- 
土屋 雅稔  ( TSUCHIYA Masatoshi )
    http://www-nagao.kuee.kyoto-u.ac.jp/member/tsuchiya/