[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Gnus-agent Unplugged and nnshimbun
>>>>> In [emacs-w3m : No.01127]
>>>>> TSUCHIYA Masatoshi <tsuchiya@pine.kuee.kyoto-u.ac.jp> wrote:
山岡> ところで、今 Lars さんの口調で楽しく info を書いているのですが、
山岡> 書き終わるまでに「待った」がかからなかったら T-gnus の revision
山岡> を 02 に上げて、ついでに `t-gnus-6_15' 枝にフィードバックしよう
山岡> と思います。
土屋さん> どうも。nnshimbun-index-range についての記述も宜しくお願いし
土屋さん> ます。
emacs-w3m に参加されていない皆さんには話がつながっていなくて申し
わけありません。nnshimbun.el のいくつかの新機能が一段落したので、
ちゃんと info を書いて、今まで `t-gnus-6_15-quimby' 枝だけで作業
していた内容を `t-gnus-6_15' 枝にフィードバックし、revision を
02 に上げようという話の続きです。
で、たいへん申し訳ないのですが info でつまづいてしまいました。
index-range の記述まで至ってすらいない状況で、これから慌てて作業
してもロクなことはないと思うので、今週はこれにて打ち止めにします。
;; revision を上げる際に、iso-2022-7bit-ss2 に代わる FSF Emacs
;; と XEmacs で差が生じない coding-system に変えたいとも思ってい
;; ます。
新しい info は `t-gnus-6_15-quimby' 枝だけに CVS commit してある
のですが、何が問題かと言うと、行の右側がなぜか揃わなくなってしまっ
たのです。特に "(setq nnmail-expiry-wait-function" のくだりなん
て、いったいどうなっているんでしょう? なにぶん texinfo は素人な
ゆえ、どう直したらよいか教えていただけると幸いです。
;; あ、もちろん CVS で実力行使してしまって下さるのは大歓迎です。
すみませんが、これにて。
ちょっと長いですが、info のその部分を以下に添付します。
ところで `nnshimbun' バックエンドでは、記事の期限切れ消去を行なうこ
とができます。ああ、もちろんあなたが三日前の新聞記事を消去するように設定
したからといって、新聞社のサーバーにある三日前の記事が消えてしまうわけで
はありません。消えるのはあなた個人が持っている `nnshimbun' 用
の NOV ファイルの該当する部分で、それによってその記事は二度と概略バッ
ファに現れなくなります。
`nnshimbun' バックエンドでは記事の期限切れ消去を行なわない
と NOV ファイルが際限無く太り続け、新聞社のサーバーではとっくに無く
なっている三年前の記事が、概略バッファではあたかも存在しているように見え
ます。それを読もうとしても記事バッファには何も現れません。
一方メーリングリストの記事を提供しているサーバーの場合には、過去の全記事
を保有している場合が少なくないでしょう。昔あなたが興じた一連の記事を読み
返して懐かしむために、そういうグループでは期限切れ消去はさせたくないと思
うかもしれません。
実は `nnshimbun' バックエンドでも、他のメールバックエンドと同様の方
法でグループ毎に自動期限切れ消去可能にしたり、残しておく期間を設定するこ
とができるのです (*Note Expiring Mail::)。
ただ `nnshimbun' バックエンドの期限切れ消去には、他のメールバックエ
ンドと少しだけ違う点があります。第一に、残しておく期間のディフォルト値に
`shimbun' ライブラリが提供する値が関係し、以下の優先度で期間が決定
されることです。
グループパラメータの `expiry-wait'
`nnmail-expiry-wait-function' を評価した値
`shimbun' ライブラリが提供するグループ毎のディフォルト値
`nnmail-expiry-wait' の値
第二に、`nnmail-expiry-wait-function' が関数だった場合に、その引数に与
えられる文字列に "nnshimbin+asahi:national" のようにバックエンドとサー
バーの名前が含まれることです。他のメールバックエンドの場合にはグループ
名だけが与えられるのに、です。一つ例を挙げましょう。
(setq nnmail-expiry-wait-function
(lambda (group)
(cond ((string-equal group "wl") 7)
((string-group group "nnshimbun+airs:wl" 'never)))))
これは、例えば `nnml' や `nnmh' で受信している Wanderlust メーリングリ
ストの記事は 7日で期限切れ消去するが、`nnshimbun' で読む同じメーリング
リストのアーカイブはすべて読める状態にしておく、ということです。どうで
す、なかなか賢いでしょ?
`nnshimbun' の期限切れ消去に関係する、以下の二つの変数を覚えておいて下
さい。
`nnshimbun-keep-last-article'
この値が `nil' でない場合は、そのグループで最後に残った記事を期限
切れ消去しません。今のところ、記事がまったく無くなってしまうと寂
しいから、という以上の理由で使う目的はありません。と言いながら初
期値は `t' なんです。
`nnshimbun-keep-unparsable-dated-articles'
この値が `nil' でない場合は、作成されたり送信された時刻が時刻がよ
くわからない記事を期限切れ消去しません。なにしろ期限がわからない
んですから。初期値は `t' ですが、`nil' にすると期限切れ消去の処理
が行なわれるときに、期限がわからない記事でも有無を言わず消してし
まいます。まあ、年の暮れの大掃除のときにでも使って下さい。