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

グループパラメータとサーバー変数



T-gnus では表題のようなものを積極的に使うことにしても良いですか?
というアンケートです。特に nnshimbun に関連して。

;; 猛者のみなさまは適当に飛ばし読みして下さいませ。

グループパラメータとかサーバー変数という gnus の用語を info で目
にされる機会が多いと思います。あるいは、それらを積極的に使いこな
している方もいらっしゃるでしょう。

最初に簡単に説明しておきますと、例えば foo という変数シンボルの
値を "bar" に設定するために

(setq foo "bar")

とするのは一般に行なわれていることです。それだけならばこの foo
という変数は、一つの稼働している Emacs の中ではいつでも "bar" と
いう値を持つし、特別にバッファローカル変数として仕立てるならば、
バッファ毎に違う値を持たせることもできます。

グループパラメータとサーバー変数は、このバッファローカル変数にな
ぞらえると理解し易いかもしれません。すなわち同じ変数シンボルが、
グループパラメータの場合は fj.comp.emacs や nnml:inbox などのグ
ループ毎に、サーバー変数の場合は nntp+flab とか nnshimbun+asahi
などの method+サーバー毎に、それぞれ違う値を持つことができる変数
なのです。
例えば、みなさんがよくご存知の gnus-select-method の設定において、

(setq gnus-select-method
      '(nntp "flab"
	     (nntp-address "stars.flab.fujitsu.co.jp")))

この nntp-address が "flab" という nntp サーバに接続するときだけ
"stars.flab.fujitsu.co.jp" という値を持つサーバー変数です。

;; この妙に生々しい値は GNUS 4.1 から引用しています。

そして gnus には、これらグループパラメータとサーバー変数をカスタ
マイズするための強力なツールが用意されています。*Group* バッファ
における "G c" キーと "^" キーがそれらの編集開始コマンドです。

ここでちょっと補足。もし nntp-address という変数をサーバー変数と
して扱わず、単に

(setq nntp-address "stars.flab.fujitsu.co.jp")

とすると、これはサーバー変数が設定されていないサーバで、デフォル
ト値として利用することができます。ですから接続する nntp サーバが
一つしかない環境では、上記の gnus-select-method の設定を

(setq gnus-select-method '(nntp "flab"))
(setq nntp-address "stars.flab.fujitsu.co.jp")

の二行で行なっても良いのです。

さて、やっとここからが本題です。

このたび gnus の nnshimbun バックエンドは多くの人たちの努力によっ
てすばらしいものに仕上がってきた shimbun ライブラリを使うように
なりました。ここに nnshimbun-index-range という変数が導入された
のですが、現在これはグループパラメータとして使いこなしてはじめて
その真価を発揮させることができます。すでに `t-gnus-6_15-quimby'
枝の T-gnus の info に入っていますので、詳細はそちらをご覧になっ
て下さい。

gnus の流儀として、これをグループパラメータとしてカスタマイズし
て使うことにするのは美しい形態だと思うのですが、同じ shimbun ラ
イブラリを利用する Wanderlust が別の方式を導入しました。以下に
寺西さんが書かれた記事の一部を引用します。

>>>>> In [emacs-w3m : No.01089] 
>>>>>	Yuuichi Teranishi <teranisi@gohome.org> wrote:

> * elmo-shimbun-index-range-alist
> 初期設定は nil。shimbun フォルダ名とインデックスレンジの alist です。
> 例えば、

> (setq elmo-shimbun-index-range-alist '(("@slashdot-jp.story" . 8)
> 				       ("@airs.wl" . 5)))

> と指定すると、@slashdot-jp.story は最大で 8 ページ分、@airs.wl は
> 最大 5 ページ分、インデックスを取り寄せます。

> * elmo-shimbun-default-index-range
> 初期設定は、2。elmo-shimbun-index-range-alist にマッチしなかった
> 場合に、この値が使われます。

ここで述べられている elmo-shimbun-index-range-alist を gnus 語に
翻訳するならば、同じ nnshimbun-index-range という変数シンボルが、
グループ nnshimbun+slashdot-jp:story では 8、nnshimbun+airs:wl
では 5 という値を持つグループパラメータとして設定する、というこ
とになります。

みなさんはどちらのやり方がお好みでしょう?

いや、好みだけで決めることではないかもしれません。いちおう gnus
には gnus の流儀がありますから。しかしぼくが思うには、Wanderlust
のやり方も非常にわかりやすい、とっつきやすい点で捨てがたいのです。

新しい nnshimbun は情報収集用、あるいは娯楽の対象を大きく広げる
ことができる非常に有用なツールだと思うので、なるべくたくさんの人
に使っていただきたい。それにはあまり難しいことは知らなくてもすぐ
に使いこなすことができることが重要だと思う反面、gnus の流儀が難
しいのならばマニュアルや広報をもっと拡充していかなければならない
とも思い、Wanderlust のやり方をそのまま導入すべきかどうかで揺れ
ています。みなさんはどうするのが良いと思われますか?
なお、gnus の流儀と Wanderlust の流儀(?) の併用も可能だと思って
います。
-- 
Katsumi Yamaoka <yamaoka@jpl.org>