emaCS 入門 図 39 gnus-Group-Iist-aI ト groups の実行後 3 : 10Ca1. test 2 : gnu . announc e 9 : gnu. bash. bug 1 : gnu. Che S S 1 : &nu . emacs . 22 : . bug . emaCS 1 : gne WS . emacs . 27 : . emacs . gnus 105 : . help . emaCS 15 : . emacs . 19 : . vm. bug . emacs 5 : . vm . inf 0 . emacs 2 : . emacs . vms 41 : gnu. epoch . mISC 0 : gnu ・ g + + 2 : gnu. g + + . 55 : gnu. g + + . bug 60 : gnu ・ g + + . 五 elp 20 : gnu ・ g + + . lib . bug 0 : gnu ・ gcc ・ 74 : gnu ・ gcc . bug 52 : gnu ・ gcc ・ help を入力してください。たとえは、図 41 のカレントの記事に u で、、読んでいないふりマーク (unread マーク )〃を付ける と、図 42 になります。 Subject ノヾッフアのマーク D や K 、 M-u や、 M -U を入力すれはクリアされます。、、ノマークはユーザーが消 さないかぎり残るので、もう読まなくなった時点で、、 M ー u 〃 を入力してください。さもないと、どんどん読んでいない 己事が溜まってしまって、さあ大変。 さきほど、 Subject バッフアで d や D を入力するとヾ読 んだふり〃ができると書きましたが、 Newsgroup バッフ アでも、、読んだふり〃ができます。しかも、、、すべての記事 を読んだふり〃という大胆な指定が可能です。 を押してください。 Newsgroup ノヾッフアで、 0 てⅡ ) DO you rea11y want tO mark everything as read? けるのね。過去に振り回されないなんて気が利いてるしゃ と訊かれるので、臆することなく、、 y クを入力します。これ で、カーソルのあるニュースグループの記事をすべて読ん ない」 だことになりました ( 図 43 ~ 44 ) 。 「あら、新たな気持ちで新しく届いた記事だけを読んでい 図 40 unread マークカ望寸いているサプジェクト ] This is test ] This is aISO test U 〃は、 一三ロ でも、このコマンドは本当にすべての記事を、、読んだふ り〃してしまいます。たとえ、 Subject バッフアで unread 9 : + [ 3 : ara 11 : ■ [ 5:araiguma 10 : [ 19 : A 図 gnus-Subject-mark-as-unread-forward の実彳テ前 9 : 国 [ 3 : 矼 a ] This is test 11 : [ 5 : araiguma ] This is a1SO test 10 : [ 19 : A 図 42 gnus-Subject-mark-as-unread-forward の実彳ラ後 ] This is test ] This is also test 9 : + [ 3 : ara 11 : ■ [ 5 : araiguma 10 : [ 19 : A 128 UNIX MAGAZINE 1992.7
ernacs 入門 ,/、/ N V 技を磨こう ドキュメントをお願い gnus は、規模の大きなシステムです。ドキュメントを眺 めてみても、多種多様なコマンドが用意されています。次 は、これらの豊富なコマンドに触れてみましよう。 ただ、あまりにもたくさんありすぎるので、雑誌の記事 を読んだ程度ではとても憶えきれません ( 書くほうだって 書ききれない ) 。そこで、 gnus のドキュメントに助けても で、、 ? 〃を入力したときのエコー行の表示です。 ・ Article2S ッファ ・ Subject ノヾッファ Newsgroup ノヾッファ 図 24 ~ 26 はそれぞれ、 いキーバインドが表示されます。 いことに、個人的にキーバインドを変更していても、正し を押してください。工コー行に簡単な説明が出ます。嬉し ます各バッフアで、 らいましよう。 きあっていらっしやるので、いつの間にか「 GNUS 入門」 しろ膨大な数のコマンドさんたちが、、僕も私も〃とひしめ と思ったのですが、なに ンドごとに説明しましよう・・ ですって ? はいはい、承知いたしました。それでは、コマ 「もっといろんなコマンドを表示してほしい」 です。 でも、これだけではあちこちから不満の声が上がりそう になってしまいそう。そこで、 C-h m こではとりあえす、 を実行してください。これは、 describe-mode コマンド、 「でも、こんな短い説明だけで理解しろって無理しゃなー のような特殊なコマンドがあるかが分かりました describe-mode コマンドのおかげで、モードごとにど 待に添えなくてもごめんしてね。 しも gnus のように親切な説明とはかぎらないので、ご期 フアでも使えるので試してみてください。でも、かならず は gnus 特有のコマンドではありません。 gnus 以外のバッ コマンド名からも推測できるように、 describe-mode Lisp 変数などが表示されていますね。 コマンドとキーバインド、カスタマイズに関する Emacs 一部しか掲載していません ) 。そのバッフアで利用できる で m" を入力したときの表示です ( かなり長いので、 ・ Article'S ッファ ・ Subject2 ヾッファ Newsgroup ノヾッファ ンドされています。図 27 ~ 29 はそれぞれ、 つまりメジャーモードの説明を表示するコマンドにバイ はいはい、いちいちごもっとも。それでは、 マンドはいかがでしよう。 C-c C-i ならば、もっと詳しい情報を渡してくれます。 こちらのコ こク ) コ ~ ン ドは、 gnus に付いてくる texinfo 形式のドキュメント 6 を 6 Nemacs が標準で備えているドキュメント・システムです。 *M-x info" を実 行してみてください。 図 24 gnus-Group-describe-briefly の実行後 SPC : Se1ect Ⅱ : Forwar& p: Backward q: Exit 図 25 gnus-Subject-describe-brieflY の実行後 SPC : Se1ect Ⅱ : Forward p : Backward q: Exit 図 26 gnus-ArticIe-describe-briefIy の実彳テ後 C-c TAB:Run lnfo C-c TAB : Run lnfo ? : This He1p ? :This He1p SPC: Next page DEL : Prev page 五 : Show headers UNIX MAGAZINE 1992.7 C-c TAB : Run lnfo ? :This He1p 123
数の戻り値は文字列で、引数の s に格納されるものと 同じです。引数に NULL が指定された場合には tmp- nam 関数の内部のバッフアを返すようになっています。 tmpnam 関数にはバッフアのアドレスを渡すだけて特 定の文字列を渡しません。このことからも分かるよう に、作成される一時ファイルの名前はどのようなプロ グラムでも同しで、形式は、 /usr/tmp/aaaa01023 となります。 /usr/tmp は、システムで決められたディ レクトリ 3 です。最初の 3 つの a は、同しプロセスが tmpnam 関数を複数回呼び出したときのためのカウン タとして使われます。これは、 sort コマンドの後ろの 2 つの文字や mktemp 関数のときの最初の 1 文字と同し 役割をもっています。最後の a は、カウンタを進めて 作成したファイル名がすでに存在していた場合に用い られます。さきほどの、 /usr/tmp/aaaa01023 というファイル名を作ったあとで、 /usr/tmp/baaa01023 というファイル名を作ろうとします。しかし、この名前 のファイルがファイルシステム上に存在していると、 /usr/tmp/baab01023 というファイル名を生成します。後ろの 5 桁の数字に は、やはりプロセス ID が埋め込まれます。 もう 1 つ準備されている関数に、 tempnam がありま す。これは、 tmpnam と同様に System V 系の UNIX で使用できます。 tmpnam と tempnam の違いは、 tempnam の場合 には一時ディレクトリ名やファイル名のプレフィックス を定義できることです。 tempnam の呼出し形式は、 char *tempnam(dir , pfx) char *dir , *pfx ; となっています。 dir には一時ディレクトリを指定し ます。 NULL を指定した場合には、 tmpnam と同様に stdio. h で定義された p-tmpdir の値が用いられます。 3 このディレクトリも、 p-tmpdir として stdio. h で定義されていま す。 UNIX MAGAZINE 1992.7 LJN Ⅸ流プログラミング 21 pfx はファイル名のプレフィックスを指定する部分で、 NULL を指定した場合には空文字列であるとみなされ ます。 pfx の値を指定することにより、 sort コマンド の stm という文字列のように、どんなコマンドがこの ファイルを作っているのかを示すことができます。実 際に、呼出し形式と作成される名前をくらべてみると、 tempnam (NULL , NULL) ; /usr/tmp/AAAa01048 tempnam ( " /tmp' /tmp/stmAAAa01048 などとなります。一時ディレクトリが指定できる点、フ ァイル名に対してプレフィックスか指定できる点を除く と、 tmpnam との違いはカウンタとして使われる文字 が大文字になっている点だけですね ( とはいっても、デ ィレクトリやプレフィックスか指定できるのは大きな利 点ですが・・・・・・ ) 。 ファイルのオープン これまで紹介してきた関数は、一時ファイル名を作 成するための関数でした。もう一歩進んで、一時ファイ ルをオープンするための関数も準備されています。 mk- temp に対応する関数が mkstemp で、 tmpnam に対 応する関数が tmpfile です。 mkstemp 関数では、 mktemp 関数と同様なテンプ レートを引数としてとります。 mktemp 関数と同様に ファイル名の作成後に、そのファイルをオープンして ファイル・ディスクリプタを返します。一方 tmpfile は引数は何もとりません。これは tmpnam に NULL 引数を与えてファイル名を作成し、そのファイルをオー プンしてファイルポインタを返します。 この 2 つの関数の大きな違いは、返す値の違いでしょ う。 mkstemp ではファイル・ディスクリプタを返しま すので、返されたファイル・ディスクリプタを write や read システムコールでしか使うことができません。 一方、 tmpfile ではファイルポインタを返しますので、 tempnam ( " /tmp" , NULL) ; /tmp/AAAa01048 139
emacs 入門 Subject ノヾッフアでのカーソル移動 C-p C-n く 前のサプジェクトに移動 次のサプジェクトに移動 バッフアの先頭のサプジェクトへ移動 バッフアの最後のサプジェクトへ移動 ューサーが指定したサプジェクトへ移動 サプジェクトをインクリメンタル・サーチする 記事の内容を表示させる方法はいくつかありますが、 れから紹介するどの方法でも記事の内容は Article バッ フアに表示されます。 もっとも簡単な方法は・・・・・・、そうく SPC 〉を叩けばいいの 図ログループを選択する前の状態 3 : 2 : 9 : 22 : 27 : 105 : 15 : 19 : 5 : 2 : 41 : 2 : 55 : 60 : 20 : 74 : 52 : 39 : 35 : 100a1. test gnu. announce gnu. bash. bug gnu. chess gnu. emacs . announce gnu ・ emacs. bug gnu. emacs. gnews gnu. emacS. gnuS gnu ・ emacs. help gnu. emacs. sources gnu ・ emacs. *. bug gnu. emacs. Vrn. infO gnu ・ emacs . マm5 gnu ・ epoch. misc gnu . g 十十 . announce gnu ・ g + + ・ bug gnu.g + +. help gnu ・ g + +. lib. bug gnu ・ gcc ・ bug gnu ・ gcc. help gnu ・ gdb. bug gnu ・ ghostscript •bug こ - 1 : ヤ ' し : いい三 図田 gnus-Group-read-group を実行して記事を表示 D 9 : 3 : a ] This 11 : [ S:araiguma ] ] This 10 : [ 19 : A 1 三十い三ヤ FrOm: Newsgroups: 10Ca1. test Subject: This is test is test is also test In-Rep1y-To: ara's rtEssage Of 3 May 92 Reply-To: ara@astec. CO. jp Date: 4 May 92 17 : 34 : 30 GMT テストだよ 待てば海路の日和あリ 17 : 34 : 30 GMT 図円 gnus-Group-select-group を実行してグループを選択 ] This is test 9 : 亂 3 : 師 a 11 : [ S:araiguma ] ] This is a150 test 10 : [ 19 : A 丨 - : トい 1 e 、・すⅡ二 e ヨこ UNIX MAGAZINE 1992.7 でしたね。さきはどはきちんと説明しませんでしたが、 い記事の行へカーソルを移動させてから、 という要望には応えられません。そんなときには、読みた 、、あの記事をもう 1 回読みたい〃 です。でも、これだと、 ・まだ読んでいない次の記事 く SPC 〉で表示されるのは、 見ている方なら気づかれたかもしれませんが、 Subject バ を思いきって捨てる勇気も必要です。さて、図を注意深く 読みたい記事を選ぶのも重要ですが、読みたくない記事 き続けるのも 1 つの手です。 ことが多いので、いったん記事を選んでからあとは n を叩 などです。ある記事に対するフォロー記事は連続している n 次の記事を表示する ( すでに読んだ記事は飛ばす ) p 前の記事を表示する ( すでに読んだ記事は飛はす ) N 次の記事を表示する ( 読んだ記事でも飛ばさない ) P 前の記事を表示する ( 読んだ記事でも飛はさない ) ります。 next の n と previous の p のシリーズで、 これに対して、いたって素直に憶えられるコマンドもあ ことにしましよう。 ね。憶えにくいので、こは無理やり、、 go の g 〃と憶える す。でも、どうしてこのコマンド名で、、 g 〃なんでしよう れているコマンドは、 gnus-Subject-show-article で 改めてもう 1 度表示してくれます。このキーにバインドさ を入力してください。すでに読んだことのある記事でも、 ッフアの行の先頭に というマー クのある行があります。これは、 121
・シェルで環境変数 NNTPSERVER を設定するようにい われていれば NNTP 利用型 スプール共有型か NNTP 利用型かが分かったら、 1)Nemacs を起動してから、 gnus. el をロードしてみまし うまくいけは、これだけの設定でニュースを読めるよう スト名です。 を設定します。 NNTP サーバー名は通常はニュースホ (setq gnus¯nntp¯server "NNTP サー / く一名 (setq gnus-nntp¯service "nntp" ) ◆ NNTP 利用型なら、 (setq gnus—nntp—server " ローカルホスト名 " ) (setq gnus—nntp—service nil) ◆スプール共有型なら、 2 ) 次に eva ト expression コマンドを使って、 でしたね。 Load library : gnus M-x load—library Emacs Lisp ライプラリをロードするには・・・ 0 サーバー名が正しいか マンドなどで確認 ) ニュースシステムは動いているか (readnews や rn コ か ・使っている計算機がスプール共有型か NNTP 利用型 ・必要なプログラムがインストールされているか ねるか、 もしまったく動かないのなら、観念して周囲の誰かに訊 ル /. emacs に追加してください。 でおこなった設定を、さっさと Nemacs の初期化ファイ うまく動いたらしめたもの。さきほど eva ト expression それらしいウインドウが現れるかどうか確認してみましょ になるはすです。次の「 gnus を起動する」の節に進んで、 UNIX MAGAZINE 1992.7 を確認しましよう。 ernacs 入門 //\/ 。仕方がないですね。覚語を ュースを読むのを諦めてください。新聞やテレピがなくた って生きていけるんだから、ニュースカ売めなくても生活 には困らないはすです。 決めて、ニュースシステムについて一から勉強するか、 それでも動かなけれは・・・ 本当は、もうすこし設定が必要ですが、詳しい説明は次 M-x gnus たとしましよう。 とりあえす設定がうまくいって、 gnus の起動に成功し gnus を起動する 回に譲ることにします。 0 ます。 gnus を起動したときに最初に表示されるこのバッ 無事に初期化が終ると、ウインドウは図 2 のようになり 表示してくれますから ( 図 1 ) 、ごゅーっくりお読みくださ ューサーの暇つぶし用に ( ! ? ) ウインドウにメッセージを gnus の初期化はお世辞にも速いとはいえません。そこで、 とすれば、ニュース用の新しいバッフアができます。でも、 図ー gnus の起動時のメッセージ フアは Newsgroup バッフアで、記事が届いているニ リド ' 、三を : い日い urrerin@mse.kyutech. ac. jp Hasanobu UMEDA CO れ心れ ts , suggestions' and bug fixes are We100 れ沿 . know. I will fix your problems 1 れ the next release. If you have any trouble with this software, ple お 0 let に NNTP-based News Reader for 日第 acs 田 WS Yersion 3.14.1 図 2 初期化が終了した状態 Checking new news... done 35 : 52 : 74 : 20 : 60 : 55 : 2 : 41 : 2 : 5 : 19 : 15 : 105 : 27 : 1 : 22 : 1 : 1 : 19 : 2 : 3 : gnu ・ ghostscript . bug 39 : gnu ・ gdb ・ bug gnu ・ gcc ・ help gnu ・ gcc. bug gnu ・ +. lib. bug gnu ・ g + +. help gnu ・ g + +. bug gnu. g 十十 . announce gnu ・ 0店,0h. misc gnu. 自 1 旧 CS . gnu. emacs. vm. i れ fO gnu. e″歳0S. vm. bug gnu . emacs . sources gnu ・ emacs. help gnu ・ emacs ・ gnus gnu ・ emacs ・ gnews gnu. emacs. bug gnu. emacs . announce gnu ・ chess gnu. bash. bug gnu. announce 100a1. test Checking ne news... done 115
は、いったん文字配列などに代入してから mktemp 関 数に渡すようにしてください。 mktemp 関数からの戻り値は、指定した文字列の先 頭アドレスです。このとき、文字列の内容は書き換えら れています。 6 個の x のうち、最初の 1 個は文字 a に、 後ろの 5 個はプロセス ID になっているはすです。 5 文字のプロセス ID は、この関数を実行したプロ セスのものなので変わりませんが、最初の 1 文字は変 わることがあります。この文字は、 1 つのコマンドで複 数の一時ファイルを作成する場合や、不幸にもプロセ ス ID と同しファイル名が存在していた場合に対応する ために設けられています。 mktemp は一時ファイルを 作成するための関数なので、作成した名前が既存のファ イル名と重複するときはその名前をそのまま返すので はなく、ファイルシステム上に存在しないファイル名 に変更してからユーザーに返します。この機能のおか げで、一時ファイルを安心していくつでも使えるので す。最初に mktemp でファイル名を作成し、ファイル をオープンします。次に同しテンプレートを使ってファ イル名を作成すると、さきほど返された名前とは異なる 名前が返されます。つまり、同しテンプレートからいく つでもファイル名を作成することができるのです。 ただし、同名のファイルが存在するかどうかは調べ ますが、 mktemp 関数が以前に同し名前を返したかど うかは調べません。つまり、同しテンプレートに対して mktemp 関数を ( ファイルをオープンせすに ) 続けて呼 び出すと、返されるファイル名はすべて同じものとなり ます。同しテンプレートで複数の一時ファイルを作成す る場合には、 mktemp を呼び出すごとに fopen などで ファイルをオープンすることを忘れないでください。 もう 1 つ注意してほしいのは、 mktemp 関数を複 数回呼び出す場合のテンプレートの与え方です。 mk- temp 関数は、テンプレート自身を変更します。した がって、 1 つのテンプレートから複数の一時ファイル名 を作成することはできません。同じテンプレートから複 数の一時ファイル名を作成したいときは、次に示すよう に strcpy 関数などを利用してテンプレートをコピーし てから mktemp 関数を使ってください。 #include く stdio . h> 138 char main() def-temp ロ " /tmp/TESTXXXXXX " char FILE int *templ , *temp2; *fpl , *fp2; def_len; def—len = strlen(def—temp) + 1 ; templ = malloc(def—len) ; strcpy(templ , def—temp) ; mktemp (templ) ; fopen(templ, "w + ") ; fpl temp2 = malloc(def—len) ; strcpy(temp2 , def—temp) ; mktemp (temp2) ; UNIX MAGAZINE 1992.7 2 L-tmpnam は stdio. h のなかで定義されています。 バッフアに一時ファイル名をオ褓内します。 tmpnam 関 指定することも可能で、その場合 tmpnam は内部の ーこには NULL を トは確保しなければなりません 2 。 れます。バッフアとしては、最低でも L-tmpnam バイ 成された一時ファイル名を格納する場所として使用さ となっています。引数の s は、 tmpnam 関数により作 Char *S ; char *tmpnam (s) の呼出し形式は、 ファイル名を作成するために使います。 tmpnam 関数 関数は ANSI C でも採用されたもので、やはり一時 として tmpnam が準備されています。この tmpnam System V 系の UNIX では、 mktemp と同様な関数 しませんから、この誤りは見逃しやすいので注意しま ンプレート文字列が間違っていてもなんのエラーも出 関数自身が失敗してしまいます。 mktemp 関数は、テ 存在しないファイル名を作ることができす、 mktemp 2 回目の呼出しでは同しファイル名しか作れないので 呼出しでテンプレートそのもののファイル名が作られ、 の x の後ろにはかの文字を付けたりすると、 1 回目の ぶものとなっています。しかし、これを間違えて 6 個 さい。テンプレート文字列は、最後に文字 X が 6 個並 として誤った文字列を使用しないように注意してくだ mktemp 関数については、もう 1 つ、テンプレート
emacs 入門 ルを更新するのでもう安心です。 、、 1 グループすっ移動するのはうっとうしい。範囲を指定 してババッと移したい〃 と思うのでしたら、 C ー k でカーソル行のグループを削除す gnu. g + + gnu. g + + . gnu. g + + gnu ・ g + + gnu. g + + ・ gnu. g + + . gnu ・ g + + . lib . bug gnu ・ g + +. lib. bug gnu ・ gcc ・ gnu ・ g + + . lib . bug gnu ・ gcc gnu ・ g + + : gnu ・ g + + ・ gnu ・ g + +. lib . bug: 1 ー 52 gnu ・ gcc gnu. g + + : gnu. g + + . gnu ・ g + + . lib . bug: gnu ・ gcc gnu ・ gc c もっと直接的に、ニュースのスタートアップ・ファイル してください。カーソルを移動して C ー y で挿入するところ は同し操作です。 る代わりに、普通のバッフアのリージョンの指定と同しよ うに、 C- く SPC 〉と C-w で指定した範囲のグループを削除 ( /. newsrc ) を編集する方法もあります。 図 51 は、図 48 の Newsgroup バッフアに表示された のと同し状態の /. newsrc の例です。 /. newsrc は、 1 行 に 1 グループすっ記述されています。各行はいくっかのフ ィールドに分かれていますが、最初のフィールドがグルー 図 48 gnu. emacs. gnus グループを移動 する前の Newsgroup / ヾッファ 図 49 gnus-Group-kiII-group の実行後 図 50 gnus-Group-yank-group の実彳テ後 27 ・ ugnu. emacs ・ gnus 3 : 2 : 9 : 1 : 1 : 22 : 1 : 105 : 15 : 19 : 5 : 2 : 41 : 0 : 2 : 55 : 60 : 20 : 0 : 74 : 52 : 図引 ~ /. 10Ca1. test gnu. 27 : Ⅱ gnu. gnu. bash. bug gnu. epo ch . emacs . vms . emacs . emacs . emacs . u.emacs . . emacs . emaCS gnu. Che S S . mlsc . vm. info . vm. bug emacs help gnus . gnews . bug . emaCS . aIÜlOU11Ce announ C e gnu ・ gcc . help gnu ・ gcc ・ bug gnu ・ g + + . help gnu ・ g + + . bug newsrc ファイ丿レの内容 3 : 2 : 9 : 1 : 1 : 22 : 1 : 105 : 15 : 19 : 5 : 2 : 41 : 0 : 2 : 55 : 60 : 20 : 0 : 74 : 52 : 39 : 10Ca1. test gnu. bash. bug gnu. ep 0 ch . emacs . vms . emacs . emacs . emacs . emacs . . emacs gnu. Che S S . nnsc . vm. info . vm. bug . emacs . sources . help gne WS . bug . emacs . gnu. gdb ・ bug gnu ・ gcc . help gnu ・ gcc ・ bug gnu. g + + . 五 elp gnu ・ g + + ・ bug 3 : 2 : 9 : 1 : 1 : 22 : 1 : 105 : 15 : 19 : 5 : 2 : 41 : 0 : 2 : 55 : 60 : 20 : 0 : 74 : 52 : 10Ca1. test gnu. bash. bug announce gnu . gnu. epoch . emacs . vms . emacs . emacs . emacs . emacs . emacs . chess . mI S C . VIII. inf 0 . vm. bug . emacs . . help . gnews ・ bug . emac S . annou.nce gnu ・ gcc . help gnu ・ gcc . bug gnu ・ gcc ・ gnu. g + +. help gnu. g + + . bug 図 52 変更後の ~ /. newsrc ファイノレの内容 gnu 132 10Ca1. test: 1 ー 8 gnu. bash. bug: 1 ー 1781 gnu. announce: 1 ー 210 gnu. epoch . emac S . vms : . emac S . emac S . emacs . . emacs . emaCS . emacs gnu. Chess : . emacs . an.nounce : ・ bug : . gnews : . gnus : help : . emacs . sources: . vm. bug : . vm. info: . mI S C : announce : gnu ・ emacs . help : 10Ca1. test : 1 ー 8 gnu. bash. bug: 1 ー 1781 gnu. announce: 1 ー 210 gnu ・ epoch . emacs . : . emac S . emac S . emacs . . emac S . emac S gnu. Chess : gnu . emac S . e : . bug : . gnews : gnus : . emacs . : . vm. bug : . VIII . inf 0 : . mI S C : gnu ・ g + + ・ bug : gnu ・ g + + . help : gnu ・ gcc ・ bug: gnu ・ gcc . help : announce : . help : gnu ・ gcc . bug ・ gnu. g + + . help : gnu ・ g + + ・ bug : 1 ー 52 UNIX MAGAZINE 1992.7
というときには、 M—x gnus-Group-quit を実行するか、 スタートアップ・ファイルを保存するかどうかが違います。 小文字の q でも大文字の Q でも gnus は終了しますが、 せすに gnus を終了します。 され、、、 ye< と入力するとセットアップ・ファイルを保存 news without saving . newsrc? (yes or no ) 〃と表示 を押してください。やはり、エコー行に、、 Quit reading 図カーソルを移動する前の Newsgroup バッファ -mib real release Of tar 1.12. l'm sorry for the confusio れ . a release tO 1a211ed tar ー 1.11 and then' following that' a A tar release is in the works fO 「 Real S00 れ NOW, which will start Yith bugs, and S62 incompletely implemented features. release, and has been removed from the ftp directory. lt has k れ 0 響 n lt was not ready for alpha. gnu. ai .mit.edu/ as 、 t 師 -1.10.14. t . Z ′ A copy Of the de 心れ t source for GNU tar was mistakenly placed 0 れ To: bug-gnu-utils@prep.ai.mit.edu/ gnu—announce@prep.ai.mit.edu F0110wup—To: gnu. utils. bug Date: 6 Hay 92 04 : 32 : 50 何 Subject: Histaken "alpha release" Of tar Newsgroups: gnu ・ announce,gnu ・ utils ・ bug From: mib@gnu. ai . mit. edu (Michael I Bushnell) : れ卍い S : : 212 : [1968:gnu@prep.ai.] January 1992 6 Bulletin D 211 : ー [ 10:mib@gnu.ai.mi] Histaken "alpha release" Of tar 図ロ次のニュースグループを選択 news? (y or n ) 〃をエコー行に表示します。ここでユーザ ーが、、 y 〃を入力すると、 gnus を終了し、 ニュースのスタ ートアップ・ファイル ( /. newsrc) を更新します。もし、 これを忘れてそのまま Nemacs を ( ワーニングが表示さ れても強制的に ) 終了すると、次回、またまた同し記事を読 む羽目に・ 髞作に失敗してまったく記事が読めなかった〃 おかしな操作をしちゃった。 gnus がうまく動かないク 0 1 : 1 : 1 : 1 : 1 : emacs 入門 l/A\v/ Newsgroup を操る もっとも簡単なニュースの読み方は分かりましたよね。 でも、これだけでは実際にはちょっと辛いんです。たとえ ば、私のサイトでは 1 , 000 を超えるニュースグループを受 け取っていて、スプールには 20 , 000 通はどの記事が溜ま っています。これだけ記事が多いと、すべての記事に目を 通すなんて冗談しゃないですこれは読まなくてよいと 判断すると同時にく SPC 〉キーを叩いたとしても、 1 日中叩 き続けてニュースの流れに追いつくかどうか・・ こうなったら仕方がない。ニュースグループを取捨選択 する方法を伝授しましよう。ここでの説明は、ニュースを 読むのは初めてで、 、、同し操作を何度も繰り返してもかまわないから、新しい概 念や複雑なコマンドはなるべく憶えたくない〃 という人向けです。 図 14 を見てください。 Newsgroup バッフアでは、 1 行 につきニュースグループが 1 つ表示されます。ニュースグ ループ名の左の数字は、また読んでいない記事の数です。 Newsgroup ノヾッフアのカーソノレのある行がカレントのニ 0 図 gnus-Group-next-group の実彳テ後 3 : 2 : 9 : 1 : 1 : 22 : 1 : 27 : 105 : 15 : 19 : 5 : 2 : 41 : 2 : 55 : 60 : 2 0 : 74 : 52 : 39 : 35 : 100 & 1 . test gnu. announce gnu. bash. bug gnu. chess gnu . emacs . announce gnu. emacs. bug gnu ・ emacs ・ gnews gnu ・ emacs ・ gnus gnu. emacs. help u . emacs . sources gnu. emacs. vm. bug gnu ・ emacs ・ vm. infO gnu. emacs .5ー6 gnu. epch. misc gnu . g 十十 . & n れ ou れ Ce gnu ・ g + + ・ bug gnu ・ g + +. help gnu ・ g + +. 11b. bug gnu ・ gcc ・ bug gnu ・ gcc ・ help gnu. gdb. bug gnu ・ ghostscript. bug 図 gnus-Group-prev-group の実彳デ麦 3 : 2 : 9 : 22 : 27 : 105 : 15 : 19 : 5 : 2 : 41 : 2 : 55 : 60 : 20 : 74 : 52 : 39 : 35 : 100a1. test gnu. a れ nounce gnu. bash. bug gnu. chess gnu. ・は CS . an れ ounce gnu. emacs. bug gnu ・ emacs ・ gnews gnu ・ 0第は0S ・ gnus u. emacs. help gnu. en 温 CS. SOu 「 0 ・ S gnu ・ emacs. vm. bug gnu ・ emacs. vm. infO gnu. emacs . マ価6 gnu ・ ex'ch. misc gnu. ghostscript . bug gnu ・ gdb. bug g れ u ・ g00. h ・ lp gnu ・ gcc. bug gnu ・ g + +. 11b. bug gnu ・ g+ +. help gnu ・ g + +. bug 3 : 2 : 9 : 22 : 27 : 105 : 15 : 19 : 5 : 2 : 41 : 2 : 55 : 60 : 20 : 74 : 52 : 39 : 35 : 100a1. test gnu ・ announce gnu. bash ・ bug gnu. chess gnu. emacs . announce gnu. emacs. bug gnu ・ emacs ・ gnews u. emacs ・ gnuS gnu. emacs. help gnu. emacs . SourceS gnu ・ emacs.vm. bug gnu. emacs ・ vm. infO gnu. emaCS.ms gnu. epoch. misc gnu. g 十十 . announce gnu. g+ + ・ bug gnu ・ g十十 . help g れ u ・ g + +. 11b. bug gnu ・ gcc. bug g れ u ・ gcc. help gnu ・ gdb ・ bug gnu ・ ghostscript . bug 二ー、、 1 リ、 UNIX MAGAZINE 1992.7 119
スア 0 EXB -8200 EXB -8500 1 本て 2.5GB / 1 本て 5G 旨 / 0 4m 112E キ加仆 0 - トリッジテ - プ 8mm カートリッジテーフシステム 新登場 / 5GB タイプ EXB ー 8200 ( 8500 ) は、 8mm ビデオテープと同規格のテープによる大容量 【 EXB -8200 ( 8500 ) の主な特長】 かっコンヾクトなデータ記憶装置ですオープンリールなら約 15 本分 ・標準 8mm テープカートリッジ使用・ 5 ディスクのコンヾクトサイズ・ SCSI ( 30 本分 ) 、フロッヒ。ーディスクなら約 2000 枚分 ( 4000 枚分 ) のデーターを インターフェス・誤り訂正手順内蔵・ 256KB バッフア内蔵・高速転送 2 46KB / s ( 500KB / s ) ・ヘリカルスキャン方式・ 10 ーロ以下のビット誤り率 ニコンからパソコンまで、あ 1 本のカートリッジに保存可能 / スーバー ※ ( ) 内は EXB-8500 なたのシステムをパワフルにバックアップします / ※ ( ) 内は EXB ー 8500 対応機種 Sun3/Sun4 SPARC station SONY NEWS series 旧 M AS / 400 、 9370 NEC PC ー 9801 series ・旧 M PC-AT/XT ・ PERTEC I/F ・ ApoIIo 3500 / 4500 / 10000 ・ KUBOTA TITAN ・ HITACHI 2050G ・ AppIe Macintosh ・ HP 1000 / 380 / 980 series 新登場・ HP 9000 / 78 Series その他のシステムへの接続については、お問合せください。 ※ EXB ー 8200 / 8500 は、米国工クサバイト社の登録商標です。 ※各製品名は、一般に各メーカーの登録商標または商標です。 YHP フェア ' 92 出展 / : 会期 : 7 月 9 日 ~ 10 日 会場 . 新宿 NS ビル / イベントホール ・お問合せは下記まで ◇株式会社トマス 〒 1 ロ 3 東京都中央区日本橋兜町 7 ー 3 徳田ピル 丁 EL. ロ 3 ー 3669 ーロ 643 代 FAX. ロ 3 ー 3669 ーロ 724 資料請求 (E3
emaCS 入門 図 43 gnus-Group-catch-up-all の実行前 3 : ロ 10Ca1. test 2 : gnu. 9 : gnu. bash. bug 1 : gnu. Che SS 1 : gnu . emacs . an.nounce 22 : bug . emacs . 1 : . emacs . gnews 27 : . emacs . gnus 105 : he lp . emacs . 15 : . emaCS . 19 : . vm. bug . emacs 5 : vm. info . emacs . 2 : . emaCS . vms 41 : gnu. epoch . mlsc 2 : gnu. g 十十 . announce 55 : gnu. g + + . bug 60 : gnu. g + + . help 20 : gnu. g + + . lib. bug 74 : gnu. gcc . bug 52 : gnu ・ gcc . help 39 : gnu. gdb . bug 35 : gnu ・ ghostscript . bug マークを付けた記事があっても・・・ ん一。そんなの困るわ」 ああ、やはりお困りで。それでは、 図 44 gnus-Group-catch-up-aII の実彳ラ後 0 : 10Ca1. test 2 : 毳皿 . 9 : gnu. bash. bug 1 : . chess 1 : gnu . emaCS . 22 : ・ bug . emacs 1 : . emacs . gnew S 27 : . emacs . gnus 105 : . help . emacs 15 : emacs . SOurces 19 : vm. bug . emacs . 5 : VIII. info . emacs . 2 : . emacs . vms 41 : gnu. epoch . mlsc 2 : gnu. g 十十 . announce 55 : gnu. g + + . bug 60 : gnu. g + +. help 20 : gnu. g + +. 1ib. bug 74 : gnu ・ gcc ・ bug 52 : gnu. gcc . help 39 : gnu ・ gdb ・ bug 35 : gnu ・ ghostscript . bug はいかがでしよう。 gnus-Subject-sort-by-author コ マンドを使うと、図 45 のように記事の番号ごとにソート されていた Subject ノヾッフアが、図 46 のように author ごとにソートされます。 これ以外にも、 0 はいかがでしよう。こちらのコマンドなら、 unread マーク gnus-Subject-sort-by-number が付いているのはそのままで、ほかの記事は読んだふりが 己事番号順に並べる できます。 gnus-Subject-sort-by-subject また、このとき unread マークの付いている記事があれ サプジェクト順に並べる は、 Newsgroup バッフアの 2 文字目に、、 * 〃が表示され gnus-Subject-sort-by-date ます。これは、 日付順に並べる 読んでいない記事がある〃 などが取り揃えられています。 マークです。 記事を大切にしまっておく 記事を並べ替える 「あー、 unread にしてた記事がなくなっちゃった ! 」 「あのね、私このグループには興味がないの。でも、 XXX さんの記事だけはおもしろいから読みたいの。この人の記 こんな目に遭ったら、いつごろの記事だったか思い出し 事だけまとめられないかしら ? 」 てみましよう。昔々の記事ならヾもしや expire されたので は〃と疑ってみるべきです。 こういう要求には、書いた人の名前 ( author ) で記事をソ 「あのお、そちらのニュースシステムでは、 expire date ート (sort) する、 を何日に設定していますか ? 」 ーユースのえんばいあすて一と〃 ? 何、それ ? 」 C-c C-s a 1 三ロ 129 UNIX MÄGAZINE 1992.7