1\input texinfo-ja
2@c %**start of header
3@setfilename emacs-w3m-ja.info
4@settitle Emacs-w3m -- an Emacs interface to w3m --
5@c %**end of header
6@documentencoding UTF-8
7@documentlanguage ja
8@include version.texi
9@synindex pg cp
10
11@copying
12Copyright @copyright{} 2000-2020 @w{TSUCHIYA Masatoshi}
13
14@quotation
15Permission is granted to copy, distribute and/or modify this document
16under the terms of the GNU General Public License, Version 2 or any
17later version published by the Free Software Foundation.
18
19この文書を、フリーソフトウェア財団によって発行された GNU 一般公衆利用許
20諾契約書第 2 版またはそれ以降の版のうちどれかの定める条件の下で複製、配
21布、あるいは変更することを許可します。
22
23This document is distributed in the hope that it will be useful, but
24WITHOUT ANY WARRANTY; without even the implied warranty of
25MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
26General Public License for more details.
27
28この文書は有用であることを願って頒布されますが、@emph{全くの無保証} です。
29@emph{商業可能性} の保証や @emph{特定の目的への適合性} は、言外に示され
30たものも含め全く存在しません。詳しくは GNU 一般公衆利用許諾契約書をご覧
31ください。
32
33You should have received a copy of the GNU General Public License along
34with this document; see the file COPYING.  If not, write to the Free
35Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
3602110-1301, USA.
37
38あなたはこの文書と共に、GNU 一般公衆利用許諾契約書の複製物を一部受け取っ
39たはずです。COPYING ファイルを参照してください。もし受け取っていなければ、
40フリーソフトウェア財団まで請求してください (宛先は the Free Software
41Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA)。
42@c 日本語訳は八田さんの文章 <http://www.opensource.jp/gpl/gpl.ja.html>
43@c を参考にしました。
44@end quotation
45@end copying
46
47@dircategory GNU Emacs Lisp
48@direntry
49* Emacs-w3m-ja: (emacs-w3m-ja).  An Emacs interface to w3m (Japanese)
50@end direntry
51
52This file documents emacs-w3m, an Emacs interface to w3m.
53
54このファイルは Emacs で動く w3m のインタフェースである emacs-w3m に関す
55る説明書です。
56
57This edition is for emacs-w3m version @value{VERSION}.
58
59この版は emacs-w3m バージョン @value{VERSION} に対応します。
60
61@finalout
62@titlepage
63@sp 10
64@title Emacs-w3m ユーザマニュアル
65@subtitle An Emacs interface to w3m for emacs-w3m version @value{VERSION}
66@author Emacs-w3m 開発チーム
67@page
68
69@vskip 0pt plus 1filll
70@insertcopying
71@end titlepage
72
73@contents
74
75@node Top
76@top Emacs-w3m ユーザマニュアル
77
78@flushright
79Emacs-w3m 開発チーム
80@end flushright
81
82この文書は emacs-w3m バージョン @value{VERSION} に対応します。
83
84@ifnottex
85@insertcopying
86@end ifnottex
87
88@menu
89* Introduction::                はじめに
90* Getting Started::             Emacs-w3m を使い始めるのはとっても簡単
91* Basic Usage::                 基本的な使い方
92* Pretty Good Features::        たくさんのすぐれもの
93* Customizable Variables::      デフォルトのままでも結構良いと思うけれど
94* Hooking into MUAs::           メール/ニュースリーダーで使う
95* Frequently Asked Questions::  必ず答があるとは限らない
96* Known Problems::              あなたならきっと解決できる
97* Shimbun Library::             ウェブ上の新聞を読むための道具
98* Tips::                        Emacs-w3m を使う洒落た小物たち
99* Mailing List::                メーリングリスト、バグリポート
100* Emacs-w3m Functions::         Emacs-w3m の関数の詳しい説明
101* External Packages::           お仲間のパッケージたち
102* Authors::                     このマニュアルを書いた人たち
103* Index::                       索引
104
105@detailmenu
106 --- 項目の詳細なリスト ---
107
108Getting Started
109
110* Required Emacs Version::      どんなバージョンの Emacs で使えるの?
111* You Need w3m::                w3m を使います: emacs-w3m が速いわけ
112* Other Requirements::          Emacs-w3m を動作させるのに必要なもの
113* Installing Emacs-w3m::        Emacs-w3m をインストールする
114* Non-UNIX-like systems::       非 UNIX 系環境でのインストール
115* Minimal Settings::            設定しなければならない最低限のもの
116
117Basic Usage
118
119* Browsing Web Pages::          ネットサーフィンしよう!
120* Inline Images::               画像表示を ON/OFF する
121* Tracing History::             時空を遡る
122* Managing Bookmarks::          ぼくの/わたしのお気に入り
123* Using Tabs::                  みんなタブが好きだよね
124* Working with buffers::        バッファを作る/消す/移動する
125* Downloading::                 ファイルをダウンロードする
126* Submitting Forms::            HTML フォームに記入する
127* HTML File Information::       ウェブページ作りとハックのお手伝い
128
129Pretty Good Features
130
131* Using Search Engines::        使いやすいウェブ検索
132* Grouping URLs::               一つの URL で複数のウェブページを見る
133* Weather Information::         明日の天気は晴れでしょう
134* Using Antenna::               アンテナを張り巡らそう
135* Showing Directory Tree::      ディレクトリの木構造を表示する
136* Viewing Perl Documents::      Perl のドキュメントを見る
137* Using Namazu::                Namazu でファイルを検索する
138* Octet::                       application/octet-stream データを見る
139* Frame Local Buffers::         多数のセッションをフレームでグループ分けする
140* Session Manager::             セッションの保存と読みこみ
141
142Customizable Variables
143
144* General Variables::           一般的な変数
145* Image Variables::             画像に関連した変数
146* Form Variables::              フォームに関連した変数
147* Cookie Variables::            クッキーに関連した変数
148* Bookmark Variables::          ブックマークに関連した変数
149* Search Variables::            ウェブ検索に関連した変数
150* Weather Variables::           天気予報に関連した変数
151* Dtree Variables::             dtree に関連した変数
152* Antenna Variables::           アンテナに関連した変数
153* Perldoc Variables::           Perldoc に関連した変数
154* Namazu Variables::            Namazu に関連した変数
155* Octet Variables::             Octet に関連した変数
156* Session Manager Variables::   セッションマネージャに関連した変数
157* Hooks::                       フック
158* Other Variables::             その他の変数
159
160Hooking into MUAs
161
162* Gnus::                        Gnus で HTML メールを読む
163* Mew::                         Mew で HTML メールを読む
164* SEMI MUAs::                   @acronym{SEMI} MUA で HTML メールを読む
165* VM::                          VM (vieW maiL) は Wanderlust にあらず
166
167Frequently Asked Questions
168
169* General FAQ::                 一般的な質問
170* Trouble FAQ::                 トラブル
171* Shimbun FAQ::                 Shimbun に関する質問
172
173Known Problems
174
175Shimbun Library
176
177* Nnshimbun::                   Gnus をウェブブラウザにする!
178* Mew Shimbun::                 Mew で新聞を読む
179* Shimbun with Wanderlust::     Wanderlust で新聞を読む
180* Shimbun local mode::          新聞の取得にシェルスクリプトを使う
181* Shimbun Sites::               新聞が読めるサイト
182* Shimbun Basics::              新聞モジュールの作り方
183
184Tips
185
186Mailing List
187
188Emacs-w3m Functions
189
190@end detailmenu
191@end menu
192
193@node Introduction
194@chapter はじめに
195@cindex Introduction
196
197@uref{http://www.cs.indiana.edu/elisp/w3/docs.html, Emacs/W3} は、かつて
198は Emacs 上で動作する最もポピュラーな web ブラウザーでした。しかし動作が
199非常に遅かったので、私たちはそれに代わる速いものを欲しました。一方、
200@uref{http://w3m.sourceforge.net/, w3m} というページャーがありました。そ
201れはページャーでしたが、テキストモード WWW ブラウザーとして使うことがで
202きたので、私たちは w3m への Emacs インターフェースの開発を始めました。
203
204すばらしい w3m プログラムを開発してくれた伊藤彰則さんと w3m チームのみな
205さんに、格段の感謝を捧げます。さらにコメント、提案およびバグの修正をして
206くれたすべての人々に感謝します。たとえ問題があっても、責任はすべて私た
207ち (emacs-w3m 開発チーム) にあります。もっとも、保証はまったくありません
208が。Emacs-w3m は 2000年6月に土屋雅稔によって創始されました。
209
210@uref{http://emacs-w3m.namazu.org/, Emacs-w3m の公式ページ} も併せてご覧
211ください。
212
213@node Getting Started
214@chapter Emacs-w3m を使い始めるのはとっても簡単
215@cindex Getting started
216@cindex Starting up
217
218ひょっとすると、あなたのシステムには emacs-w3m がすでにインストールされ
219ているかもしれません。その場合、あなたはこの項を読み飛ばして、直ちに使い
220始めることができます。そんな幸運に恵まれなかったならば、emacs-w3m のイン
221ストールの仕方を会得するために、読み続けてください。
222
223@menu
224* Required Emacs Version::      どんなバージョンの Emacs で使えるの?
225* You Need w3m::                w3m を使います: emacs-w3m が速いわけ
226* Other Requirements::          Emacs-w3m を動作させるのに必要なもの
227* Installing Emacs-w3m::        Emacs-w3m をインストールする
228* Non-UNIX-like systems::       非 UNIX 系環境でのインストール
229* Minimal Settings::            設定しなければならない最低限のもの
230@end menu
231
232@node Required Emacs Version
233@section どんなバージョンの Emacs で使えるの?
234@cindex Possible Emacs versions
235
236現在 emacs-w3m は Emacs 26、27、そしてうまくいけば 28 (まだリリースされ
237ていませんが) で動作するでしょう。XEmacs サポートは終了しました。
238
239@node You Need w3m
240@section w3m を使います: emacs-w3m が速いわけ
241@cindex w3m
242
243Emacs-w3m は外部コマンド w3m を、ウェブコンテンツを取得するためのバック
244エンドとして、または HTML の描画エンジンとして使用します。非同期動作によっ
245て高速な Emacs ウェブブラウザを実現することができたのは w3m のおかげです。
246
247あなたは最新の w3m をインストールしなければなりません。それは以下の場所
248で取得できます:
249
250@uref{https://salsa.debian.org/debian/w3m}
251
252@node Other Requirements
253@section Emacs-w3m を動作させるのに必要なもの
254@cindex ImageMagick package
255@cindex @acronym{APEL} package
256@cindex @acronym{FLIM} package
257
258使用している Emacs のバージョンによっては、サードパーティのパッケージが
259必要になることがあります。この項では、それらを見つけてインストールするた
260めの資料を提供します。
261
262@table @samp
263@item ImageMagick
264ImageMagick パッケージに含まれている @samp{convert} プログラムがあれば、
265emacs-w3m は画像サイズの変更や @samp{favicon} 画像を Emacs が扱えるフォー
266マットに変換するためにそれを使います。Emacs-w3m は ImageMagick が無くて
267も動作するでしょうが、インストールすることによってあなたのネットサーフィ
268ンが豊かなものになるでしょう。ImageMagick パッケージは、以下の場所から手
269に入れることができます:
270
271@uref{ftp://ftp.imagemagick.org/pub/ImageMagick/}
272
273@samp{favicon} 画像を操作するために、バージョン 5.4.0-5 以降のものを使う
274ことを推奨します。以前のバージョンも動くかもしれませんが、それらは完全に
275チェックされていません。
276
277@item @acronym{APEL}
278Shimbun ライブラリを使うために必要です。Emacs-w3m を構築する前
279に @acronym{APEL} をインストールしなければなりません。@acronym{APEL} は
280以下の場所にあります:
281
282@uref{https://github.com/wanderlust/apel}
283
284@item @acronym{FLIM}
285@samp{Shimbun} ライブラリを使うためには @acronym{FLIM} パッケージが必要
286です。@samp{Shimbun} ライブラリはウェブ上の新聞を読むための道具類のコレ
287クションで、Gnus、Mew または Wanderlust とともに使うことができま
288す。@xref{Shimbun Library}.
289
290使っている Emacs のバージョンにかかわらず、@acronym{FLIM} パッケージに
291は @acronym{APEL} パッケージが必要であることに注意してください。したがっ
292て @samp{shimbun} ライブラリを使うには、
293@acronym{APEL} と @acronym{FLIM} の両方をインストールしなければなりませ
294ん。@acronym{FLIM} パッケージは以下の場所にあります:
295
296@uref{https://github.com/wanderlust/flim}
297@end table
298
299@node Installing Emacs-w3m
300@section Emacs-w3m をインストールする
301@cindex Installing emacs-w3m
302
303Emacs-w3m の取得に関しては公式ペー
304ジ @uref{http://emacs-w3m.namazu.org/} を参照してください。すべて準備で
305きましたか?  では始めましょう。
306
307非 UNIX 系のシステム (@samp{configure} を実行できないか @samp{make} コマ
308ンドが無い、何らかのシステム) に emacs-w3m をインストールするには、この
309項を飛ばして次の項 @ref{Non-UNIX-like systems} に行ってください。
310
311@enumerate
312@item
313最初に、配布された emacs-w3m の tarball を以下のように適当な場所で展開し
314て、先頭のディレクトリに入ってください:
315
316@example
317% tar zxf emacs-w3m-@value{VERSION}.tar.gz
318% cd emacs-w3m-@value{VERSION}
319@end example
320
321Emacs-w3m を CVS で取得したのならば、@samp{configure} スクリプトを生成す
322るために (引数無しで) @samp{autoconf} を実行しなければなりません。
323
324@item
325@samp{configure} スクリプトを実行します。
326
327@example
328% ./configure
329@end example
330
331@emph{Gnus ユーザへの重要なお知らせ}:
332
333複数のバージョンの Gnus がインストールされている場合 (リリース版と開発版
334の Gnus があるかもしれません) は、@code{load-path} にあなたが使うバージョ
335ンがインストールされているディレクトリ (@file{gnus.elc} ファイルを調べま
336しょう) を含むようにしてください。以下のように @samp{--with-addpath} オ
337プションを使うことによって、これを確実に行なうことができます:
338
339@example
340% ./configure --with-addpath=/usr/local/share/emacs/site-lisp/gnus
341@end example
342
343@acronym{APEL}、@acronym{FLIM} または他の何かを、デフォルト
344の @code{load-path} 以外の標準ではないディレクトリにインストールしてある
345場合は、以下のように @samp{--with-addpath} オプションを使ってそれらを指
346定しなければなりません (さらに、それに @samp{:} で分けられた Gnus のディ
347レクトリを含めても構いません):
348
349@example
350% ./configure --with-addpath=/opt/share/apel:/opt/share/flim
351@end example
352
353デフォルトではインストーラ (つまり @samp{make install}) は gzip によって
354インストールされる Lisp のソースファイルと info ファイルを圧縮します。も
355しそれらのファイルが圧縮されることを望まないのであれば、configure オプショ
356ンの @samp{--without-compress-install} を使ってください。
357
358@item
359単に @samp{make} と @samp{make install} を実行します。
360
361@example
362% make
363% make install
364@end example
365
366すべての Lisp ファイルと info ファイルが適切なディレクトリにインストール
367されるでしょう。
368
369さて、あなたはどんなファイルがどこに行くか分かりますか?  それを前もって
370知るためには、これを使ってください:
371
372@example
373% make what-where
374@end example
375
376アイコン画像のファイルもインストールした方が良いでしょう。それを行なうに
377は:
378
379@example
380% make install-icons
381@end example
382
383@noindent
384または
385
386@example
387% make install-icons30
388@end example
389
390@noindent
391後者はちょっと大きなアイコン画像を使うためのものです。
392@end enumerate
393
394@node Non-UNIX-like systems
395@section 非 UNIX 系環境でのインストール
396@cindex Installing on non-UNIX-like systems
397
398あなたのシステムで @samp{configure} スクリプトを実行することができないか、
399@samp{make} コマンドが利用できない場合は、以下の文句を唱えてください。
400
401@example
402% emacs -batch -q -no-site-file -l w3mhack.el NONE -f w3mhack-nonunix-install
403@end example
404
405@acronym{APEL}、@acronym{FLIM} (または他の何か) が普通の場所にインストー
406ルされていないと、インストーラはそれらを無視してしまうでしょう。そんな場
407合は、以下に示すように、それらの場所をインストーラに告げる必要があります:
408
409@example
410% emacs -batch -q -no-site-file -l w3mhack.el //c/share/apel://c/share/flim -f w3mhack-nonunix-install
411@end example
412
413@node Minimal Settings
414@section 設定しなければならない最低限のもの
415
416この項では基本的な emacs-w3m の設定のいくつかを説明します。きめ細かな設
417定をしたいならば、たくさんのカスタマイズ可能な変数を @ref{Customizable
418Variables} で見つけることができるでしょう。
419
420@table @samp
421@item Autoloads
422@cindex Adding autoload settings
423以下の行を @file{~/.emacs} ファイルに入れてください:
424
425@lisp
426(require 'w3m-load)
427@end lisp
428
429@item Startup File
430@cindex Startup file
431@vindex w3m-init-file
432Emacs-w3m のいろんな変数をいじる必要があるときは、@file{~/.emacs-w3m} ファ
433イル (これは @code{w3m-init-file} という変数のデフォルト値です) の利用を
434推奨します。このファイルは @file{~/.emacs} と似ていますが、こちら
435は emacs-w3m が起動するときに読み込まれます。@code{w3m-command} など幾つ
436かのオプションは、このファイルでは変更できないことに注意してください。
437
438@item Proxy Gateway
439@cindex Firewall
440@cindex Proxy gateways
441@cindex Proxy servers
442@vindex w3m-command-arguments
443@vindex w3m-no-proxy-domains
444あなたが防火壁 (firewall) の中から proxy ゲートウェイを通してインターネッ
445トに接続している場合は、それを使うように w3m に指示する必要があります。
446
447これにはいくつかの方法があります。一つは環境変
448数 @code{http_proxy} を shell 上で、こんなふうにグローバルに設定すること
449です:
450
451@example
452setenv http_proxy http://proxy.hogege.com:8000/
453@end example
454
455他に、変数 @code{w3m-command-arguments} をカスタマイズして、@samp{-o} お
456よび @samp{http_proxy=http://PROXY_SERVER_NAME:PORT/} を追加する方法があ
457ります。これは @file{~/.emacs-w3m} ファイルで以下のように行なうこともで
458きます。
459
460@lisp
461(setq w3m-command-arguments
462      (nconc w3m-command-arguments
463             '("-o" "http_proxy=http://proxy.hogege.com:8000/")))
464@end lisp
465
466Proxy ゲートウェイを通すべきではないホスト (イントラネットのサイトな
467ど) を指定するには、環境変数 @code{no_proxy} (@code{no-proxy} ではないこ
468とにご注意) にコンマで区分けされたホスト名のリストを設定してください。あ
469るいは以下のように、変数 @code{w3m-no-proxy-domains} にドメイン名 (ホス
470ト名ではない) のリストを設定することもできます:
471
472@lisp
473(setq w3m-no-proxy-domains '("local.com" "neighbor.com"))
474@end lisp
475
476@code{no_proxy} ホストの設定にどうやって正規表現を使うかの説明は、変
477数 @code{w3m-command-arguments-alist} のドキュメントを見てください。
478@end table
479
480@node Basic Usage
481@chapter 基本的な使い方
482
483@menu
484* Browsing Web Pages::          ネットサーフィンしよう!
485* Inline Images::               画像表示を ON/OFF する
486* Tracing History::             時空を遡る
487* Managing Bookmarks::          ぼくの/わたしのお気に入り
488* Using Tabs::                  みんなタブが好きだよね
489* Working with buffers::        バッファを作る/消す/移動する
490* Downloading::                 ファイルをダウンロードする
491* Submitting Forms::            HTML フォームに記入する
492* HTML File Information::       ウェブページ作りとハックのお手伝い
493@end menu
494
495@node Browsing Web Pages
496@section ネットサーフィンしよう!
497
498すべてのウェブ・ブラウズの操作は、キーで行うことができます。Emacs-w3m は
499デフォルトで @samp{Lynx-like} キーマップ (@pxref{Key Binding}) というも
500のを使います。もちろんマウスを使うこともできます。
501
502@menu
503* Key Binding::                 二つのキーバインド
504* Launching and Jumping::       とにかく動かしてみよう
505* Moving in a page::            ページ内を飛びまわる
506* Moving over pages::           ページ間を渡り歩く
507* Browsing With Mouse Operations:: マウスを使ってサーフィン
508* Going back to daily hacking and/or daily writing:: 普段の生活に戻るには
509@end menu
510
511@node Key Binding
512@subsection 二つのキーバインド
513@cindex Key binding
514@cindex Lynx-like keymap
515@cindex Info-like keymap
516@vindex w3m-key-binding
517
518Emacs-w3m は Emacs ウェブ・ブラウザの歴史の中では後発のブラウザなので、
519ユーザが新しいウェブ・ブラウザに容易に慣れることができるようにするために、
520二種類のキーバインドを用意しました。一つは @samp{Lynx-like} キーマップと
521呼ばれ、もう一つは @samp{Info-like} キーマップです。これらの名前から、そ
522れらが何を意味するかは分かりますね?  前者はテキスト版のウェブ・ブラウザ
523である @samp{Lynx} のものに似ています。そして後者は  GNU の公式ドキュメ
524ント・ブラウザである @samp{Info} のものに似ています。デフォルトで
525は @samp{Lynx-like} キーマップが使われます。@samp{Info-like} キーマップ
526を使いたいのならば、
527
528@example
529@w{@kbd{M-x customize-option @key{RET} w3m-key-binding @key{RET}}}
530@end example
531
532@noindent
533とタイプして @samp{Info-like} キーマップを選び、変更をセーブしてください。
534あるいは以下の断片を @file{~/.emacs} ファイル (@file{~/.emacs-w3m.el} ファ
535イルではありません) に加えてください:
536
537@lisp
538(setq w3m-key-binding 'info)
539@end lisp
540
541キーバインドを一つずつ変更するには、@file{~/.emacs-w3m.el} ファイルで以
542下のように @code{w3m-mode-map} 変数をいじってください:
543
544@lisp
545(define-key w3m-mode-map [up] 'previous-line)
546(define-key w3m-mode-map [down] 'next-line)
547(define-key w3m-mode-map [left] 'backward-char)
548(define-key w3m-mode-map [right] 'forward-char)
549@end lisp
550
551@node Launching and Jumping
552@subsection とにかく動かしてみよう
553
554以下に挙げる三つの違うコマンドを使って emacs-w3m を起動することができま
555す。それらのコマンドの一つを試してください。ウェブページが ``*w3m*'' と
556いう名前の Emacs のバッファ (emacs-w3m のバッファのこと) に表示されます。
557おそらく気付くでしょうけれども、emacs-w3m のバッファのメジャーモード
558は @code{w3m-mode} です。他にマイナーモード (@pxref{Managing
559Bookmarks}) もあります。
560
561ここでは、それらのコマンドの最も基本的な使い方だけを説明します。それらに
562ついてもっと詳しく知りたい場合は、@ref{Emacs-w3m Functions} を参照してく
563ださい。また、emacs-w3m の動作をカスタマイズするために使うことができる変
564数群を、@ref{Customizable Variables} で参照してください。
565
566@table @code
567@item w3m
568@findex w3m
569@vindex w3m-home-page
570@vindex w3m-quick-start
571@cindex Using emacs-w3m as a batch command
572Emacs-w3m を起動して、@code{w3m-home-page} という変数で指定されたホーム
573ページを表示します。@code{w3m-home-page} のデフォルトの値
574は ``about:'' です。Emacs-w3m を起動したときに毎回 URL を入力できるよう
575にしたい場合は、変数 @code{w3m-quick-start} の値を @code{nil} にしてくだ
576さい (@pxref{Customizable Variables})。
577
578これは Emacs を起動するときに引数として使うこともできます。例です:
579
580@example
581% emacs -f w3m
582@end example
583
584URL を指定して、このように使うこともできます:
585
586@example
587% emacs -f w3m http://emacs-w3m.namazu.org/
588@end example
589
590@item w3m-find-file
591@findex w3m-find-file
592ローカルファイル名をミニバッファで入力して、それを emacs-w3m で表示しま
593す。
594
595@item w3m-browse-url
596@findex w3m-browse-url
597URL をミニバッファで入力して、それを emacs-w3m で表示します。このコマン
598ドは、どちらかと言えば他のアプリケーションプログラムから emacs-w3m を起
599動するために用意されています。
600@end table
601
602あなたがすでに Emacs のユーザならば、emacs-w3m のバッファの中で移動する
603のに苦労は無いでしょう。多くの標準のキーがそのまま使えるのですから。例え
604ば @kbd{C-n}、@kbd{C-v} それに @kbd{C-s} は emacs-w3m バッファで有効なキー
605です (これらは一行下降、一ページ送り、または後方単語検索として共通に使わ
606れます)。
607
608リンクをたどるには @kbd{@key{RET}} キーを使ってください。それにはポイン
609トをリンクの場所に移動しなければなりません。リンクは普通のテキストとは違っ
610て表示されているので、簡単に見分けることができます。それらは下線付き、ま
611たは違う色になっているはずです。それらの見栄えは @code{w3m-anchor} とい
612うフェースによって決まります (@pxref{Customizable Variables})。
613
614@table @asis
615@item @kbd{@key{RET}}
616@itemx @kbd{@key{right}} (Lynx-like キーマップのみ)
617@kindex @key{RET}
618@kindex @key{right} (Lynx-like キーマップ)
619@findex w3m-view-this-url
620現在位置のリンクが指し示すページを表示します (@code{w3m-view-this-url})。
621
622このコマンドの振る舞いは、厳密には現在位置のリンクの性質によって、または
623接頭引数を与えるかどうかに依存します。詳細
624は @ref{Emacs-w3m Functions} を参照してください。
625@end table
626
627前述のように、変数 @code{w3m-quick-start} の値を @code{nil} に設定するこ
628とによって、@w{@kbd{M-x w3m}} コマンドを使ったときに URL を指定すること
629が可能です。Emacs-w3m のバッファでは、入力した新しい URL のページに行く
630ための一般的な方法が、さらに以下の二つあります。
631
632@table @asis
633@item @kbd{@key{RET}}
634@kindex @key{RET}
635@findex w3m-view-this-url
636Emacs-w3m のバッファにおいて、ヘッダラインに表示されている URL の位置に
637ポイントを移動させてから @kbd{@key{RET}} を叩くことによって、ミニバッファ
638から URL を入力して、そのページを表示させることができます。Mozilla など
639の GUI ベースのウェブブラウザに慣れている人にとって、この機能はおなじみ
640ですよね。これに関する詳しい説明が @ref{Emacs-w3m Functions} で見つかる
641はずです (@code{w3m-view-this-url})。
642
643@item @kbd{g}
644@kindex g
645@findex w3m-goto-url
646ミニバッファで URL の入力をうながして、emacs-w3m にそのページを表示させ
647ることができます (ポイントの位置とは無関係です)。このキーの割り当ては、
648すでに Gnus や Mew を利用している人にはおなじみでしょ
649う (@code{w3m-goto-url})。
650
651@item @kbd{G}
652@kindex G
653@findex w3m-goto-url-new-session
654ミニバッファで URL の入力をうながして、それを新しいセッションで表示しま
655す。これはちょうど @kbd{g} (@w{@key{M-x w3m-goto-url}}) のように動作しま
656すが、新しいセッションを開くところが違います。文字端末で emacs-w3m を使っ
657ているのでない限り、新しいセッションを開くということは、そのページを新し
658いタブで表示することを意味します。タブについてのもっと詳しいことは、
659@ref{Using Tabs} を参照してください (@code{w3m-goto-url-new-session})。
660
661@item @kbd{c} (Lynx-like キーマップ)
662@itemx @kbd{y} (Info-like キーマップ)
663@kindex c (Lynx-like キーマップ)
664@kindex y (Info-like キーマップ)
665@findex w3m-print-current-url
666表示しているページの URL をエコーエリアに表示するとともに、
667@code{kill-ring} に URL を挿入します (@code{w3m-print-current-url})。
668
669@item @kbd{u} (Lynx-like キーマップ)
670@itemx @kbd{Y} (Info-like キーマップ)
671@kindex u (Lynx-like キーマップ)
672@kindex Y (Info-like キーマップ)
673@findex w3m-print-this-url
674現在位置のリンクが指し示す対象の URL をエコーエリアに表示するとともに、
675@code{kill-ring} に URL を挿入します (@code{w3m-print-this-url})。
676@end table
677
678さて、あなたが読んでいるページが今日の時事ニュースかだれかの日記だったら、
679それを取り込んだ後で新しい内容で置き換えられているかもしれません。次のコ
680マンドを使うと、同じページの最新の内容に更新することができます。(このコ
681マンドは、ページが壊れているように見える場合に、全画面の再描画を強制させ
682るためにも役立てることができます。)
683
684@table @asis
685@item @kbd{R}
686@itemx @kbd{C-S-l} (Info-like キーマップのみ)
687@kindex R
688@kindex C-S-l (Info-like キーマップ)
689@findex w3m-reload-this-page
690ページを読み込み直します (@code{w3m-reload-this-page})。
691@end table
692
693@node Moving in a page
694@subsection ページ内を飛びまわる
695@cindex Moving in a page
696
697Emacs で移動用に割り当てられている馴染み深いキーがウェブページの閲覧中に
698使えることは、おそらくすでにあなたを魅了しているでしょう。信じてもらえな
699いかもしれませんが、もっとあるのです!  私たちはあなたの時間を大切にした
700いので、ポイントの移動、ページのスクロール、あるいはとても速いやり方でリ
701ンクを見つけるためのキーを追加しました。それらをマスターすれば、それらが
702どんなに便利かを分かってもらえるでしょう。
703
704Emacs の標準キーバインドに比べて @code{w3m-mode} では、より短いキースト
705ロークでスクロールコマンド群を呼び出せるようにキーが割り当てられています。
706ウェブページ内でテキストを入力できる個所はかなり特別なの
707で (@pxref{Submitting Forms})、たいていのキーは特別な意味を持っていて、
708そこでは @code{self-insert-command} に割り当てられていません。
709
710@c スクロール
711@table @asis
712@item @kbd{@key{SPC}}
713@kindex @key{SPC}
714@findex w3m-scroll-up-or-next-url
715下に向かってスクロールします。@samp{more} や @samp{less} コマンド、ある
716いは Emacs の @code{view-mode} を使ったことがあれば、覚えるまでもないキー
717ですよね (@code{w3m-scroll-up-or-next-url})。
718
719@item @kbd{@key{DEL}}
720@itemx @kbd{b}
721@itemx @kbd{@key{backspace}}
722@itemx @kbd{S-@key{SPC}}
723@itemx @kbd{C-?}
724@kindex @key{DEL}
725@kindex b
726@kindex @key{backspace}
727@kindex S-@key{SPC}
728@kindex C-?
729@findex w3m-scroll-down-or-previous-url
730上に向かってスクロールします。@samp{less} コマンド
731や Emacs の @code{view-mode} に馴れ親しんでいるあなたの手は、自然にこの
732キーを叩くでしょう (@code{w3m-scroll-down-or-previous-url})。
733
734@item @kbd{>}
735@kindex >
736@findex w3m-scroll-left
737@vindex w3m-horizontal-scroll-columns
738左にスクロールします。スクロールの量
739は @code{w3m-horizontal-scroll-columns} で与え、デフォルト値は 10 で
740す (@code{w3m-scroll-left})。
741
742@item @kbd{<}
743@kindex <
744@findex w3m-scroll-right
745@vindex w3m-horizontal-scroll-columns
746右にスクロールします。スクロールの量
747は @code{w3m-horizontal-scroll-columns} で与え、デフォルト値は 10 で
748す (@code{w3m-scroll-right})。
749
750@item @kbd{.} (Lynx-like キーマップ)
751@itemx @kbd{S-@key{left}} (Info-like キーマップ)
752@kindex . (Lynx-like キーマップ)
753@kindex S-@key{left} (Info-like キーマップ)
754@findex w3m-shift-left
755@vindex w3m-horizontal-shift-columns
756左にシフトします (小刻みな水平スクロール)。シフトの量
757は @code{w3m-horizontal-shift-columns} で与え、デフォルト値は 2 で
758す (@code{w3m-shift-left})。
759
760@item @kbd{,} (Lynx-like キーマップ)
761@itemx @kbd{S-@key{right}} (Info-like キーマップ)
762@kindex , (Lynx-like キーマップ)
763@kindex S-@key{right} (Info-like キーマップ)
764@findex w3m-shift-right
765@vindex w3m-horizontal-shift-columns
766右にシフトします (小刻みに水平スクロールです)。シフトの量
767は @code{w3m-horizontal-shift-columns} で与え、デフォルト値は 2 で
768す (@code{w3m-shift-right})。
769
770@item @kbd{M-l}
771@kindex M-l
772@findex w3m-horizontal-recenter
773現在ポイントがある位置のテキストが、水平方向に関して中心になるように
774スクロールします (@code{w3m-horizontal-recenter})。
775@end table
776
777@c 移動
778@code{w3m-mode} メジャーモードでは、いろいろな種類の移動コマンドが定義さ
779れています。すなわち、リンク、フォーム、それに画像 (それが表示されていて
780もいなくても) です。
781
782簡単な例を挙げてみます。広く知られている Google 検索エンジンで単語を調べ
783たいのだとしましょう。ステップ1:
784emacs-w3m で @uref{http://www.google.com} を開きます。ステップ2: いった
785んページが読み込まれたら @kbd{]} を叩いてください。
786ぐわしっ! @footnote{普通そんな音はしないけれどね。英語版の Tadaa! は漫画
787などで使われる擬音で、その状況に応じていろいろに訳されます。} ポイントが
788ページの最初の入力フォームに移動しましたね。今や @kbd{@key{RET}} を叩い
789てそこに何かを入力して、@w{@kbd{C-c C-c}} で送ることができます。このコマ
790ンド無しでは、そのページに @kbd{C-n} や @kbd{C-f} などを打ち込んで移動し
791なければならなくて、まったく骨折りなことだったでしょう。
792
793@table @asis
794@item @kbd{@key{TAB}}
795@itemx @kbd{@key{down}} (Lynx-like キーマップのみ)
796@kindex @key{TAB}
797@kindex @key{down} (Lynx-like キーマップ)
798@findex w3m-next-anchor
799次のリンク (emacs-w3m の用語では ``アンカー'') へポイントを移動します。
800より厳密には、順方向で最も近いアンカーへ移動します。
801
802@item @kbd{M-@key{TAB}}
803@itemx @kbd{S-@key{TAB}}
804@itemx @kbd{@key{backtab}}
805@itemx @kbd{@key{up}} (Lynx-like キーマップのみ)
806@kindex M-@key{TAB}
807@kindex S-@key{TAB}
808@kindex @key{backtab}
809@kindex @key{up} (Lynx-like キーマップ)
810@findex w3m-previous-anchor
811前のアンカーへポイントを移動します。より厳密には、逆方向で最も近いアンカー
812へ移動します (@code{w3m-previous-anchor})。
813
814@item @kbd{]}
815@kindex ]
816@findex w3m-next-form
817次のフォームへポイントを移動します。より厳密には、順方向で最も近いフォー
818ムへ移動します (@code{w3m-next-form})。
819
820@item @kbd{[}
821@kindex [
822@findex w3m-previous-form
823前のフォームへポイントを移動します。より厳密には、逆方向で最も近いフォー
824ムへ移動します (@code{w3m-previous-form})。
825
826@item @kbd{@}}
827@kindex @}
828@findex w3m-next-image
829次の画像へポイントを移動します。より厳密には、順方向で最も近い画像へ移動
830します (@code{w3m-next-image})。
831
832@item @kbd{@{}
833@kindex @{
834@findex w3m-previous-image
835前の画像へポイントを移動します。より厳密には、逆方向で最も近い画像へ移動
836します (@code{w3m-previous-image})。
837@end table
838
839@node Moving over pages
840@subsection ページ間を渡り歩く
841
842この項ではページからページに移動するやり方を説明します。リンクをたどった
843り URL を入力する方法はここにはありません (それら二つの方法
844は @ref{Launching and Jumping} で説明されています)。
845
846ここには、以前に訪問したページの履歴を後ろに、および前に移動する (他のブ
847ラウザでは「戻る」「進む」としておなじみの) コマンドと、仮にもブラウザた
848るものが義務として提供すべき「ホームページへ移動する」機能があります。あ
849らかじめ @ref{Tracing History} の項を読んでおいた方が、たぶん理解しやす
850いでしょう。
851
852@table @asis
853@item @kbd{B} (Lynx-like キーマップ)
854@itemx @kbd{@key{left}} (Lynx-like キーマップ)
855@itemx @kbd{l} (Info-like キーマップ)
856@itemx @kbd{p} (Info-like キーマップ)
857@kindex B (Lynx-like キーマップ)
858@kindex @key{left} (Lynx-like キーマップ)
859@kindex l (Info-like キーマップ)
860@kindex p (Info-like キーマップ)
861@findex w3m-view-previous-page
862以前に訪問したページの履歴を1ページ戻りま
863す (@code{w3m-view-previous-page})。数の引数 N が与えられると N ページ戻
864ります。これは過去に戻るためのお勧めの方法です。
865
866@item @kbd{N} (Lynx-like キーマップ)
867@itemx @kbd{n} (Info-like キーマップ)
868@kindex N (Lynx-like キーマップ)
869@kindex n (Info-like キーマップ)
870@findex w3m-view-next-page
871以前に訪問したページの履歴を1ページ進みます (@code{w3m-view-next-page})。
872もちろん @kbd{B} (@samp{Info-like} キーマップの場合は @kbd{l}) で履歴を
873戻った後でなければ働きません。数の引数 N が与えられると N ページ進みます。
874このコマンドは、まさに back to the future を実現します!
875
876@item @kbd{H}
877@kindex H
878@findex w3m-gohome
879@vindex w3m-quick-start
880ホームページへ移動します (@code{w3m-gohome})。ホームページ
881の URL は @code{w3m-home-page} という変数で指定しま
882す (@pxref{Customizable  Variables})。@code{w3m-home-page} のデフォルト
883の値は ``about:'' です。
884@end table
885
886以下のコマンドは、他には無い emacs-w3m の特長です。私たちはそれらの特許
887を得ることができました。従って、他のいかなる場所でも見つからないでしょう。
888そのため、今日それらを使うことを学ばなければなりません! (真に受けないで
889くださいね。ただの冗談ですから。)
890
891@table @asis
892@item @kbd{^}
893@itemx @kbd{u} (Info-like キーマップのみ)
894@kindex ^
895@kindex u (Info-like キーマップ)
896@findex w3m-view-parent-page
897現在表示されているページの親ディレクトリへの移動を試みます。例えば、
898``http://foo/bar/baz'' が表示されている場合は ``http://foo/bar/'' に移動
899しようとします。この機能は次の観察に基づいて実装されました: ウェブブラウ
900ザのユーザは、しばしば一段階上のディレクトリに移動しなければなりません。
901彼らが捜している情報が、現在のページに表示されないから (それが削除された
902ので、あるいは検索エンジンが間違っているページに連れて行ったため) です。
903
904他のウェブブラウザを使う場合、一般には、URL から @kbd{@key{DEL}} キー等
905を複数回使って、手作業で末尾のコンポーネントを削除する手間が必要です。
906Emacs-w3m では、この操作を @kbd{^} のたった一押し! で行なうことができま
907す。
908
909また、``2 ^'' と数字を付けてコマンドを実行すると、その数字の分だけ親のディ
910レクトリに移動します。``0 ^'' と ``0'' を付けて実行するとそのサイトの最
911上位まで移動します。
912@end table
913
914@table @asis
915@item @kbd{@key{SPC}}
916@kindex @key{SPC}
917@findex w3m-scroll-up-or-next-url
918現在のポイント位置がバッファの末尾付近にあり、下方向にスクロールできない
919場合に @kbd{@key{SPC}} を押すと「次」のページへ移動しま
920す (@code{w3m-scroll-up-or-next-url})。ここで「次のページ」とは、現在読
921んでいるページのヘッダ内の特別な ``next'' フィールドが指し示しているペー
922ジのことです。この機能は訪問したページの履歴とは関係ありません。
923
924一度に巨大なコンテンツを転送するのを待つことが、ユーザにとって快適ではな
925いなどの理由で、いくつかのウェブサイトがそれらのコンテンツを小さな複数の
926ページに分割していることに、おそらく気付いているでしょう。例えば、検索エ
927ンジンの検索結果は、しばしばそのように現われます。そんなサイトでは、ユー
928ザはすべての情報にアクセスするために、しばしば一つのページから次のページ
929に、手動でリンクをたどらなければなりません。
930
931Emacs-w3m は、可能であればこのリンクを明示的にたどる操作をスクロール操作
932と統合して、複数のページに分割されて提供されるコンテンツを、できれば一枚
933のウェブページとして閲覧できるよう試みます。
934
935それはこうして働きます: そのようなウェブサイトでは、分割したウェブページ
936間のつながりをページのヘッダ内の ``next''、``prev'' あるい
937は ``previous'' フィールドに記載してある場合があります。Emacs-w3m は何を
938たどるかを知るために、このフィールドを利用しています。
939
940二つの操作 (リンクをたどる + スクロール) が Emacs-w3m 上でどのように統合
941されているのかを、再び Google を例に説明しましょう。
942@uref{http://www.google.com} を開き、ある単語を検索します。もし、あまり
943にもありふれた単語 (例えば「牛丼」) を検索すると、大量の検索結果を得るこ
944とになるでしょう。Google は、その基準を使ってソートした検索結果を複数の
945ウェブページに分割した上で、まず最初のページを返します。
946@kbd{@key{SPC}} を使って最初のページをスクロールさせながら眺めてください。
947そして、そのページの最後がそのウィンドウで見えるまで、スクロールし続けて
948ください。そこでは、あなたをびっくりさせるしかけが待っています。
949Emacs-w3m 以外のブラウザを使って残りの検索結果を見たいと思ったならば、
950
951@example
952Gooooooogle
953@end example
954
955の下にならぶ数字のどれか
956
957@example
9581 2 3 4 5 6 7 8...
959@end example
960
961をクリックする必要があります。しかし emacs-w3m ならば、単
962に @kbd{@key{SPC}} を押すというスクロールと同じ操作で、リンクをたどるこ
963とができるのです。
964
965@item @kbd{@key{DEL}}
966@itemx @kbd{b}
967@itemx @kbd{@key{backspace}}
968@itemx @kbd{S-@key{SPC}}
969@itemx @kbd{C-?}
970@kindex @key{DEL}
971@kindex b
972@kindex @key{backspace}
973@kindex S-@key{SPC}
974@kindex C-?
975@findex w3m-scroll-down-or-previous-url
976ポイント位置がバッファの先頭付近にあり、上方向にスクロールできない場合
977に @kbd{@key{DEL}} を押すと、「前」のページへ移動しま
978す (@code{w3m-scroll-down-or-previous-url})。ここで「前」のページとは、
979現在表示されているページのヘッダ内の ``prev'' あるいは ``previous'' フィー
980ルドに指定されているページのことです。この機能は訪問したページの履歴とは
981関係ありません。@kbd{@key{SPC}} (@code{w3m-scroll-up-or-next-url}) と同
982様、ただし逆の動きになります。
983@end table
984
985@node Browsing With Mouse Operations
986@subsection マウスを使ってサーフィン
987
988Emacs-w3m の開発者達は、Emacs ギーク@footnote{英語版の Info では Emacs
989otaku} でない普通の人にも emacs-w3m を使ってもらえるように、少し骨を折り
990ました。例えば URL やフォームのテキストの入力を除くほとんどのウェブブラ
991ウズ操作を、マウスだけで行なうことができます。それでもなお修飾キーとして
992シフトキーが必要になる場合があることに注意してください。Emacs-w3m の開発
993者がみんな Emacs ギークなので@dots{}
994
995ウェブ閲覧の最初の基本となる「リンクをたどる操作」には @kbd{mouse-2} を
996使ってください。Emacs 22.1 以上では、@kbd{mouse-1} で
997も @code{mouse-1-click-follows-link} の値に応じた、リンクをたどる操作を
998行なうことができます。
999
1000@table @kbd
1001@item mouse-2
1002@kindex mouse-2
1003@findex w3m-mouse-view-this-url
1004マウスカーソルの下にあるリンクをたどりま
1005す (@code{w3m-mouse-view-this-url})。
1006
1007@item S-@key{mouse-2}
1008@kindex S-@key{mouse-2}
1009@findex w3m-mouse-view-this-url-new-session
1010新しいセッション (@pxref{Tracing History}) のもとでマウスカーソルの下に
1011あるリンクをたどります (@code{w3m-mouse-view-this-url-new-session})。
1012@end table
1013
1014Emacs-w3m のスクロールバー、メニュー及びツールバーは、マウスを使う場合に
1015役立ちます。ただし Emacs がそれらをサポートしていることが必要で、かつそ
1016れらを有効にしていなければなりません。言うまでもないですが、スクロールバー
1017を動かして表示をスクロールさせることができます。Emacs フレームの一番上に
1018ある「w3m」メニューから、この info ドキュメントで紹介してい
1019る emacs-w3m の様々な機能を呼び出すことができます。主要な機能については
1020メニューアイテムを選ぶまでもないことに注意してください。代わりにツール
1021バー・アイコンを使うことができます。
1022
1023タブ (@pxref{Using Tabs}) を使って emacs-w3m のバッファを切り替えるには、
1024ウィンドウのてっぺんの行を @kbd{mouse-2} で直接クリックするか、または
1025「w3m」メニューの一つおいて隣にある「Tab」メニューから一つを選んでくださ
1026い。
1027
1028@node Going back to daily hacking and/or daily writing
1029@subsection 普段の生活に戻るには
1030
1031思い出してください。おそらくあなたはウェブを見るために Emacs を始めたの
1032ではありません。エディタの内蔵インタープリタを scheme に置き換えたり、ソ
1033フトウェアの info ドキュメントを作成したり、ソフトウェアの特許に対する自
1034分の考えを印刷したり@dots{}するためだったのではありませんか?  Emacs を使っ
1035ていた間に、仕事のためにウェブを見る必要に迫られ、しかしたまた
1036ま Emacs から離れずにウェブを見ることができてしまったのです。
1037
1038さぁ、本来の作業に戻る時が来ました。あなたががんばらないと世界は変りませ
1039ん!  すぐにまたウェブを閲覧する必要があるかもしれないなら @kbd{q} を、し
1040ばらく emacs-w3m に戻ってくるつもりがないなら @kbd{Q} を使ってください。
1041
1042@table @kbd
1043@item q
1044@kindex q
1045@findex w3m-close-window
1046Emacs-w3m のウィンドウと閉じて、他のバッファを選択しま
1047す (@code{w3m-close-window})。
1048
1049@item Q
1050@kindex Q
1051@findex w3m-quit
1052Arrived URLs (閲覧履歴, @pxref{Tracing History} 参照) のリストとクッ
1053キー (@pxref{Cookie Variables}) をディスクに保存して、本当
1054に emacs-w3m を終了します (@code{w3m-quit})。
1055@end table
1056
1057@node Inline Images
1058@section 画像表示を ON/OFF する
1059@cindex Displaying images
1060
1061あなたが使っているバージョンの Emacs がバッファに画像を表示することがで
1062きるならば、あたかも Mozilla のような「グラフィカル」ブラウザのように、
1063emacs-w3m はウェブページにそれらを表示することができます。下記のコマンド
1064のどれかを使おうとする前に、あなたの Emacs が正しく画像表示に使えること
1065を確かめてください (@pxref{Required Emacs Version})。
1066
1067現在のバッファにおける画像の表示を切り替えるには @kbd{T}
1068(@samp{Info-like} キーマップの場合は @kbd{I}) を使ってください。それによっ
1069て emacs-w3m はサーバから画像を取ってきて、しかる後にそれらを「グラフィ
1070カル」ブラウザとしてそうなるであろうバッファの位置に表示します。もう一度
1071キーを叩くと、画像はバッファから消え去ります。
1072
1073デフォルトでは emacs-w3m は画像を表示しませんが、その振る舞いを変更して
1074常に画像表示することを選ぶのは可能で、それには変
1075数 @code{w3m-default-display-inline-images} をカスタマイズして、その値
1076を @code{nil} から @code{t} に変更する必要があります。
1077@xref{Customizable Variables}.
1078
1079さらに emacs-w3m には、画像の拡大縮小、ファイルへのセーブ、または外部ビュー
1080ワで見る、といった気の利いた機能が付属しています。
1081
1082@table @asis
1083@item @kbd{T} (Lynx-like キーマップ)
1084@itemx @kbd{I} (Info-like キーマップ)
1085@kindex T (Lynx-like キーマップ)
1086@kindex I (Info-like キーマップ)
1087@findex w3m-toggle-inline-images
1088現在のバッファにあるすべてのインライン画像の表示をトグルで切り替えま
1089す (@code{w3m-toggle-inline-images})。
1090@code{transient-mark-mode} が on で、かつ領域が設定されている場合に限っ
1091て、その領域内にある画像だけが on になります。
1092
1093注1: 初めて訪れたページで最初からインライン画像を表示するかどうかは、前
1094述の通り変数 @code{w3m-default-display-inline-images} の値で制御されま
1095す (デフォルトは off です)。しかし、そのバッファを起点にして訪れるバッファ
1096で画像を表示するかどうかは、
1097@code{w3m-toggle-inline-images-permanently} が @code{nil} ではない値 (デ
1098フォルトは @code{t}) だった場合は、そのバッファで画像を表示していたかど
1099うかの最後の状態を継承します。
1100@code{w3m-toggle-inline-images-permanently} が @code{nil} だったら、常
1101に @code{w3m-default-display-inline-images} がそれを制御します。
1102
1103注2: このコマンドは領域を不活性にします。したがって、再び特定の領域にあ
1104る画像だけを表示したいならば、もう一度その領域を設定しなければなりません。
1105
1106@item @kbd{t} (Lynx-like キーマップ)
1107@itemx @kbd{i} (Info-like キーマップ)
1108@kindex t (Lynx-like キーマップ)
1109@kindex i (Info-like キーマップ)
1110@findex w3m-toggle-inline-image
1111カーソルの場所にある単一の画像の表示をトグルで切り替えま
1112す (@code{w3m-toggle-inline-image})。@code{transient-mark-mode} が on で、
1113かつ領域が設定されている場合に限って、その領域内にある画像だけが on にな
1114ります。@samp{Info-like} キーマップについては、もし Emacs が画像表示をサ
1115ポートしないならば、このキーは外部ビューワを起動するコマン
1116ド (@code{w3m-view-image}) にバインドされます。
1117
1118@item @kbd{M-S-t} (Lynx-like キーマップ)
1119@itemx @kbd{M-S-i} (Info-like キーマップ)
1120@kindex M-T (Lynx-like キーマップ)
1121@kindex M-I (Info-like キーマップ)
1122@findex w3m-turnoff-inline-images
1123現在のバッファにあるすべてのインライン画像の表示を取り止めます。
1124(@code{w3m-turnoff-inline-images})。
1125
1126@item @kbd{I} (Lynx-like キーマップ)
1127@kindex I (Lynx-like キーマップ)
1128@findex w3m-view-image
1129@cindex Viewing images
1130ポイントの下にある画像を外部ビューワで見ます (@code{w3m-view-image})。
1131
1132@item @kbd{M-i}
1133@kindex M-i
1134@findex w3m-save-image
1135@cindex Saving images
1136ポイントの下にある画像を外部ファイルにセーブします。デフォルトの名前はそ
1137の画像の元の名前です。それ故に、ほとんどの場合
1138に @w{@kbd{M-i @key{RET}}} は正しい名前で画像をセーブするでしょ
1139う (@code{w3m-save-image})。
1140
1141@cindex Zooming images
1142@item @kbd{M-[}
1143@kindex M-[
1144@findex w3m-zoom-out-image
1145ポイントの下にある画像を縮小 (zoom out) しま
1146す (@code{w3m-zoom-out-image})。
1147
1148@item @kbd{M-]}
1149@kindex M-]
1150@findex w3m-zoom-in-image
1151ポイントの下にある画像を拡大 (zoom in) します (@code{w3m-zoom-in-image})。
1152@end table
1153
1154@node Tracing History
1155@section 時空を遡る
1156@cindex Browsing history
1157@cindex Arrived URLs
1158
1159Emacs-w3m には、以前に訪問したすべてのページのリストを提示するための、
11602つの方法があります。第一の方法は「emacs-w3m の履歴」
1161(emacs-w3m history) と単純に呼ばれるもので、そのセッション (注: そのバッ
1162ファ内で行なう操作とそれに対する反応) において訪問したページのリストを階
1163層的に提示します。すなわち、あるリンクをたどると、それまでのページは行き
1164先の「親」になります。それは、訪れたページの跡をたどったり、履歴が長くなっ
1165てしまった場合にどこから着たかを思い出すためには、たいへん都合の良いもの
1166です。
1167
1168これは、GNU プロジェクトのホームページをちょっと訪ねた後における、この機
1169能の動作の例です:
1170
1171@example
1172GNU's Not Unix! - the GNU Project and the Free Software Foundation (FSF)
1173  Philosophy of the GNU Project - Free Software Foundation (FSF)
1174    GNU Emacs - GNU Project - Free Software Foundation (FSF)
1175     Order from the Free Software Foundation (FSF)
1176  Links to Other Free Software Sites - GNU Project - Free Software Fo...
1177    EFF: Homepage
1178@end example
1179
1180(実際には、この例は 72 桁に収まるように、少しばかり編集されています。現
1181実の emacs-w3m バッファでは URLs は切り詰められません。)
1182
1183どの emacs-w3m バッファからでも @kbd{s} キー (@samp{Info-like} キーマッ
1184プの場合は @kbd{o} キー) を使うことによって、このような履歴を提示させる
1185ことが可能です。
1186
1187この履歴はバッファ・ローカル、すなわち、ある emacs-w3m のバッファに固有
1188のものであることに注意してください。でも emacs-w3m にはユニークな機能が
1189あります: あなたが新しいページを訪問する場合、履歴は新しいバッファにコピー
1190されます。その結果、それまでに訪れたページに今まで通りアクセスすることが
1191できます。これは、Mozilla などの、新しいバッファでは履歴が常にゼロからス
1192タートするブラウザとは異なります。
1193
1194Emacs-w3m は単にあなたが訪れたページを記録するだけでなく、あなたがページ
1195の正確な同じ場所へ戻りたい場合に、それらのページの中の特定の位置を記録す
1196ることもできます。@w{@kbd{C-c C-@@}} を押すと、カーソルの位置が履歴に登
1197録されます。以前に記録した位置へ移動するには、そのページを開い
1198た emacs-w3m のバッファで @w{@kbd{C-c C-v}} を押してください。
1199
1200@table @asis
1201@item @kbd{s} (Lynx-like キーマップ)
1202@itemx @kbd{C-u s} (Lynx-like キーマップ)
1203@itemx @kbd{o} (Info-like キーマップ)
1204@itemx @kbd{C-u o} (Info-like キーマップ)
1205@kindex s (Lynx-like キーマップ)
1206@kindex C-u s (Lynx-like キーマップ)
1207@kindex o (Info-like キーマップ)
1208@kindex C-u o (Info-like キーマップ)
1209@findex w3m-history
1210このセッションにおいて訪問した URLs のリストを表示します。接頭引数付きで
1211呼ばれると (後述)、代わりに arrived URLs を表示しま
1212す (@code{w3m-history})。
1213
1214@item @kbd{C-c C-@@}
1215@itemx @kbd{C-c C-@key{SPC}}
1216@kindex C-c C-@@
1217@kindex C-c C-@key{SPC}
1218@findex w3m-history-store-position
1219そのページの中のカーソルの位置を履歴に記録します。
1220
1221@item @kbd{C-c C-v}
1222@kindex C-c C-v
1223@findex w3m-history-restore-position
1224現在表示しているページにおい
1225て、@w{@kbd{C-c C-@@}} (@code{w3m-history-store-position}) で記憶した位
1226置へ移動します。
1227@end table
1228
1229もう一つの過去に訪れたページに関する情報を手に入れる方法は、「arrived
1230URLs」です。これはあなたが emacs-w3m で訪問した、最後の 500個! の URL の
1231リストです。リストは日付順で、最も最近のものを先頭に、それぞれのページの
1232訪問時刻が表示されます。これは例です (info の表示が拡がり過ぎないように
1233編集されています):
1234
1235@example
1236Order from the Free Software Foundation (FSF)             22:53:25
1237GNU Emacs - GNU Project - Free Software Foundation (FS    22:53:05
1238Philosophy of the GNU Project - Free Software Foundati... 22:52:46
1239Philosophy of the GNU Project - Free Software Foundati... 22:52:39
1240EFF: Homepage                                             22:52:18
1241Links to Other Free Software Sites - GNU Project - Fre... 22:52:07
1242Links to Other Free Software Sites - GNU Project - Fre... 22:52:07
1243GNU's Not Unix! - the GNU Project and the Free Softwar... 22:51:32
1244Bookmarks                                                 22:51:02
1245The DICT Development Group- upwards                       2003-01-08
1246the monkey puzzle: new debian packages as an rss feed     2003-01-08
1247new-debian-packages.rss                                   2003-01-07
1248it's a miracle                                            2003-01-06
1249@end example
1250
1251前のコマンドに接頭引数を渡す、すなわち @w{@kbd{C-u s}}
1252(@samp{Info-like} キーマップの場合は @w{@kbd{C-u o}}) を使うことによって、
1253この履歴を得ることができます。このページに表示される URLs の数はカスタマ
1254イズできます。変数 @code{w3m-keep-arrived-urls} を参照してください。それ
1255はデフォルトでは 500 を越えることはできません。@xref{Customizable
1256Variables}.
1257
1258もちろん、すべての場合に、例に示されているすべての行はリンクです。そのリ
1259ンクをたどることによって、通常のページを訪問していたらちょうどそうなるよ
1260うに、以前に訪ねたどのページにも行くことができます。
1261
1262@ref{Moving over pages} の項も見てください。そこでは「戻る」「進む」など
1263の機能に割り当てられた単純なキーで、履歴の中を移動するやり方を説明してい
1264ます。
1265
1266@node Managing Bookmarks
1267@section ぼくの/わたしのお気に入り
1268@cindex Bookmarks
1269
1270現代的なあまたのブラウザの例に漏れず、emacs-w3m には先進のブックマークの
1271機能があります。それによってカテゴリー毎に分類し、それらを編集し、ああ、
1272もちろん簡単に閲覧することができます。
1273
1274日本語版注釈: ブックマークの語源は、本に挟む栞 (しおり) のことです。
1275
1276@menu
1277* Adding Bookmarks::            お気に入りに URL を加える
1278* Consulting Bookmarks::        ブックマークを閲覧する
1279* Editing Bookmarks::           ブックマークを変更するには?
1280@end menu
1281
1282@node Adding Bookmarks
1283@subsection お気に入りに URL を加える
1284@cindex Adding a bookmark
1285@kindex a
1286@kindex C-u a
1287@findex w3m-bookmark-add-current-url
1288@kindex M-a
1289@findex w3m-bookmark-add-this-url
1290
1291ブックマークに URL を加えるには、いくつかのやり方があります。最初の一つ
1292は、@kbd{a} キーを使って (または @code{w3m-bookmark-add-current-url} コ
1293マンドを呼んで) 今現在閲覧しているページを加えることです。すると、そのブッ
1294クマークをどの項目に入れるかを尋ねられ (@kbd{@key{TAB}} キーによる補完が
1295効きます)、タイトルの書き換えが促されます (デフォルトは、そのページのタ
1296イトルになっています)。これらの二つをこなしたら、それらを有効にするため
1297に @kbd{@key{RET}} を叩いてください。すると ``Added'' というメッセージが
1298ミニバッファに現れて、(驚くなかれ!) そのページがブックマークに記録されま
1299す。
1300
1301ブックマークを加えるもう一つの方法は、@kbd{M-a} を使う (また
1302は @code{w3m-bookmark-add-this-url} コマンドを呼ぶ) ことです。これは、現
1303在位置の URL (もしそのリンクをたどると、閲覧することができる URL) をブッ
1304クマークに加えます。その場合でも最初に説明した方法と同様に、項目の名前と
1305タイトルを入力しなければなりません。そのとき、それらのデフォルトはリンク
1306自体の名前になっています。
1307
1308最後に、三番目の方法は @w{@kbd{C-u a}} を叩くことです。このときは、ブッ
1309クマークに加える URL、その項目、およびタイトルの入力が促されます。
1310
1311@table @kbd
1312@item a
1313現在のページをブックマークに加えます。接頭引数付きで呼ばれた場合は、加え
1314る URL の入力が求められます (@code{w3m-bookmark-add-current-url})。
1315
1316@item M-a
1317現在位置の URL をブックマークに加えま
1318す (@code{w3m-bookmark-add-this-url})。
1319@end table
1320
1321@node Consulting Bookmarks
1322@subsection ブックマークを閲覧する
1323@cindex Consulting bookmarks
1324@kindex v
1325@findex w3m-bookmark-view
1326
1327ブックマークされたページを閲覧する最も簡単な方法は、emacs-w3m のバッファ
1328で @kbd{v} キーを叩くことです。ですがもう一つ、特別な URL であ
1329る @uref{about://bookmark/} に行くことによっても可能です。すると一行あた
1330り一つずつのブックマークが、項目ごとにまとめられて表示されるでしょう。そ
1331こでは、他のページを閲覧するのと同じように、それらを確実に閲覧することが
1332できます。
1333
1334ブックマークのページでは bookmark マイナーモードが働いています。それは、
1335ブックマークを編集するためのキーバインドを追加します。@xref{Editing
1336Bookmarks}.
1337
1338@table @kbd
1339@item v
1340ブックマークのページを呼び出します (@code{w3m-bookmark-view})。
1341@end table
1342
1343@node Editing Bookmarks
1344@subsection ブックマークを変更するには?
1345@cindex Editing bookmarks
1346
1347Bookmark マイナーモード (@pxref{Consulting Bookmarks}) は、ブックマーク
1348を編集するためにいくつかのキーバインドを設けています。中でもブックマーク
1349を kill (すなわち消去) するための @kbd{C-k} とブックマーク・ファイルを編
1350集するための @kbd{E} (@samp{Info-like} キーマップの場合は @kbd{e}) は、
1351最も注目に値します。
1352
1353ブックマークは HTML ファイルに収められています。したがってそのファイルは
1354手で編集することができますが、十分に注意してください。emacs-w3m が項目名
1355を認識するために必要なコメントを消してしまうことによって、ものごとは簡単
1356に台無しになります。あなたが HTML の基本を知っていれば、むしろそのファイ
1357ルの中身は極めて分かり易いものでしょう。
1358
1359@table @kbd
1360@item C-k
1361@findex w3m-bookmark-kill-entry
1362現在位置のブックマークを kill します (@code{w3m-bookmark-kill-entry})。
1363
1364@item E
1365@findex w3m-bookmark-edit
1366ブックマーク・ファイルを読み込んで、編集可能な状態にしま
1367す (@code{w3m-bookmark-edit})。
1368
1369@item C-_
1370@findex w3m-bookmark-undo
1371やり直しをします (@code{w3m-bookmark-undo})。
1372@end table
1373
1374@node Using Tabs
1375@section みんなタブが好きだよね
1376
1377ほとんどの他のテキストベースのブラウザーと異なり、emacs-w3m はタブによる
1378閲覧をサポートしています。タブによる閲覧って何? と尋ねられそうですね。そ
1379れはとても単純で、ウィンドウのてっぺんの行にすべてのバッファを単純かつ分
1380かりやすいやり方で表示することによって、単一のウィンドゥですべて
1381の emacs-w3m のバッファを表現する方法です。それぞれのバッファは「タブ」
1382として表示されます。この行は、他のバッファに移動したり、ページの状態を知
1383ることができるようにするために常に見えたままになっていて、バッファにつら
1384れてスクロールしません。
1385
1386その感触をつかむ最も簡単な方法は、単に試してみることです。ですから、引き
1387続いて emacs-w3m のセッションを始めてください。何も設定変更をしていなけ
1388れば、デフォルトでタブの行が現れます。てっぺんで、小さな四角に現在のペー
1389ジのタイトルを表示している明るい行がそれです。では (例え
1390ば @kbd{G} で) 別の w3m バッファを作ってみましょう。すると四角が二つになっ
1391たでしょう。それらがタブです。
1392
1393もっとも分かりやすいタブの使い道は切り替えです: タブの上
1394で @kbd{mouse-1} ボタンをクリックすることによって、そのバッファを表示さ
1395せることができます。さらに @kbd{mouse-2} ボタンでも、または GNU Emacs で
1396はマウスホイールでも動作します。これは、複数の emacs-w3m バッファを使う
1397ための、非常に速くて簡単な方法です。単に指し示してクリックするか、マウス
1398ホイールをクルクルすれば良いのですから。(はいはい、あなたを無視していま
1399せんよ。あなたはキーボードを使って切り替えたいのですね。ご心配無く。それ
1400も可能です。次の節で説明しますから、黙って読み続けてください!)
1401
1402もう一つの気が利いた機能は、ページの状態を知らせることです。カラー端末か
1403ウィンドゥシステムを使っていれば、ページの状態を知らせるため
1404に emacs-w3m は違う色でテキストをタブに表示します。例えばベージを取り込
1405んでいる最中はテキストは赤くなっていて、取り込みが完了するとデフォルトの
1406色 (通常は黒) に戻ります。これにより、見ようと思って待っているページが到
1407着したかどうかが、タブ行を一目見ただけで分かります。
1408
1409最後に、もしウェブページが favicon を持っていれば、それもタブに表示され
1410ます。Emacs-w3m ユーザにもっと視覚効果を!
1411
1412ユーザオプション:
1413
1414@table @code
1415@item w3m-use-tab
1416@vindex w3m-use-tab
1417タブによる閲覧を活かすかどうか。
1418@end table
1419
1420あなたが GNU Emacs のユーザーならば、マウスホイールを使うと、隣のバッファ
1421に行くだけでなく、バッファを隣の場所に移動させることもできます。それには
1422タブ行の上でマウスホイールを回す間、コントロール・キーを押し下げておいて
1423ください。マウスホイールによって emacs-w3m がどのように動作するかを制御
1424する二つの変数があります:
1425
1426@table @code
1427@item w3m-tab-track-mouse
1428@vindex w3m-tab-track-mouse
1429この変数は、マウスが選択したタブを追いかけて移動するかどうかを制御します。
1430デフォルト値は @code{t} です。もしプロポーショナルなフォントをタブのフェー
1431スに使っているならば、これを @code{nil} に設定する必要があるかもしれませ
1432ん。@code{w3m-tab-mouse-position-adjuster} も見てください。
1433
1434@item w3m-tab-mouse-position-adjuster
1435@vindex w3m-tab-mouse-position-adjuster
1436この変数は、マウスポインターが選択したタブを追いかけて移動するときのマウ
1437スの位置を調整するための値を含んでいます。デフォルト値
1438は @code{(0.5 . -4)} です。これは浮動少数 @var{m} と整数 @var{n} のコン
1439ス・セルで、マウスの位置 (ピクセル数で与えられます) の計算に以下のように
1440適用されます:
1441
1442@example
1443(TAB_WIDTH + M) * ORDER + N
1444@end example
1445
1446ここで @var{tab_width} は一つのタブのピクセル幅、@var{order} は何番目の
1447タブかを表します。結果の少数以下は切り捨てられます。
1448
1449もしタブのフェースにプロポーショナルなフォントを使っていると、この計算は
1450常に失敗するでしょう。@code{w3m-tab-track-mouse} も参照してください。
1451@end table
1452
1453@node Working with buffers
1454@section バッファを作る/消す/移動する
1455
1456遅かれ早かれあなたは emacs-w3m 中毒になって、すべてのウェブの閲覧をそれ
1457で賄わなければならなくなるでしょう。あなたがめげてしまいそうなこの任務を
1458手伝うために、emacs-w3m のバッファで動作するたくさんの違う手段を考えまし
1459た。
1460
1461@menu
1462* Creating and killing buffers:: バッファを作ったり消したり
1463* Moving across buffers::        バッファ間の移動
1464* Selecting buffers::            リストからバッファを選ぶ
1465@end menu
1466
1467@node Creating and killing buffers
1468@subsection バッファを作ったり消したり
1469@cindex Creating new buffers
1470@cindex Killing buffers
1471
1472時に、ウェブページを開かないで単に新しいバッファを作ることが役に立つこと
1473があります。この操作を emacs-w3m の用語では「ふたごのコピーを作る」
1474(creating a twin copy) と言います。これは単に、その内容が現在のバッファ
1475と同一な新しいバッファを作ります。
1476
1477この反対はバッファを閉じることで、今はその内容に興味が無い一つのバッファ
1478を、単に閉じることができます。あるいは、現在のバッファ以外のすべてを閉じ
1479ることを決断しても良いです。以下のコマンドでそれを行なってください:
1480
1481@table @kbd
1482@item C-c C-t
1483@itemx M-n
1484@kindex C-c C-t
1485@kindex M-n
1486@findex w3m-copy-buffer
1487現在のバッファと同一のコピーを新しい名前で作ります。これは新しいバッファ
1488にウェブページを取り込まずに、新しいセッションを始めるのに使いま
1489す (@code{w3m-copy-buffer})。
1490
1491@item C-c C-w
1492@kindex C-c C-w
1493@findex w3m-delete-buffer
1494現在の emacs-w3m のバッファを閉じます (@code{w3m-delete-buffer})。
1495
1496@item C-c M-w
1497@kindex C-c M-w
1498@findex w3m-delete-other-buffers
1499現在のもの以外のすべての emacs-w3m のバッファを閉じま
1500す (@code{w3m-delete-other-buffers})。
1501@end table
1502
1503@node Moving across buffers
1504@subsection バッファ間の移動
1505
1506最も頻繁に使うコマンドがたぶん隣のバッファに行くものであろうことは、世間
1507の認めるところでしょう。それは、現在の「後」か「前」のバッファです。この
1508意味はタブを使ってみればよくわかります。次のバッファは現在の右側の一つ後、
1509前のバッファは左側です。これらのコマンドに割り当てられているキー
1510は @w{@kbd{C-c C-p}} と @w{@kbd{C-c C-n}} です。
1511
1512これらのコマンドは数字接頭引数の習慣を理解します。すなわち、それらを
1513数 N を引数として呼ぶと、現在のバッファから N 個離れたバッファに行きます。
1514例えば、現在位置から右にバッファを二個分 (すなわちバッファ二個分だけ次
1515に) 移動するには、@w{@kbd{2 C-c C-n}} を使ってください@footnote{いつもの
1516ように、@w{@kbd{2 C-c C-n}} の代わりに @w{@kbd{C-u 2 C-c C-n}} を使って
1517も良いのですが、emacs-w3m のバッファではすべての数字キーとマイナス記号が
1518数の接頭引数に割り当てられていることを覚えておいてください。}。
1519
1520@table @kbd
1521@item C-c C-p
1522@kindex C-c C-p
1523@findex w3m-previous-buffer
1524前の emacs-w3m バッファに移動します。これは通常タブ行において左方向に次
1525です。数の引数 N を付けて使うと、バッファを N 個分前に移動しま
1526す (@code{w3m-previous-buffer})。
1527
1528@item C-c C-n
1529@kindex C-c C-n
1530@findex w3m-next-buffer
1531次の emacs-w3m バッファに移動します。これは通常タブ行において右方向に次
1532です。数の引数 N を付けて使うと、バッファを N 個分次に移動しま
1533す (@code{w3m-next-buffer})。
1534@end table
1535
1536あなたが GNU Emacs のユーザーならば、以下のコマンドを使って emacs-w3m バッ
1537ファをタブ行の隣の場所に移動させることもできます:
1538
1539@table @kbd
1540@item C-c C-.
1541@itemx C-c C->
1542@findex w3m-tab-move-right
1543選択されている emacs-w3m バッファを、タブ行の右隣の場所に移動させます。
1544数の引数 N を付けて使うと、タブの N 個分右に移動させま
1545す (@code{w3m-tab-move-right})。
1546
1547@item C-c C-,
1548@itemx C-c C-<
1549@findex w3m-tab-move-left
1550選択されている emacs-w3m バッファを、タブ行の左隣の場所に移動させます。
1551数の引数 N を付けて使うと、タブの N 個分左に移動させま
1552す (@code{w3m-tab-move-left})。
1553@end table
1554
1555私たちが骨を折ったにもかかわらず、これらのコマンドがお気に召さないならば、
1556あなたが欲しいものが ibuffer や iswitchb のような万能志向の
1557人 (generalist) 向けのバッファ管理パッケージの中にあるかどうかを探してみ
1558るのも良いかもしれません。emacs-w3m バッファは Emacs の正規のバッファで
1559すから、それらもまた良好に動作するでしょう。
1560
1561@node Selecting buffers
1562@subsection リストからバッファを選ぶ
1563
1564リストから emacs-w3m のバッファを選ぶための二つのやり方があります。一つ
1565目は、@w{@kbd{C-c C-a}} で呼び出されるミニバッファ・ベースのインターフェー
1566スです。表示したいバッファを、@kbd{M-p} と @kbd{M-n} キー (また
1567は @key{↑} と @key{↓} キー) を使って選ぶことができ、それらはリストの中
1568で循環します。また、プロンプトを編集して、@kbd{@key{TAB}} の補完を使って
1569既存のウェブページのタイトルを書き込むこともできます。例えば、``Google
1570Search'' のページを開いてあるならば、``Goo'' に続けて @kbd{@key{TAB}} を
1571叩くことによって、そのページのタイトルが完成します。ページの名前の後ろに
1572は、(鍵括弧で挟まれた) バッファの名前が付きます。そし
1573て @kbd{@key{RET}} を使うと、あなたが選んだバッファに切り替わります。
1574
1575二つ目のもっと洗練されたインターフェースは emacs-w3m バッファリストと言
1576い、@w{@kbd{C-c C-s}} で起動されます。それは分割されたウィンドゥにすべて
1577の開いているバッファを表示し (@w{@kbd{C-c C-s}} で表示形式が切り替わりま
1578す)、実時間でバッファを見ることができるようになります。そのバッファリス
1579トの中でポイントを移動すると、ポイントのところにあるバッファが主ウィンドゥ
1580に表示され、バッファの切り替えが直接目に見える形で返ってくるのです。
1581
1582バッファリストの中を移動するには @kbd{p} と @kbd{n} キー (または矢印
1583キー) を使ってください。バッファリストで
1584は @kbd{@key{DEL}} と @kbd{@key{SPC}} で、主ウィンドゥに表示されているバッ
1585ファをスクロールさせることが可能で、これは正しいバッファを見ているかどう
1586かをチェックしたいときに便利です。ポイントのところにあるバッファを選びた
1587いときは @kbd{@key{RET}} キーを使ってください。この場合はバッファリスト
1588が隠されます。あるいは、@kbd{w} キーを使った場合はバッファリストは表示さ
1589れたままで、主ウィンドゥにフォーカスします。
1590
1591また、このメニューで普通のバッファで使われるのと同じキー割り当
1592て (@pxref{Creating and killing buffers}) で、バッファを閉じたり作ること
1593もできます。
1594
1595最後に、@kbd{?} はヘルプの表示、@kbd{g} はリストの作り直し、そし
1596て @kbd{q} はバッファリストの終了を主ウィンドゥのバッファは変更せずに、
1597それぞれ実行します。
1598
1599@table @kbd
1600@item C-c C-a
1601@kindex C-c C-a
1602@findex w3m-switch-buffer
1603@cindex Switching buffers using the minibuffer
1604ミニバッファでバッファ名の入力を求めます。@kbd{M-p} と @kbd{M-n} で既存
1605のバッファが循環し、@kbd{@key{TAB}} で補完できま
1606す (@code{w3m-switch-buffer})。
1607
1608@item C-c C-s
1609@kindex C-c C-s
1610@findex w3m-select-buffer
1611@cindex Switching buffers using the buffer list
1612分割されたウィンドゥにバッファリストを表示しま
1613す (@code{w3m-select-buffer})。このウィンドゥでは @w{@kbd{C-c C-s}} で水
1614平と垂直モードが切り替わり、@kbd{@key{RET}} でポイントのところにあるバッ
1615ファを選んでバッファリストは隠蔽、@kbd{w} でポイントのところにあるバッファ
1616を選んでそれにフォーカス、@kbd{n} と @kbd{p} それに矢印キーが上下の移動
1617に使えます。
1618@end table
1619
1620@node Downloading
1621@section ファイルをダウンロードする
1622@cindex Downloading files
1623
1624どんなウェブページやファイルも emacs-w3m でダウンロード (すなわち取得、
1625表示ではありません) できます。単にダウンロードしたいリンクにポイントを置
1626いて @kbd{d} を叩いてください。ローカルにセーブするファイル名が尋ねられ
1627ます。デフォルトでは遠隔サーバーにおけるファイルの名前になります。それで
1628良ければ @kbd{@key{RET}} を押してください。ダウンロードは非同期に実行さ
1629れ、Emacs で行なっている他の仕事の邪魔をしないので、そうしたければ他のバッ
1630ファで emacs-w3m による閲覧を続けることができます。
1631
1632このダウンロードの仕組みは w3m を使うのですが、代わりにもっと強力
1633な wget を使うことも考慮してみてください。私たちのお友だちプロジェクトで
1634ある ``emacs-wget'' を覗いてみましょう。そのホームページはこ
1635こ @uref{http://pop-club.hp.infoseek.co.jp/emacs/emacs-wget/} です。
1636
1637@table @asis
1638@item @kbd{d} (Lynx-like キーマップ)
1639@itemx @kbd{D} (Info-like キーマップ)
1640@kindex d (Lynx-like キーマップ)
1641@kindex D (Info-like キーマップ)
1642@findex w3m-download-this-url
1643ポイントのところにあるリンクが指し示すファイルかページをダウンロードしま
1644す (@code{w3m-download-this-url})。
1645
1646@item @kbd{M-d} (Lynx-like キーマップ)
1647@itemx @kbd{d} (Info-like キーマップ)
1648@kindex M-d (Lynx-like キーマップ)
1649@kindex d (Info-like キーマップ)
1650@findex w3m-download
1651URL の内容をローカルファイルにダウンロードします (@code{w3m-download})。
1652その URL とローカルファイルの名前の入力を求められます。
1653@end table
1654
1655@node Submitting Forms
1656@section HTML フォームに記入する
1657
1658これらの emacs-w3m コマンドは、単純なキーバインドと専用の Emacs のウィン
1659ドゥかミニバッファを使って、フォームからフォームへの移動とフィールドに入
1660力するための機能を提供します。
1661
1662覚えておいて欲しい大事なキーバインドは @kbd{@key{RET}} です。これは現在
1663位置にあるものによって異なる意味を持ちます。テキスト領域 (textarea) では、
1664ミニバッファで値を入力することが促されます。選択用のタグでは、選択肢のリ
1665ストが Emacs のエレクトリック (electric == 自己挿入) ウィンドゥに現れま
1666す (そこでは矢印キーで移動して、@kbd{@key{RET}} キーで一つを選ぶことがで
1667きます)。ラジオボタンおよびチェックボックスでは @kbd{@key{RET}} キーでそ
1668れらのうちの一つを選びます。
1669
1670ミニバッファかエレクトリック・ウィンドゥにいるときは、
1671@w{@kbd{C-c C-q}} キーで取り消すことができます。フォームに記入したものを
1672送り出すには @w{@kbd{C-c C-c}} を使ってください。
1673
1674@table @asis
1675@item @kbd{]}
1676次のフォームにジャンプします (@code{w3m-next-form})。
1677
1678@item @kbd{[}
1679前のフォームにジャンプします (@code{w3m-previous-form})。
1680
1681@item @kbd{C-c C-c}
1682現在位置のフォームに記入したものを送り出します (@code{w3m-submit-form})。
1683
1684@item @kbd{@key{RET}}
1685現在位置にあるのフォーム値を書き換えます。
1686
1687@item @kbd{@key{RET}} @r{(w3m-form-*-keymap)}
1688その値を選択します。
1689
1690@item @kbd{C-c C-q} @r{(w3m-form-*-keymap)}
1691フォームの編集を中断して、変更を取り止めます。
1692@end table
1693
1694@code{w3m-form-use-textarea-backup} が @code{nil} に設定されていなかった
1695ら、textarea で入力したテキストを後で再利用できるように、バックアップ・
1696ファイルに記録します。フォームの編集を始めるときにバックアップされたテキ
1697ストがあったら、それを使うかどうかを尋ねられるでしょう。テキストを保存す
1698るためのファイルは、変数 @code{w3m-form-textarea-directory} で指定される
1699ディレクトリに格納されます。
1700
1701@node HTML File Information
1702@section ウェブページ作りとハックのお手伝い
1703
1704いつもドキュメントの執筆環境として、あるいはソフトウェアの開発環境とし
1705て Emacs を使っている人には、同じその環境の中でウェブを閲覧できることは
1706本当に便利でしょう。例えば HTML ファイルを執筆しているのであれば、外部の
1707ウェブブラウザを起動する必要なく、Emasc の中で作成した HTML ファイルをプ
1708レビューできます。プログラミング・マラソンの最中に、迅速に技術文献からサ
1709ンプルコードを切り貼りするといったことだって@dots{}
1710
1711逆はどうでしょう。(すなわちウェブ閲覧の環境で、そのソースである HTML ファ
1712イルを編集したり、参照したりできたら) かっこいいと思いませんか? ドキュ
1713メントを執筆中に emacs-w3m で下見 (preview) して誤字を発見したと想像して
1714みてください。その HTML ファイルをたちどころに修正したくなるはずです。あ
1715なたがウェブテクノロジーに携わるプログラマなら、閲覧中のウェブページ
1716を HTML 形式で閲覧したくなることがあるでしょう、特に、新聞モジュールの作
1717者の方 (@pxref{Shimbun Basics})。
1718
1719HTML ファイルを開いている Emacs のバッファの名前を明示的に指定してバッファ
1720を切り替えることも普通にできますが、emacs-w3m ではそういった目的のために
1721専用のキーが割当てられています。Emacs-w3m は自分が現在表示しているウェブ
1722ページの URL を知ってるんです。その情報を使わない手はありません。
1723
1724@table @asis
1725@item @kbd{\}
1726@kindex \
1727@findex w3m-view-source
1728表示中のウェブページを HTML 形式でそのまま表示しま
1729す (@code{w3m-view-source})。
1730
1731@item @kbd{=}
1732@kindex =
1733@findex w3m-view-header
1734表示中のウェブページの情報を表示します。情報には、タイトル、URL、
1735ドキュメントタイプ、最終変更日時が含まれます (@code{w3m-view-header})。
1736
1737@item @kbd{E} (Lynx-like キーマップ)
1738@itemx @kbd{e} (Info-like キーマップ)
1739@kindex E (Lynx-like キーマップ)
1740@kindex e (Info-like キーマップ)
1741@findex w3m-edit-current-url
1742現在閲覧中のローカルファイルを編集します (@code{w3m-edit-current-url})。
1743
1744@item @kbd{e} (Lynx-like キーマップ)
1745@itemx @kbd{E} (Info-like キーマップ)
1746@kindex e (Lynx-like キーマップ)
1747@kindex E (Info-like キーマップ)
1748@findex w3m-edit-this-url
1749現在ポイントの下にあるリンク先のローカルファイルを編集しま
1750す (@code{w3m-edit-this-url})。
1751
1752@item @kbd{M}
1753@kindex M
1754@findex w3m-view-url-with-browse-url
1755ポイントにあるリンクを @code{browse-url} で開きます。
1756
1757@item @kbd{|}
1758@kindex |
1759@findex w3m-pipe-source
1760ウェブページのソースをコマンドにパイプします。どんなコマンドを使うかを尋
1761ねられます (@code{w3m-pipe-source})。
1762@end table
1763
1764ここで紹介した以外にも、他のコマンドや Emacs のサブシステム
1765と emacs-w3m を連携させる方法を @pxref{Tips} にて紹介しているので、参考
1766にしてください。
1767
1768@node Pretty Good Features
1769@chapter たくさんのすぐれもの
1770
1771@menu
1772* Using Search Engines::        使いやすいウェブ検索
1773* Grouping URLs::               一つの URL で複数のウェブページを見る
1774* Weather Information::         明日の天気は晴れでしょう
1775* Using Antenna::               アンテナを張り巡らそう
1776* Showing Directory Tree::      ディレクトリの木構造を表示する
1777* Viewing Perl Documents::      Perl のドキュメントを見る
1778* Using Namazu::                Namazu でファイルを検索する
1779* Octet::                       application/octet-stream データを見る
1780* Frame Local Buffers::         多数のセッションをフレームでグループ分けする
1781* Session Manager::             セッションの保存と読みこみ
1782@end menu
1783
1784@node Using Search Engines
1785@section 使いやすいウェブ検索
1786@cindex Search engines
1787
1788Emacs-w3m には検索エンジンを利用するための先進の機能があり、三つのインター
1789フェースを通して利用することができます:
1790
1791@itemize
1792@item
1793標準の検索インターフェースです。@kbd{S} キー (@samp{Info-like} キーマッ
1794プの場合は @kbd{s} キー) で、いずれかの emacs-w3m バッファから起動されま
1795す。これは検索エンジンを指定して検索語を入力する、単純な対話型のやり方で
1796す。@ref{The Search Interface} を参照してください。
1797
1798@item
1799クイックサーチ・インターフェースです。これは技巧的に作られた URL に行く
1800ことによって検索エンジンを利用するための、より速い (さらに、より複雑
1801な) 方法です。この機能に関する詳細は @ref{Quick Searching} を参照してく
1802ださい。
1803
1804@item
1805``feeling searchy'' 機能が有効になってい
1806る (@code{w3m-enable-feeling-searchy}) と、URL を入力するときに通常
1807の URL の代わりに何かの語句を指定することによって、その語句の web 検索を
1808自動的に開始させることができます。
1809@end itemize
1810
1811@menu
1812* The Search Interface::        Emacs-w3m による検索のやり方
1813* Quick Searching::             もう一つの (そして速い) ウェブ検索
1814* Adding New Search Engines::   お気に入りのエンジンを使うには?
1815@end menu
1816
1817@node The Search Interface
1818@subsection Emacs-w3m による検索のやり方
1819@cindex Searching
1820
1821Emacs-w3m のバッファで @kbd{S} キー (@samp{Info-like} キーマップの場合
1822は @kbd{s} キー) を使うことにより、標準の検索インターフェースを立ち上げ
1823ることができます。すると、ミニバッファで検索語の入力を求めるプロンプトが
1824現れるので、一つまたは複数の語を入れて、@kbd{@key{RET}} を叩いてください。
1825そのエンジンの検索結果のページが現れ、その後、あたかも検索エンジンに通常
1826のウェブの流儀による入力を行なったときのように、結果を閲覧することができ
1827ます。
1828
1829おそらく、あなたはどのエンジンで探索したいかを決める機会が与えられていな
1830いことに気付くでしょう。Emacs-w3m はデフォルトで Google 検索エンジンを使
1831いますが、変数 @code{w3m-search-default-engine} (@ref{Customizable
1832Variables} 参照) をカスタマイズすることによって、この振る舞いを変更する
1833ことができます。あるいは、このコマンドを使うたびに検索エンジンを指定する
1834ことができます。
1835
1836どのエンジンを使用するかを明示するためには、コマンドに接頭引数を与えなけ
1837ればなりません (通常これは @w{@kbd{C-u S}} (@samp{Info-like} キーマップ
1838の場合は @w{@kbd{C-u s}}) のように、コマンドの前に @kbd{C-u} を叩くこと
1839を意味します)。すると emacs-w3m はエンジンの入力を促すので、その名前を一
1840つ選ぶことができます (@key{@key{TAB}} キーで補完ができます)。いったん選
1841択したら @kbd{@key{RET}} キーを叩いてください。その後で検索語を入力する
1842ことができ、@kbd{@key{RET}} をタイプすれば検索結果が現れるでしょう。
1843
1844@table @asis
1845@item @kbd{S} (Lynx-like キーマップ)
1846@itemx @kbd{s} (Info-like キーマップ)
1847@kindex S (Lynx-like キーマップ)
1848@kindex s (Info-like キーマップ)
1849@findex w3m-search
1850@vindex w3m-search-default-engine
1851新しい検索を始めます。接頭引数付きで呼ばれた場合は、どのエンジンを使うか
1852を尋ねます (@code{w3m-search})。
1853@end table
1854
1855@node Quick Searching
1856@subsection もう一つの (そして速い) ウェブ検索
1857@cindex Quick Searching
1858@cindex Special URLs
1859@vindex w3m-uri-replace-alist
1860@vindex w3m-search-engine-alist
1861@vindex w3m-default-coding-system
1862
1863ウェブ・パワーユーザ (これを読んでいるあなた) には、迅速で効率的な検索の
1864方法が必要です。クイックサーチはその一つです。
1865
1866それは何をするのかって?  それは @uref{gg:emacs} のような特別の URL に行
1867くだけで、ウェブ検索を始めさせるのです。このモードの動作の長所は、次の通
1868りです:
1869
1870@itemize
1871@item
1872速い。エンジンと検索語を選ぶのに、一つの URL をタイプするだけです。
1873
1874@item
1875便利。この機能によって、容易に emacs-w3m のタブかウィンドゥを開いて、検
1876索を始めることができます。例えば、@kbd{G} キーで新しいウィンドウを開いて
1877クイックサーチ URL に行くように。そして、特別のクイックサーチ URL そのも
1878のにも、ブックマークを付けることができます。
1879
1880@item
1881グルーピング機能も使える。例えば @uref{group:gg:emacs&ya:w3m} のよう
1882な URL によって、同時に二つの検索を始めることができます。例えばこの場合
1883は、Google で ``emacs'' の、Yahoo! で ``w3m'' の検索をそれぞれ始めます。
1884@xref{Grouping URLs}.
1885@end itemize
1886
1887これを使うのはとても簡単です。``gnu'' という単語を Google で探して結果の
1888リストを得たいのであれば、@kbd{g} を叩いてから ``gg:gnu'' という URL を
1889タイプしてください。この表現の第一の部分 "gg" は、Google 検索エンジンを
1890使用したいことを示します。第二の部分は検索語です。エンジンと検索語は、コ
1891ロンで分けなければなりません。そして @kbd{@key{RET}} を叩けば検索結果を
1892見ることができます。スペースで分離した複数の語を入力できることを、心に留
1893めておいてください。``Feeling Searchy'' 機能が有効になっていれば、ミニバッ
1894ファで @kbd{@key{SPC}} は self-insert キーになっています (これがデフォル
1895トです。@code{w3m-enable-feeling-searchy} を参照してください。) 無
1896効にしてある場合は、最初に @kbd{C-q} を叩いてください。つま
1897り @w{@kbd{C-q @key{SPC}}} です。
1898
1899Emacs-w3m のデフォルトでは、利用可能ないくつかの検索エンジンの短縮形があ
1900り、それらは変数 @code{w3m-uri-replace-alist} で定義されています。例え
1901ば Google には ``gg''、Google Groups 用には ``ggg''、Yahoo! のため
1902の ``ya''、Altavista に対する ``al'' および 英辞朗 on the
1903WEB の ``alc'' などの短い名前です。さらに検索エンジンの短縮形を追加する
1904には @ref{Adding New Search Engines} を参照してください。
1905
1906短縮形の代わりに、``google'' や ``yahoo'' のような完全なエンジンの名前を、
1907クイックサーチ URL に使うこともできます。それらの名前は、変
1908数 @code{w3m-search-engine-alist} で定義されます。
1909
1910@node Adding New Search Engines
1911@subsection お気に入りのエンジンを使うには?
1912@cindex Adding new search engines
1913
1914Emacs-w3m は利用可能な多くの検索エンジンを持っています。あなたのお気に入
1915りの検索エンジンを使いたいのに、万が一にもそれが既知の検索エンジンのリス
1916トに載っていなかったらどうしましょう?  それを検索エンジンのリストに加え
1917れば良いのです。そしてそれは極めて簡単です:
1918
1919@enumerate
1920@item
1921最初に、あなたが加えたい検索エンジンのエントリー・ポイントが何かを知らな
1922ければなりません。例えば:
1923
1924@uref{http://my.searchengine.com/?query=foobar}
1925
1926ここで foobar はあなたが検索したい語です。
1927
1928@item
1929この情報が手に入ったら、@file{~/.emacs-w3m} ファイルに加えてください:
1930
1931@lisp
1932(eval-after-load "w3m-search"
1933  '(add-to-list 'w3m-search-engine-alist
1934                '("My engine"
1935                  "http://my.searchengine.com/?query=%s"
1936                  nil)))
1937@end lisp
1938
1939第一フィールドの "My engine" をあなたのエンジンの説明で、第二フィールド
1940をエントリー・ポイントで置き換えてください (@samp{%s} は重要です。これは
1941検索を行なうときに、検索語で置き換えられます)。そして第三フィールドは使
1942用するエンコーディングを意味し、@code{nil} またはそれが省略された場合は
1943変数 @code{w3m-default-coding-system} の値が標準のエンコーディングとして
1944使われます。
1945
1946英語の検索エンジンでは滅多に気にする必要が無いことなのですが、いくつかの
1947日本の検索エンジンでは、それに何か (例えば @code{euc-japan}) を指定する
1948必要があるかもしれません。
1949
1950@item
1951今やこの検索エンジンは、emacs-w3m で通常
1952の @kbd{S} キー (@samp{Info-like} キーマップの場合は @kbd{s} キー) で使
1953うことができます。このエンジンを頻繁に使うのならば、短いエンジンの名前を
1954クイックサーチエンジン (@ref{Quick Searching} を参照) に加えることもでき
1955ます。それには、以下のコードを @file{~/.emacs-w3m} ファイルに追加してく
1956ださい:
1957
1958@lisp
1959(eval-after-load "w3m-search"
1960  '(progn
1961     (add-to-list 'w3m-search-engine-alist
1962                  '("My engine"
1963                    "http://my.searchengine.com/?query=%s"
1964                    nil))
1965     (add-to-list 'w3m-uri-replace-alist
1966                  '("\\`my:" w3m-search-uri-replace "My engine"))))
1967@end lisp
1968
1969これにより、@uref{my:foobar} のような URL を使って、あなたの検索エンジン
1970で ``foobar'' という語を検索することができます。
1971@end enumerate
1972
1973@node Grouping URLs
1974@section 一つの URL で複数のウェブページを見る
1975@cindex Grouping URLs
1976
1977Emacs-w3m は ``group URLs'' という、複数の実際の URL を一つにまとめた特
1978別な URL を扱うことができます。そのようなグループ URL を開くと、
1979emacs-w3m は一度に複数のページを開くために、そのグループに含まれるそれぞ
1980れの URL に対して一つのバッファを開きます。
1981
1982グループ URL を作るには、開きたいすべてのページのアドレスを単にアンパサ
1983ンド記号 (``&'') で一緒にして (すなわち結合して)、グループ URL を表す接
1984頭辞の ``group:'' を付ければ良いのです。例を挙げると、GNU プロジェクトの
1985ホームページ @uref{http://www.gnu.org/} と Savannah ホームペー
1986ジ @uref{http://savannah.nongnu.org/} を見たいものとすれば、グルー
1987プ URL は次のようなものになるでしょう。
1988
1989@uref{group:http://www.gnu.org/&http://savannah.nongnu.org/}
1990
1991この構文を日常的に使うのはかなり辛いものがありますが、非常に短い URL (例
1992えばクイックサーチ URL、@ref{Quick Searching} を参照) や非対話型で使う状
1993況では、この機能はおおいに役立つでしょう。
1994
1995@node Weather Information
1996@section 明日の天気は晴れでしょう
1997
1998@c W	Display weather report.
1999@c	If called with 'C-u', you can choose local area.
2000
2001@node Using Antenna
2002@section アンテナを張り巡らそう
2003@cindex Antenna
2004@cindex Tracking changes in web pages
2005@cindex about://antenna/
2006
2007アンテナはウェブページの変化を追跡するための道具です。アンテナを使うと、
2008特定のページが、以前に見たときから更新されたかされなかったかを、周期的に
2009チェックすることができます。
2010
2011いずれかの emacs-w3m バッファで @kbd{A} を使うことによって、アンテナを始
2012めることができます。あるいは、特別の URL @uref{about://antenna/} に行く
2013ことによっても同じことができます。
2014
2015@menu
2016* Setting up Antenna::          ウェブサイトをアンテナに加えるには?
2017* Daily web tracking::          アンテナで変化を追跡する
2018@end menu
2019
2020@node Setting up Antenna
2021@subsection ウェブサイトをアンテナに加えるには?
2022@vindex w3m-antenna-sites
2023
2024現に表示中のウェブページをアンテナに加えるには、単純に @kbd{+} キーを押
2025してください。すべてのフィールドがすでに書きこまれて
2026いる @code{w3m-antenna-sites} をカスタマイズするためのバッファが現れるで
2027しょう。あなたは単に ``Save for future sessions'' と ``Finish'' のボタン
2028を押せば良いのです。
2029
2030@table @kbd
2031@item +
2032@kindex +
2033@findex w3m-antenna-add-current-url
2034URL をアンテナ・データベースに加えます。接頭引数付きで呼ばれた場合は、現
2035在のページを追加するのではなくて、加える URL を尋ねま
2036す (@code{w3m-antenna-add-current-url})。
2037@end table
2038
2039@node Daily web tracking
2040@subsection アンテナで変化を追跡する
2041@cindex The Antenna interface
2042
2043アンテナ・ページには二つの項目が現れます。一つは ``Updated'' と呼ばれ、
2044もう一つは ``Visited'' と呼ばれます。``Updated'' の項目では最後にアンテ
2045ナを更新した後で変化したウェブサイトが、そして ``Visited'' の項目では変
2046化しなかったウェブサイトが見つかります。それぞれの項目で、各行はアンテナ・
2047データベースの一つのウェブサイトを表し、以下の構造になっています:
2048
2049@samp{  * 2002/12/15 16:43  (T)  My website}
2050
2051最初の部分は、アンテナが最後にそのページの変化を報告した、そのウェブサイ
2052トが更新された最終時刻です。またはその情報が得られないこともあります。
2053
2054@samp{(T)} は ``Time'' を表し、最後にアンテナを更新した後で、そのページ
2055の変更時刻が変化したので、変化が検出されたことを意味します。もう一つの可
2056能性がある値は @samp{S} (``Size'' のこと) で、そのページのサイズが変化し
2057たので、変化が検出されたことを意味します。
2058
2059行の最後の部分は、データベースに追加したときに与えた、このウェブサイトの
2060タイトルです。
2061
2062どうか、アンテナ・データベースは自動的に更新されないことに注意してくださ
2063い。アンテナ・ページで @kbd{R} を叩くか、または接頭引数をコマンドに渡
2064す (例えば @w{@kbd{C-u A}} でアンテナを始める) ことによって、サイトが変
2065化したかどうかをチェックしたい毎に、それを更新しなければなりません。
2066
2067@vindex w3m-antenna-refresh-interval
2068もし、自動で更新させたいなら、変
2069数 @code{w3m-antenna-refresh-interval} に更新間隔を秒で設定してください。
2070
2071@table @kbd
2072@item A
2073@kindex A
2074@findex w3m-antenna
2075アンテナのページに行きます。接頭引数付きで呼ばれた場合は、表示する前にア
2076ンテナ・データベースを更新します (@code{w3m-antenna})。
2077@end table
2078
2079@node Showing Directory Tree
2080@section ディレクトリの木構造を表示する
2081@cindex Showing the tree structure of local directories
2082
2083@code{w3m-dtree} コマンドを使うと、ローカルディレクトリのすべてのサブディ
2084レクトリの木構造を表示して、普通のウェブページのように閲覧することができ
2085ます。この機能を使ったときに現れる emacs-w3m のバッファは、その名前ゆえ
2086に外部の ``tree'' プログラムの出力に非常に類似したものになります。さら
2087に emacs-w3m からのボーナス: このコマンドを接頭引数付きで呼ぶとファイル
2088も表示し、emacs-w3m は完全装備のファイル閲覧器に変身します。
2089
2090Emacs-w3m dtree がどんなふうに動作するかの例です:
2091
2092@example
2093/home/romain/.elisp/emacs-w3m/
2094 |-CVS/
2095 |-attic/
2096 |  +-CVS/
2097 |-autom4te.cache/
2098 |-doc/
2099 |  |-CVS/
2100 |  +-emacs-w3m/
2101 |-icons/
2102 |  +-CVS/
2103 |-patches/
2104 |  +-CVS/
2105 +-shimbun/
2106    +-CVS/
2107@end example
2108
2109接頭引数を付けると、代わりにこんなふうになります:
2110
2111@example
2112/home/romain/.elisp/emacs-w3m/ (allfiles)
2113 |-(f).cvsignore
2114 |-(f)BUGS.ja
2115 |-(f)COPYING
2116 |-[d]CVS/
2117 |  |-(f)Entries
2118 |  |-(f)Repository
2119 |  +-(f)Root
2120 |-(f)ChangeLog
2121 |-(f)ChangeLog.1
2122 |-(f)Makefile
2123 |-(f)Makefile.in
2124 |-(f)README
2125 |-(f)README.ja
2126@end example
2127
2128@table @asis
2129@item @kbd{D} (Lynx-like キーマップ)
2130@itemx @kbd{T} (Info-like キーマップ)
2131@kindex D (Lynx-like キーマップ)
2132@kindex T (Info-like キーマップ)
2133@findex w3m-dtree
2134ミニバッファでローカルディレクトリの入力を求め、その木構造を表示します。
2135接頭引数付きで呼ばれると (例: @w{@kbd{C-u D}}、ただ
2136し @samp{Info-like} キーマップの場合は @w{@kbd{C-u T}})、そのディレクト
2137リにあるファイルも表示します (@code{w3m-dtree})。
2138@end table
2139
2140@node Viewing Perl Documents
2141@section Perl のドキュメントを見る
2142
2143
2144@node Using Namazu
2145@section Namazu でファイルを検索する
2146
2147emacs-w3m は、全文検索ソフト Namazu を使ってファイルを検索することもでき
2148ます (@code{w3m-namazu})。この機能を使うためには、Namazu を以下の場所か
2149ら取得して、インストールしておく必要があります:
2150
2151@uref{http://namazu.org/}
2152
2153Namazu を使うためには、実際に検索を行う前に、検索対象となるファイルに含
2154まれている単語の索引 (インデックス) を作成しておく必要があります。もっと
2155も典型的なコマンドは以下の通りです。
2156
2157@example
2158% mknmz -O <インデックスを置くディレクトリ> <ドキュメントのあるディレクトリ>
2159@end example
2160
2161@code{w3m-namazu} を動かす前に、いくつかの変数を設定しておく必要がありま
2162す。以下の変数を、使っている環境にあわせて設定してください。
2163
2164@table @code
2165@item w3m-namazu-index-alist
2166@vindex w3m-namazu-index-alist
2167インデックスの保存されているディレクトリの連想配列を設定します。
2168@code{w3m-namazu} では、インデックスの保存されているディレクトリに対して、
2169ディレクトリ名よりも分かりやすい別名を定義することができます。また、幾つ
2170かの別々のインデックスを、あたかも単一のインデックスであるかのように扱う
2171こともできます。
2172そのためには、次のように別名をキーとし、インデックスの保存されているディ
2173レクトリ (のリスト) を値とする連想配列
2174を @code{w3m-namazu-index-alist} に設定します。
2175
2176@example
2177(setq w3m-namazu-index-alist
2178      '(("alias1" "Path/to/the/index/directory1")
2179        ("alias2" "Path/to/the/index/dir2"
2180                  "Path/to/the/index/dir3")))
2181@end example
2182
2183@item w3m-namazu-default-index
2184@vindex w3m-namazu-default-index
2185検索対象とするインデックスを指定します。実際にインデックスが保存されてい
2186るディレクトリや、@code{w3m-namazu-index-alist} を設定するときに使った別
2187名が使えます。値が @code{nil} の場合は、
2188@w{@kbd{M-x w3m-namazu @key{RET}}} と実行するたびに、検索対象とするイン
2189デックスを問い合わせます。
2190@end table
2191
2192これで準備が整いましたから、
2193@kbd{M-x w3m-namazu @key{RET} query @key{RET}} とすると、文字列 query を
2194検索することができます。デフォルト以外のインデックスを対象として検索を行
2195う場合は、@w{@kbd{C-u M-x w3m-namazu}} というように前置引数を指定して実
2196行します。
2197
2198@node Octet
2199@section application/octet-stream データを見る
2200@findex octet-find-file
2201
2202(作成中)
2203
2204以下の設定を @file{~/.emacs} に書いておくと、@code{octet-find-file} でファ
2205イルを開いたときに便利かも知れません。
2206
2207@lisp
2208(add-hook 'octet-find-file-hook 'view-mode)
2209(add-hook 'octet-find-file-hook 'w3m-minor-mode)
2210@end lisp
2211
2212@node Frame Local Buffers
2213@section 多数のセッションをフレームでグループ分けする
2214
2215多数の emacs-w3m のセッションをグループ毎に別々のフレームに分割すること
2216ができます。例えば二つの emacs-w3m のフレームを用意して、一つは検索エン
2217ジン群を扱い、もう一方ではニュースサイト群を扱うような使い方です。
2218
2219@findex w3m-fb-mode
2220Emacs-w3m はたくさんのページを同時に見るためのいくつかの機能を提供します。
2221例えば、たくさんのページをそれぞれ新しいセッションとして立ち上げるために
2222タブを使ったり (@pxref{Using Tabs})、または @samp{group:} で始まる特別
2223な URL (@pxref{Grouping URLs}) を使うことができます。しかし、あまりにた
2224くさんのページがある場合は、それらを別々のフレームでグループ分けをしたい
2225と思うかもしれません。そうであれば、@code{w3m-fb-mode} コマンドはあなた
2226のためのものです。ただしそれを使うためには @code{w3m-use-tab} 変数を
2227非-@code{nil} (デフォルトで @code{t}) に、@code{w3m-pop-up-frames} 変数
2228を @code{nil} (それがデフォルト) に設定しておかなければなりませ
2229ん (@pxref{General Variables})。
2230
2231@w{@kbd{M-x w3m-fb-mode}} をタイプするとモードがトグルに切り替わりますが、
2232接頭引数としてそのコマンドに正の整数を与えることによって、モードを on に
2233することができます (ゼロ以下では off になります)。
2234
2235@code{w3m-fb-mode} が on になっていると、現在のフレームで開始したセッショ
2236ンはそのフレームだけに関連付けられます。そして他のフレームで開いた他のセッ
2237ションは、同様にそれらのフレームだけに現れます。言い換えると、あるフレー
2238ムに関連付けられたセッションは他のフレームには現れません。
2239@code{w3m-fb-mode} は新しいフレームを作らないので、それらは何らかの方法
2240であなた自身が作る必要があります。
2241
2242@node Session Manager
2243@section セッションの保存と読みこみ
2244
2245emacs-w3m ではセッション組を保存したり読みこんだりすることができます。
2246
2247@kindex @kbd{M-S}
2248将来使うために、今開いているセッション組を保存できます。@kbd{M-S} を押し
2249て、そのセッション情報に名前をつけてください。
2250
2251@kindex @kbd{M-s}
2252@findex w3m-session-select
2253そうすると次は、保存したセッション組を復帰したくなると思います。
2254@kbd{M-s} を押すとセッション選択メニューが開きます。このメニューのキーバ
2255インドは以下のようになっています。
2256
2257@table @asis
2258@item @kbd{@key{RET}}
2259@findex w3m-session-select-select
2260選択されているセッション組に含まれるすべてのセッションを開きます。
2261
2262@item @kbd{M-s}
2263@findex w3m-session-select-open-session-group
2264選択されているセッション組の詳細なメニューを開きます。これを使ってセッショ
2265ン組の中のセッションを一つずつ開くことができます。
2266
2267@item @kbd{d}
2268@findex w3m-session-select-delete
2269選択されているセッション組、またはセッションを削除します。
2270
2271@item @kbd{r}
2272@findex w3m-session-select-rename
2273選択されているセッション組の名前を変更します。
2274
2275@item @kbd{s}
2276@findex w3m-session-select-save
2277現在開いているすべてのセッションを保存します。@kbd{M-S} と同じです。
2278
2279@item @kbd{n}
2280@findex w3m-session-select-next
2281カーソルを次のセッション組に動かします。
2282
2283@item @kbd{p}
2284@findex w3m-session-select-previous
2285カーソルを前のセッション組に動かします。
2286
2287@item @kbd{q}
2288@findex w3m-session-select-quit
2289セッション選択メニューを終了します。
2290@end table
2291
2292@vindex w3m-session-deleted-save
2293@vindex w3m-session-automatic-save
2294emacs-w3m はセッション組を自動的に保存することができます。
2295@code{w3m-session-deleted-save} が non-@code{nil} の時、emacs-w3m は閉じ
2296られたセッションを自動的に保存します。これは、うっかりセッションを閉じて
2297しまった時などに便利でしょう。
2298@code{w3m-session-automatic-save} が non-@code{nil} ならば、emacs-w3m 終
2299了時に開いていたすべてのセッションを自動的に保存します。
2300
2301@vindex w3m-session-load-last-sessions
2302自動的に保存されているセッション組のことを忘れてしまって、なにかおもしろ
2303いページの URL を忘れてしまうということが時々あります。emacs-w3m はこう
2304いうことを防止することができます。
2305@code{w3m-session-load-last-sessions} が @code{auto} であれば、
2306emacs-w3m は自動的に前回開いていたセッションたちを復帰します。
2307@code{w3m-session-load-last-sessions} が @code{ask} であれば、
2308emacs-w3m はそれを復帰するかどうかをたずねます。(デフォルト
2309は @code{nil} になっています。)
2310
2311@vindex w3m-session-crash-recovery
2312@vindex w3m-session-load-crashed-sessions
2313クラッシュで苦い経験をしたことがあると思います。 クラッシュにあうとがっか
2314りしますし、見ていたページがどこかも忘れてしまいます。 emacs-w3m はこんな
2315状況でも助けてくれます。 @code{w3m-session-crash-recovery} が
2316non-@code{nil} ならば、 emacs-w3m は表示しているセッション組をクラッシュ
2317復元用に自動的に保存し、クラッシュが起こった時に保存していたセッション組
2318を復元します。 (デフォルトは @code{t} になっています。)
2319@code{w3m-session-load-crashed-sessions} がnon-@code{nil} であれば、
2320emacs-w3m はこの復元を自動的に行ないます。
2321@code{w3m-session-load-crashed-sessions} が @code{ask} であれば、
2322emacs-w3m は復元するかどうかをたずねます。 (デフォルトは @code{ask} になっ
2323ています。)
2324
2325@node Customizable Variables
2326@chapter デフォルトのままでも結構良いと思うけれど
2327@cindex Customizing user options
2328@vindex w3m-init-file
2329
2330たくさんの emacs-w3m の変数が、Custom の仕掛けによってカスタマイズするこ
2331とができます。Custom は変数を定義するための、Emacs のグラフィック・イン
2332ターフェースです。Custom にはいくつかのカスタマイズのための手段があり、
2333例えば単一のオプション (すなわち、Emacs Lisp 変数) のため
2334の @w{@kbd{M-x customize-option}}、またはある ``group'' (この場合のグルー
2335プは @code{w3m}) に属するすべてのオプション (変数とフェース) を見て、か
2336つ変更するための @w{@kbd{M-x customize-group}} が使えます。
2337
2338あるいは (もし Custom を使いたくないのであれば)、任意の Emacs Lisp 式
2339を emacs-w3m 初期設定ファイルに書き込むことができます。デフォルトのファ
2340イルは @file{~/.emacs-w3m} です。例えば、
2341
2342@lisp
2343(setq w3m-home-page "http://emacs-w3m.namazu.org/")
2344@end lisp
2345
2346これはデフォルトのホームページを @uref{http://emacs-w3m.namazu.org/} に
2347設定します。シンタックスは @file{.emacs} ファイルと同じで
2348す (@pxref{Init File, ,Init File, emacs, The Emacs Manual})。
2349
2350気を付けなければいけないのは、外部モジュールで定義されているいくつかの変
2351数が @file{~/.emacs-w3m} ファイルが読み込まれるときには未定義で、それら
2352を変更できないかもしれないことです (もちろん、デフォルトの値を気にしない
2353のであれば、@file{~/.emacs-w3m} ファイルで完璧に上書きしてしまうことは可
2354能なのですけれどね)。変数 @code{w3m-search-engine-alist} は典型的な例で
2355す (@pxref{Search Variables})。
2356
2357@table @code
2358@item w3m-init-file
2359Emacs-w3m が起動すると、@code{w3m-init-file} ファイルを読み込みます。デ
2360フォルト値は @file{~/.emacs-w3m} です。たぶん、あなたはこれを変更する必
2361要は無いでしょう。これは普通の Emacs Lisp ファイルで、
2362@file{~/.emacs} や @file{site-init} ファイルを emacs-w3m 関係のもので乱
2363雑にしないようにするために使うことができます。Emacs-w3m はこれと同じ名前
2364に、拡張子 @file{.elc} と @file{.el} が付いているものも (言い換えれば、
2365@file{~/.emacs-w3m.elc}、@file{~/.emacs-w3m.el} およ
2366び @file{~/.emacs-w3m} の順に) 調べます。
2367@end table
2368
2369@menu
2370* General Variables::           一般的な変数
2371* Image Variables::             画像に関連した変数
2372* Form Variables::              フォームに関連した変数
2373* Cookie Variables::            クッキーに関連した変数
2374* Bookmark Variables::          ブックマークに関連した変数
2375* Search Variables::            ウェブ検索に関連した変数
2376* Weather Variables::           天気予報に関連した変数
2377* Dtree Variables::             dtree に関連した変数
2378* Antenna Variables::           アンテナに関連した変数
2379* Perldoc Variables::           Perldoc に関連した変数
2380* Namazu Variables::            Namazu に関連した変数
2381* Octet Variables::             Octet に関連した変数
2382* Session Manager Variables::   セッションマネージャに関連した変数
2383* Hooks::                       フック
2384* Other Variables::             その他の変数
2385@end menu
2386
2387@node General Variables
2388@section 一般的な変数
2389@cindex 一般的な変数
2390
2391@table @code
2392@item w3m-accept-languages
2393@vindex w3m-accept-languages
2394受け入れ可能な言語を優先度により降順に並べたもリスト。デフォルト値
2395は @samp{w3m} の設定ファイル (通常
2396は @file{~/.w3m/config}) の @samp{accept_language} のエントリによって設
2397定される。
2398
2399@item w3m-add-referer
2400@vindex w3m-add-referer
2401
2402リファラの送りかた。5つの選択子がある。
2403
2404@enumerate
2405@item
2406@code{nil}: 決してリファラを送らない。
2407
2408@item
2409@code{t}: 常にリファラを送る。
2410
2411@item
2412@code{lambda}: 移動元のページと移動先のページの両方が同じサーバにより提
2413供されている時のみリファラを送る。
2414
2415@item
2416二つの正規表現のコンス・セル: 移動元のページの URL が 1つめの正規表現に
2417マッチし、かつ、2つめの正規表現にマッチしない場合のみリファラを送る。
2418@code{nil} が指定されるとすべての URL にマッチする。
2419
2420@item
2421関数: URL とリファラの 2つを引数にとる関数が non-@code{nil} を返せばリファ
2422ラを送る。
2423@end enumerate
2424
2425ブラウジング履歴が洩れるのを心配するのなら、`nil' か `lambda' に設定して
2426ください。あなたのコンピュータが秘密のネットワークに属しているのなら、以
2427下のように 2つの正規表現を設定して、個人情報が洩れるのを防ぐといいでしょ
2428う:
2429
2430@lisp
2431(setq w3m-add-referer
2432      '("\\`http:\"
2433        . "\\`http://\\([^./]+\\.\\)*example\\.net/"))
2434@end lisp
2435
2436@item w3m-add-user-agent
2437@vindex w3m-add-user-agent
2438non-@code{nil} ならば、リクエストヘッダに User-Agent を含めます。
2439@code{w3m-user-agent} の値が User-Agent として使われます。
2440
2441@item w3m-arrived-file
2442@vindex w3m-arrived-file
2443閲覧した @acronym{URL} のデータベースを保存するファイル名。
2444
2445@item w3m-charset-coding-system-alist
2446@vindex w3m-charset-coding-system-alist
2447@acronym{MIME} charset とコーディングシステムの連想配列。charset とコー
2448ディングシステムの両方がシンボルでなければならない。
2449
2450@item w3m-coding-system
2451@vindex w3m-coding-system
2452@samp{w3m} コマンドと通信するために使うコーディングシステムのデフォルト
2453値。
2454
2455@item w3m-coding-system-priority-list
2456@vindex w3m-coding-system-priority-list
2457emacs-w3m で使われるコーディングシステムを優先度により並べたリスト。
2458
2459@item w3m-command
2460@vindex w3m-command
2461@samp{w3m} コマンドの実行ファイル名。この値が nil ならば最初
2462に emacs-w3m が存在する @samp{w3m}、@samp{w3mmee} また
2463は @samp{w3m-m17n} を (この順番に) @code{exec-path} ディレクトリから探索
2464してくれるので、通常はこの値を設定する必要はない。
2465
2466他の @samp{w3m} コマンドを使いたければ、.emacs でこの値を明示的に設定す
2467るか、カスタマイズして保存してください。この場合、Emacs と emacs-w3m を
2468再起動しなければいけません。今のところ、@file{w3m.elc} を読みこんだ後
2469に @samp{w3m} コマンドの変更を安全にすべての emacs-w3m プログラムに行な
2470うことはできないからです。
2471
2472@item w3m-command-arguments
2473@c @vindex w3m-command-arguments
2474@samp{w3m} コマンドの引数のデフォルト値。
2475@code{w3m-command-arguments-alist} も参照するとよい。
2476
2477@item w3m-command-arguments-alist
2478@vindex w3m-command-arguments-alist
2479URL にマッチする正規表現と @samp{w3m} に追加で渡される引数との連想配列。
2480この変数は特定のホストへの接続にプロキシを用いるなどのことに使われます。
2481最初にマッチした要素が適用されます。以下にどのようにこの変数を設定するか
2482の例を示します。
2483
2484@lisp
2485(setq w3m-command-arguments-alist
2486      '(;; Don't use the proxy server to visit local web pages.
2487        ("^http://\\([^/]*\\.\\)*your-company\\.com\\(/\\|$\\)"
2488         "-no-proxy")
2489        ;; Use the proxy server to visit any foreign urls.
2490        (""
2491         "-o" "http_proxy=http://proxy.your-company.com:8080/")))
2492@end lisp
2493
2494@noindent
2495この 1つめの要素は、スキームが @samp{http} であり、ホスト名
2496が @samp{your-company.com} であるか、@samp{.your-company.com} で終わる
2497すべての URL にマッチします。これらのホストに接続するのにプロキシは用いら
2498れません。あなたが正規表現の初心者であるのなら、
2499@code{w3m-no-proxy-domains} を代わりに使ってください。
2500
2501@item w3m-command-environment
2502@vindex w3m-command-environment
2503サブプロセスが継承する環境変数の連想配列。
2504
2505@item w3m-confirm-leaving-secure-page
2506@vindex w3m-confirm-leaving-secure-page
2507non-@code{nil} ならば、セキュアなページを去る時に emacs-w3m は確認を求め
2508ます。この変数には non-nil の値を @emph{強く} おすすめします。このオプショ
2509ンを切る前に @emph{必ず} どういうことをしたいのかを完全に理解してくださ
2510い。デフォルトでは、@code{t} になっています。
2511
2512@item w3m-content-type-alist
2513@vindex w3m-content-type-alist
2514コンテントタイプと正規表現と表示するためのコマンドとフィルタとの連想配列。
2515それぞれの要素は、以下のデータが構成するリストである。
2516
2517@enumerate
2518@item
2519コンテントタイプ。
2520
2521@item
2522URL またはファイル名にマッチする正規表現。
2523
2524@item
2525ファイルを閲覧するための方法。以下の三つの種類が使われるでしょう。
2526
2527@enumerate a
2528@item
2529閲覧する URL を引数にとる lisp の関数。
2530@item
2531("@var{command}" [@var{arg}@dots{}]) -- "@var{command}" は外部コマンドで
2532あり、@var{arg} は (あるならば) コマンドに渡す引数である。
2533@code{file} と @code{url} のシンボルを @var{arg} として指定すると、それ
2534ぞれ閲覧するファイルの内容を含んだテンポラリファイルのファイル名と、閲覧
2535する URL とに置換えられる。
2536@item
2537@code{nil} ならば、URL をローカルのファイルにダウンロードします。
2538@end enumerate
2539
2540@item
2541@code{1. コンテントタイプ} で指定されたものを上書きするコンテントタイプ。
2542以下の値も有効です。
2543
2544@enumerate a
2545@item
2546@var{url} と @var{content-type} と @var{charset} の 3つの引数をとり、コ
2547ンテントタイプを返す Lisp 関数。
2548@item
2549コンテントタイプを示す文字列。
2550@item
2551@code{nil} ならば、コンテントタイプを上書きしない。
2552@end enumerate
2553@end enumerate
2554
2555@item w3m-correct-charset-alist
2556@vindex w3m-correct-charset-alist
2557特殊な @acronym{MIME} 文字セットと標準の @acronym{MIME} 文字セットとの連
2558想配列。
2559
2560@item w3m-db-history-display-size
2561@vindex w3m-db-history-display-size
2562about://arived-db/ で一度に表示する @acronym{URL} の最大数。
2563
2564@item w3m-decoder-alist
2565@vindex w3m-decoder-alist
2566エンコードの種類とデコーダと引数との連想配列。
2567
2568@item w3m-default-coding-system
2569@c @vindex w3m-default-coding-system
2570URL 文字列と POST されるデータとをエンコードするのにデフォルトで使われる
2571コーディングシステム。
2572
2573@item w3m-default-content-type
2574@vindex w3m-default-content-type
2575ローカルのファイルを参照する時にデフォルトで使われるコンテントタイプ。
2576
2577@item w3m-default-directory
2578@vindex w3m-default-directory
2579emacs-w3m のバッファにおいて、現在のディレクトリとして使われるディレクト
2580リ。存在するディレクトリを示す文字列、その値が存在するディレクトリを示す
2581シンボル、url を引数にとりディレクトリを返す関数、もしく
2582は @code{nil} (デフォルト値)が有効な値となります。指定されたディレクトリ
2583が存在しない場合や、@code{nil} が指定された場合
2584は @code{w3m-profile-directory} の値が使われます。
2585
2586例外: ローカルのファイルや、リモートのファイルを ftp でアクセスしている
2587場合はそのファイルのディレクトリが現在のディレクトリとして使われます。
2588
2589@item w3m-default-save-directory
2590@vindex w3m-default-save-directory
2591ダウンロードしたファイルがデフォルトで保存されるディレクトリ。
2592
2593@item w3m-delete-duplicated-empty-lines
2594@vindex w3m-delete-duplicated-empty-lines
2595non-@code{nil} ならば二行以上の連続した空白行を一行にまとめる。
2596
2597@item w3m-dirlist-cgi-program
2598@vindex w3m-dirlist-cgi-program
2599ローカルのディレクトリ列挙するのに使われる @acronym{CGI} プログラムの名
2600前。@code{nil} ならば、@samp{w3m} コマンドの dirlist.cgi のモジュールが
2601使われる。
2602
2603@item w3m-doc-view-content-types
2604@vindex w3m-doc-view-content-types
2605ファイルを閲覧するのに @code{doc-view-mode} を使うコンテントタイプのリス
2606ト。この変数は @code{w3m-content-type-alist} の値を上書きする。
2607
2608@item w3m-edit-function
2609@vindex w3m-edit-function
2610ローカルのファイルを編集するための関数。@code{w3m-edit-current-url} また
2611は @code{w3m-edit-this-url} のコマンドが呼ばれた時に使われます。
2612
2613@item w3m-edit-function-alist
2614@vindex w3m-edit-function-alist
2615ページを編集するために使う関数の連想配列。このオプションは、
2616@code{w3m-edit-current-url} や @code{w3m-edit-this-url} のコマンドが呼ば
2617れた時にどの関数でそのページを編集するかを決めるのに使われます。この連想
2618配列から適当な関数が見つからなければ、@code{w3m-edit-function} が使われ
2619ます。
2620
2621@item w3m-enable-feeling-searchy
2622@vindex w3m-enable-feeling-searchy
2623non-@code{nil} ならば、url としてどんな単語も入力することができるように
2624なります。その場合、emacs-w3m はその言葉を web 検索します。デフォルトで
2625は @code{t} です。
2626
2627@item w3m-encoding-type-alist
2628@vindex w3m-encoding-type-alist
2629ファイルの拡張子とファイルのエンコードの種類との連想配列。
2630
2631@item w3m-file-coding-system
2632@vindex w3m-file-coding-system
2633設定ファイルを書くために使われるコーディングシステム。この変数
2634は @code{w3m-save-list} 関数で使われます。
2635
2636@item w3m-file-name-coding-system
2637@vindex w3m-file-name-coding-system
2638emacs-w3m がファイルにアクセスする時に、パス名を変換する先のコーディング
2639システム。
2640
2641@item w3m-fill-column
2642@vindex w3m-fill-column
2643emacs-w3m のバッファで @code{fill-column} として使われる数字。正の値なら
2644ば、ページがその桁数で表示される。0 か負の値ならば、ウィンドウの幅からそ
2645の数字をがページの最大幅として使われる。
2646
2647@item w3m-follow-redirection
2648@vindex w3m-follow-redirection
2649emacs-w3m がリダイレクトを尊重しリダイレクト先を追いかける最大数。
2650@code{nil} ならば、@samp{w3m} コマンドがリダイレクトを処理します。クッキー
2651がリダイレクトされるページ間で共有されることがありうるので、クッキーを許
2652可するならば (つまり、@code{w3m-use-cookies} を non-@code{nil} にしてい
2653るならば)、この変数を @code{nil} にしないでください。
2654
2655@item w3m-home-page
2656@c @vindex w3m-home-page
2657emacs-w3m が起動した時に開く URL の文字列を指定します。某会社の略称になっ
2658ちゃいますから HP とは言わないでくださいね。
2659
2660@item w3m-horizontal-scroll-columns
2661@c @vindex w3m-horizontal-scroll-columns
2662ウィンドウを水平スクロールする時に、スクロールする文字数。
2663
2664@item w3m-horizontal-shift-columns
2665@c @vindex w3m-horizontal-shift-columns
2666ウィンドウを shifting する時に、スクロールする文字数。@samp{shifting} と
2667いうのは、スムーズなスクロールを意味します。
2668
2669@item w3m-imitate-widget-button
2670@vindex w3m-imitate-widget-button
2671non-@code{nil} ならば、リンク (アンカー) ボタンでウィジェットのボタンの
2672動作をします。これは @kbd{@key{TAB}} を使って Gnus の記事バッファの中を
2673移動するのに便利です。真偽値を返す Lisp 関数を設定することもできます。
2674
2675@item w3m-init-file
2676@c @vindex w3m-init-file
2677Your emacs-w3m startup file name.  If a file with the @samp{.el} or
2678@samp{.elc} suffixes exists, it will be read instead.
2679
2680Note: This file is used as the startup configuration @emph{NOT} for the
2681@samp{w3m} command but for emacs-w3m.  In order to modify configurations
2682for the @samp{w3m} command, edit the file named @file{~/.w3m/config}
2683normally.
2684
2685@item w3m-input-coding-system
2686@vindex w3m-input-coding-system
2687Coding system used when writing to @samp{w3m} processes.  It overrides
2688@code{coding-system-for-write} if it is not @code{binary}.  Otherwise,
2689the value of the @code{w3m-current-coding-system} variable is used
2690instead.
2691
2692@item w3m-keep-arrived-urls
2693@vindex w3m-keep-arrived-urls
2694Maximum number of @acronym{URL}s which the arrived @acronym{URL}s
2695database keeps.
2696
2697@item w3m-keep-cache-size
2698@vindex w3m-keep-cache-size
2699Maximum number of pages to be cached in emacs-w3m.
2700
2701@item w3m-key-binding
2702@c @vindex w3m-key-binding
2703Type of key binding set used in emacs-w3m sessions.  The valid values
2704include @code{info} which provides @samp{Info-like} keys, and @code{nil}
2705which provides @samp{Lynx-like} keys.
2706
2707@item w3m-language
2708@vindex w3m-language
2709Your preferred language used in emacs-w3m sessions.
2710
2711@item w3m-local-directory-view-method
2712@vindex w3m-local-directory-view-method
2713Symbol of the method to view a local directory tree.  The valid values
2714include @code{w3m-cgi} using the @acronym{CGI} program specified by the
2715@code{w3m-dirlist-cgi-program} variable (which see), and
2716@code{w3m-dtree} using the w3m-dtree Lisp module.
2717
2718@item w3m-local-find-file-function
2719@vindex w3m-local-find-file-function
2720Function used to open local files.  If a url of the @code{file:} scheme
2721in which you entered agrees with the rule of the
2722@code{w3m-local-find-file-regexps} variable (which see), it is used to
2723open the file.
2724
2725Function should take one argument, the string naming the local file.  It
2726can also be any Lisp form returning a function.  Set this to @code{nil}
2727if you want to always use emacs-w3m to see local files.
2728
2729@item w3m-local-find-file-regexps
2730@vindex w3m-local-find-file-regexps
2731@code{Cons} of two regexps matching and not matching with local file
2732names.  If a url of the @code{file:} scheme in which you entered matches
2733the first form and does not match the latter form, it will be opened by
2734the function specified by the @code{w3m-local-find-file-function}
2735variable.  @code{Nil} for the regexp matches any file names.
2736
2737For instance, the value @code{(nil . "\\.html?\\'")} allows
2738@file{file:///some/where/w3m.el}, not
2739@file{file:///any/where/index.html}, to open by the function specified
2740by @code{w3m-local-find-file-function}.  The latter will be opened as a
2741normal web page.  Furthermore, if you would like to view some types of
2742contents in the local system using the viewers specified by the
2743@code{w3m-content-type-alist} variable, you can add regexps matching
2744those file names to the second element of this variable.  For example:
2745
2746@lisp
2747(setq w3m-local-find-file-regexps
2748      '(nil . "\\.\\(?:[sx]?html?\\|dvi\\|ps\\|pdf\\)\\'"))
2749@end lisp
2750
2751It is effective only when the @code{w3m-local-find-file-function}
2752variable is set properly.
2753
2754@item w3m-mailto-url-function
2755@vindex w3m-mailto-url-function
2756Function used to handle the @code{mailto} urls.  Function is called with
2757one argument, just a url.  If it is @code{nil}, a function specified by
2758the @code{mail-user-agent} variable will be used for composing mail
2759messages.
2760
2761@item w3m-mailto-url-popup-function-alist
2762@vindex w3m-mailto-url-popup-function-alist
2763Alist of @code{(MAJOR-MODE . FUNCTION)} pairs used to pop a mail buffer
2764up.  If a user clicks on a @code{mailto} url and a mail buffer is
2765composed by @code{mail-user-agent} with the @code{MAJOR-MODE},
2766@code{FUNCTION} will be called with a mail buffer as an argument.  Note
2767that the variables @code{special-display-buffer-names},
2768@code{special-display-regexps}, @code{same-window-buffer-names} and
2769@code{same-window-regexps} will be bound to @code{nil} while popping to
2770a buffer up.
2771
2772@item w3m-make-new-session
2773@vindex w3m-make-new-session
2774Non-@code{nil} means making new emacs-w3m buffers when visiting new
2775pages.  If it is non-@code{nil} and there are already emacs-w3m buffers,
2776the @code{w3m} command makes a new emacs-w3m buffer if a user specifies
2777a url string in the minibuffer, and the @code{w3m-safe-view-this-url}
2778command also makes a new buffer if a user invokes it in a buffer not
2779being running the @code{w3m-mode}.  The default value is @code{nil}.
2780
2781@item w3m-mbconv-command
2782@vindex w3m-mbconv-command
2783Name of the @samp{mbconv} command provided by the @samp{libmoe} package.
2784The @samp{libmoe} package is used when you use the @samp{w3mmee} command
2785instead of the @samp{w3m} command.  See also @code{w3m-command}.
2786
2787@item w3m-no-proxy-domains
2788@c @vindex w3m-no-proxy-domains
2789List of domain names for which emacs-w3m will not use a proxy server.
2790Each element should be exactly a domain name which means the latter
2791common part of the host names, not a regexp.
2792
2793@item w3m-output-coding-system
2794@vindex w3m-output-coding-system
2795Coding system used when reading from @samp{w3m} processes.
2796
2797@item w3m-pop-up-frames
2798@vindex w3m-pop-up-frames
2799Non-@code{nil} means pop to a new frame up for an emacs-w3m session.
2800This variable is similar to @code{pop-up-frames} and does override
2801@code{w3m-pop-up-windows}.  If @code{w3m-use-tab} is non-@code{nil} or
2802there is the buffers selection window (for the @code{w3m-select-buffer}
2803feature), this variable is ignored when creating the second or more
2804emacs-w3m session.
2805
2806@item w3m-pop-up-windows
2807@vindex w3m-pop-up-windows
2808Non-@code{nil} means split the windows when a new emacs-w3m session is
2809created.  This variable is similar to @code{pop-up-windows} and quite
2810overridden by @code{w3m-pop-up-frames} as if @code{pop-up-frames}
2811influences.  Furthermore, if @code{w3m-use-tab} is non-@code{nil} or
2812there is the buffers selection window (for the @code{w3m-select-buffer}
2813feature), this variable is ignored when creating the second or more
2814emacs-w3m session.
2815
2816@item w3m-popup-frame-parameters
2817@vindex w3m-popup-frame-parameters
2818Alist of frame parameters used when creating a new emacs-w3m frame.  It
2819allows not only an alist form but also a plist form.
2820
2821@item w3m-prefer-cache
2822@vindex w3m-prefer-cache
2823Non-@code{nil} means that cached contents are used without checking
2824headers.
2825
2826@item w3m-profile-directory
2827@vindex w3m-profile-directory
2828Directory where emacs-w3m config files are loaded from or saved to.
2829
2830@item w3m-quick-start
2831@c @vindex w3m-quick-start
2832Non-@code{nil} means let emacs-w3m start quickly w/o requiring
2833confirmation.  When you invoke the @code{w3m} command, it attempts to
2834visit the page of a string like url around the cursor or the value of
2835@code{w3m-home-page}.  You won't be asked for the confirmation then if
2836this value is non-@code{nil}.  Otherwise, you will be prompted for that
2837url with the editing form.
2838
2839@item w3m-redirect-with-get
2840@vindex w3m-redirect-with-get
2841If non-@code{nil}, use the GET method after redirection.  It controls
2842how emacs-w3m works when a server responds the code 301 or 302.  Here is
2843an extract from RFC2616:
2844
2845Note: RFC 1945 and RFC 2068 specify that the client is not allowed to
2846change the method on the redirected request.  However, most existing
2847user agent implementations treat 302 as if it were a 303 response,
2848performing a GET on the Location field-value regardless of the original
2849request method.
2850
2851@item w3m-relationship-estimate-rules
2852@vindex w3m-relationship-estimate-rules
2853Rules to estimate relationships between a retrieved page and others.
2854
2855@item w3m-select-buffer-horizontal-window
2856@vindex w3m-select-buffer-horizontal-window
2857Non-@code{nil} means split windows horizontally to open the selection
2858window.
2859
2860@item w3m-select-buffer-window-ratio
2861@vindex w3m-select-buffer-window-ratio
2862The percentage of the selection window to the whole frame.  The car is
2863used when splitting windows horizontally and the cdr is for splitting
2864windows vertically.
2865
2866@item w3m-use-title-buffer-name
2867@vindex w3m-use-title-buffer-name
2868Non-@code{nil} means use name of buffer included current title.
2869
2870@item w3m-show-error-information
2871@vindex w3m-show-error-information
2872Non-@code{nil} means show an error information as a web page.  Page is
2873made when the foreign server doesn't respond to a request to retrieve
2874data.
2875
2876@item w3m-space-before-favicon
2877@vindex w3m-space-before-favicon
2878String of space char(s) to be put in front of favicon in the mode-line.
2879It may be better to use two or more spaces if you are using oblique or
2880italic font in the modeline.
2881
2882@item w3m-space-before-modeline-icon
2883@vindex w3m-space-before-modeline-icon
2884String of space character(s) to be put in front of the modeline icon.
2885It may be better to use one or more spaces if you are using oblique or
2886italic font in the modeline.
2887
2888@item w3m-terminal-coding-system
2889@vindex w3m-terminal-coding-system
2890Default coding system used when writing to @samp{w3m} processes.  It is
2891just a default value to set process' coding system initially.  (This
2892variable name is analogically derived from the behavior of the
2893@samp{w3m} command which accepts data from Emacs just like reads from
2894the terminal.)
2895
2896@item w3m-touch-command
2897@vindex w3m-touch-command
2898Name of the executable file of the touch command.  Note that the command
2899is required to be able to modify file's timestamp with the @samp{-t}
2900option.
2901
2902@item w3m-track-mouse
2903@vindex w3m-track-mouse
2904Whether to track the mouse and message the url under the mouse.  See
2905also @code{show-help-function}.
2906
2907@item w3m-uri-replace-alist
2908@c @vindex w3m-uri-replace-alist
2909Alist of regexps matching @acronym{URI}s, and some types of
2910replacements.  It can be used universally to replace @acronym{URI}
2911strings in the local rule to the valid forms in the Internet.
2912
2913Each element looks like the @code{(REGEXP FUNCTION OPTIONS...)} form.
2914@code{FUNCTION} takes one or more arguments, a uri and @code{OPTIONS}.
2915You can use the grouping constructs @samp{\\(...\\)} in @code{REGEXP},
2916and they can be referred by the @samp{\N} forms in a replacement (which
2917is one of @code{OPTIONS}).
2918
2919Here are some predefined functions which can be used for those ways:
2920
2921@table @code
2922@item w3m-pattern-uri-replace
2923@findex w3m-pattern-uri-replace
2924Replace a @acronym{URI} using PATTERN (which is just an @code{OPTION}).
2925It is allowed that PATTERN contains the @samp{\N} forms in the same
2926manner of @code{replace-match}.
2927
2928@item w3m-search-uri-replace
2929@findex w3m-search-uri-replace
2930Generate valid URLs to query words on some specified search engines.
2931For example, the element
2932
2933@lisp
2934("\\`gg:" w3m-search-uri-replace "google")
2935@end lisp
2936
2937@noindent
2938makes it possible to replace the @acronym{URI} @samp{gg:emacs} to a
2939query for the word @samp{emacs} on the Google search engine.
2940@end table
2941
2942@item w3m-url-local-directory-alist
2943@vindex w3m-url-local-directory-alist
2944Alist of @acronym{URL}s and local directories.  If directory names of a
2945given @acronym{URL} and the car of an element are the same, emacs-w3m
2946assumes that the file exists in the local directory where the cdr of an
2947element points to.  The default value will be set to a value of the
2948@code{yahtml-path-url-alist} variable which exchanged the car and the
2949cdr in each element if it is available.
2950
2951@item w3m-use-ange-ftp
2952@vindex w3m-use-ange-ftp
2953Non-@code{nil} means that @code{ange-ftp} or @code{efs} is used to
2954access FTP servers.
2955
2956@item w3m-use-cygdrive
2957@vindex w3m-use-cygdrive
2958If non-@code{nil}, use the @samp{/cygdrive/} rule when performing
2959@code{expand-file-name}.
2960
2961@item w3m-use-filter
2962@vindex w3m-use-filter
2963Non-@code{nil} means use filter programs to convert web contents.  See
2964also @code{w3m-filter-rules} (the @file{w3m-filter.elc} module provides
2965it but might have never been loaded.  In that case, to see the default
2966value and the documentation of @code{w3m-filter-rules}, type
2967@w{@kbd{M-x load-library @key{RET} w3m-filter @key{RET}}}).
2968
2969@item w3m-use-form
2970@vindex w3m-use-form
2971Non-@code{nil} means make it possible to use form
2972extensions. @emph{(EXPERIMENTAL)}
2973
2974@item w3m-submit-form-safety-check
2975@vindex w3m-submit-form-safety-check
2976Non-@code{nil} means ask you for confirmation when submitting a form.
2977The default value is @code{nil}.
2978
2979@item w3m-use-header-line
2980@vindex w3m-use-header-line
2981Non-@code{nil} means display the header line.
2982
2983@item w3m-use-header-line-title
2984@vindex w3m-use-header-line-title
2985Non-@code{nil} means display the current title at the header line. This
2986variable is effective only when @code{w3m-use-tab} is @code{nil}.
2987
2988@item w3m-use-refresh
2989@vindex w3m-use-refresh
2990Non-@code{nil} means honor the REFRESH attribute in META tags.
2991Emacs-w3m arbitrarily takes you to a url specified by that attribute.
2992Note that they may be malicious traps.
2993
2994@item w3m-refresh-minimum-interval
2995@vindex w3m-refresh-minimum-interval
2996history-back, history-next でページを見た時に最低限 refresh を待つ秒数。
2997
2998@item w3m-use-symbol
2999@vindex w3m-use-symbol
3000Non-@code{nil} means replace symbols that the @samp{<_SYMBOL>} tags lead
3001into.  It is meaningful only when the @samp{w3m-m17n} command is used
3002and (X)Emacs handles unicode charsets.
3003
3004@item w3m-menu-on-forefront
3005@vindex w3m-menu-on-forefront
3006Non-@code{nil} means place the emacs-w3m menus on the forefront of the
3007menu bar.  The default value is @code{nil}.
3008
3009@item w3m-use-tab
3010@c @vindex w3m-use-tab
3011Non-@code{nil} means make emacs-w3m a tab browser.  It makes it possible
3012to show all emacs-w3m buffers in a single window with the tabs line, and
3013you can choose one by clicking a mouse on it.  See also
3014@code{w3m-use-tab-menubar}.
3015
3016@item w3m-use-tab-menubar
3017@vindex w3m-use-tab-menubar
3018Non-@code{nil} means use the TAB pull-down menu in the menubar.  It
3019makes it possible to show all emacs-w3m buffers in a single window, and
3020you can choose one by clicking a mouse on it.  This feature requires
3021that Emacs has been built to be able to display multilingual text in the
3022menubar if you often visit web sites written in non-ascii text.  See
3023also @code{w3m-use-tab}.
3024
3025@item w3m-use-toolbar
3026@vindex w3m-use-toolbar
3027Non-@code{nil} activates toolbar of @samp{w3m}.
3028
3029@item w3m-user-agent
3030@vindex w3m-user-agent
3031String used for the User-Agent field.  See also
3032@code{w3m-add-user-agent}.
3033
3034@item w3m-new-session-in-background
3035@vindex w3m-new-session-in-background
3036Say whether not to focus on a new tab or a new session in target.
3037It influences only when a new emacs-w3m buffer is created.
3038
3039@item w3m-do-cleanup-temp-files
3040@vindex w3m-do-cleanup-temp-files
3041非@code{nil} ならば、 emacs-w3m は自動的に削除しそこなった一時ファイルを
3042削除します。 デフォルトは @code{nil} です。
3043@end table
3044
3045@node Image Variables
3046@section 画像に関連した変数
3047@cindex 画像に関連した変数
3048
3049@table @code
3050@item w3m-default-display-inline-images
3051@vindex w3m-default-display-inline-images
3052非@code{nil} ならば、インライン画像を emacs-w3m のバッファに表示します。
3053画像表示の ON/OFF は @code{w3m-toggle-inline-images} で切り替えられます。
3054@code{w3m-toggle-inline-images-permanently} も参照してください。
3055
3056@item w3m-favicon-cache-expire-wait
3057@vindex w3m-favicon-cache-expire-wait
3058取得からこの変数で指定された秒数以上経過したキャッシュは削除されます。こ
3059の変数が @code{nil} ならば、削除されることはありません。
3060
3061@item w3m-favicon-cache-file
3062@vindex w3m-favicon-cache-file
3063favicon のキャッシュを保存するファイル名。デフォルトは、変
3064数 @code{w3m-profile-directory} で指定されたディレクトリ下
3065の @file{.favicon} という名前のファイルです。
3066
3067@item w3m-favicon-size
3068@vindex w3m-favicon-size
3069favicon のサイズ。この値は、@code{convert} への geometry 引数として使わ
3070れます。
3071
3072@item w3m-favicon-type
3073@vindex w3m-favicon-type
3074favicon を表示するのに使われる画像の種類。
3075
3076@item w3m-favicon-use-cache-file
3077@vindex w3m-favicon-use-cache-file
3078非@code{nil} ならば、favicon のキャッシュファイルを使います。
3079
3080@item w3m-favicon-default-background
3081@vindex w3m-favicon-default-background
3082favicon 画像の透過色として使われる色の名前。@code{nil} であれば、
3083Emacs のフレームの背景色を使う。空文字は特別で、ヘッダラインかモードライ
3084ンかの favicon が表示されているほうの背景色に置換えられる。この変数は、
3085Emacs 22 以上でしか効力を持たないことに注意。
3086
3087@item w3m-icon-directory
3088@vindex w3m-icon-directory
3089emacs-w3m がアイコンを探すディレクトリ。
3090
3091@item w3m-imagick-convert-program
3092@vindex w3m-imagick-convert-program
3093ImageMagick の @samp{convert} のプログラム名。
3094
3095@item w3m-treat-image-size
3096@vindex w3m-treat-image-size
3097非@code{nil} ならば、@samp{w3m} が画像とテキストの比率を考慮します。デフォ
3098ルトは @code{t} です。
3099
3100非-@code{nil} ならば、@samp{w3m} 画像が置かれる場所を確保し
3101た @samp{halfdump} を生成し、@samp{alt} テキストは画像の表示幅に等しくな
3102るように切り詰められる、あるいはスぺースを詰められます。
3103
3104@code{w3m-pixels-per-character} と @code{w3m-pixels-per-line} も参照して
3105ください。これらの値が画像が占める桁と行とを計算するために @samp{w3m} コ
3106マンドに渡されます。
3107
3108@item w3m-pixels-per-character
3109@vindex w3m-pixels-per-character
3110Integer used for the @code{-ppc} argument of the @samp{w3m} command.  If
3111@code{nil}, the width of the default face is used.  It is valid only
3112when @code{w3m-treat-image-size} is non-@code{nil}.  The default value
3113is @code{nil}.  If you want to use emacs-w3m in a character terminal and
3114make @code{w3m-treat-image-size} effective, you need to set this
3115variable properly.
3116
3117@item w3m-pixels-per-line
3118@vindex w3m-pixels-per-line
3119Integer used for the @samp{-ppl} argument of the @samp{w3m} command.  If
3120@code{nil}, the height of the default face is used.  It is valid only
3121when @code{w3m-treat-image-size} is non-@code{nil}.  Note that a small
3122value may not induce a good result.  The default value is @samp{64}.  If
3123you want to use emacs-w3m in a character terminal and make
3124@code{w3m-treat-image-size} effective, you need to set this variable
3125properly.
3126
3127@item w3m-resize-image-scale
3128@vindex w3m-resize-image-scale
3129Number of steps in percent used when resizing images.
3130
3131@item w3m-resize-images
3132@vindex w3m-resize-images
3133If non-@code{nil}, resize images to the specified width and height.
3134
3135@item w3m-show-graphic-icons-in-header-line
3136@vindex w3m-show-graphic-icons-in-header-line
3137Non-@code{nil} means show graphic status indicators in the header-line.
3138If it is @code{nil}, also the favicon won't be shown in the header-line
3139even if @code{w3m-use-favicon} is non-@code{nil}.
3140
3141@item w3m-show-graphic-icons-in-mode-line
3142@vindex w3m-show-graphic-icons-in-mode-line
3143Non-@code{nil} means show graphic status indicators in the mode-line.
3144If it is @code{nil}, also the favicon won't be shown in the mode-line
3145even if @code{w3m-use-favicon} is non-@code{nil}.
3146
3147@item w3m-toggle-inline-images-permanently
3148@vindex w3m-toggle-inline-images-permanently
3149Non-@code{nil} means let the visibility of images continue permanently.
3150The visibility of images is initialized according to
3151@code{w3m-default-display-inline-images} at the first time, and except
3152that it may be toggled by the @code{w3m-toggle-inline-images} command,
3153it does not change hereafter, if it is non-@code{nil}.  Otherwise,
3154whether images are visible is initialized according to
3155@code{w3m-default-display-inline-images} whenever you visit a new page
3156or reload the current page in an emacs-w3m buffer.
3157
3158@item w3m-use-favicon
3159@vindex w3m-use-favicon
3160Non-@code{nil} means show favicon images if they are available.  It will
3161be set to @code{nil} automatically if ImageMagick's @code{convert}
3162program does not support the ico format.
3163
3164@item w3m-image-default-background
3165@vindex w3m-image-default-background
3166画像の透過色として使われる色の名前。@code{nil} ならば、Emacs のフレーム
3167の背景色が使われる。空文字 ("") は特別に、バッファの背景色に置き換えられ
3168る。この変数は Emacs 22 以降でのみ有効である。
3169@end table
3170
3171@node Form Variables
3172@section フォームに関連した変数
3173@cindex フォームに関連した変数
3174
3175@table @code
3176@item w3m-form-input-map-buffer-lines
3177@vindex w3m-form-input-map-buffer-lines
3178Buffer lines for form select map buffer.
3179
3180@item w3m-form-input-select-buffer-lines
3181@vindex w3m-form-input-select-buffer-lines
3182Buffer lines for form select buffer.
3183
3184@item w3m-form-input-textarea-buffer-lines
3185@vindex w3m-form-input-textarea-buffer-lines
3186Buffer lines for form textarea buffer.
3187
3188@item w3m-form-mouse-face
3189@vindex w3m-form-mouse-face
3190Mouse face to highlight selected value.
3191
3192@item w3m-form-treat-textarea-size
3193@vindex w3m-form-treat-textarea-size
3194Non-@code{nil} means to process textarea size (treat textarea rows).
3195
3196@item w3m-form-use-fancy-faces
3197@vindex w3m-form-use-fancy-faces
3198Use fancy faces to fontify @samp{<form>} tags.
3199
3200@item w3m-form-use-textarea-backup
3201@vindex w3m-form-use-textarea-backup
3202@vindex w3m-form-textarea-directory
3203Non-@code{nil} means save and restore backup text saved when you last
3204edited this textarea.  Files to save text are stored in the directory
3205specified by the @code{w3m-form-textarea-directory} variable.
3206@end table
3207
3208@node Cookie Variables
3209@section クッキーに関連した変数
3210@cindex クッキーに関連した変数
3211
3212@table @code
3213@item w3m-cookie-accept-bad-cookies
3214@vindex w3m-cookie-accept-bad-cookies
3215If @code{nil}, don't accept bad cookies.  If @code{t}, accept bad
3216cookies.  If ask, ask user whether accept bad cookies or not.
3217
3218@item w3m-cookie-accept-domains
3219@vindex w3m-cookie-accept-domains
3220A list of trusted domain name string.
3221
3222@item w3m-cookie-file
3223@vindex w3m-cookie-file
3224File in which cookies are kept.
3225
3226@item w3m-cookie-reject-domains
3227@vindex w3m-cookie-reject-domains
3228A list of untrusted domain name string.
3229
3230@item w3m-use-cookies
3231@vindex w3m-use-cookies
3232Non-@code{nil} means enable emacs-w3m to use cookies.
3233@emph{(EXPERIMENTAL)}
3234@end table
3235
3236@node Bookmark Variables
3237@section ブックマークに関連した変数
3238@cindex ブックマークに関連した変数
3239
3240@table @code
3241@item w3m-bookmark-file
3242@vindex w3m-bookmark-file
3243Bookmark file of w3m.
3244
3245@item w3m-bookmark-file-coding-system
3246@vindex w3m-bookmark-file-coding-system
3247Coding system for a created bookmark file.
3248This option is used when a new bookmark file is created, or when an
3249existing bookmark file includes ASCII characters only.  If the coding
3250system which is used to encode your using bookmark file is different
3251from the value of this option, emacs-w3m does not change the encoding
3252of your bookmark file.
3253
3254@item w3m-bookmark-default-section
3255@vindex w3m-bookmark-default-section
3256Default section to add new entry.
3257
3258@item w3m-bookmark-menu-open-new-session
3259@vindex w3m-bookmark-menu-open-new-session
3260If non-@code{nil}, ``Bookmark'' menu item open new session.
3261@end table
3262
3263@node Search Variables
3264@section ウェブ検索に関連した変数
3265@cindex Variables related to searching the web
3266
3267@table @code
3268@item w3m-search-default-engine
3269Name of the default search engine.  The default is @samp{google}.
3270
3271@item w3m-search-engine-alist
3272An alist of search engines.  Each element looks like @code{(@var{engine}
3273@var{action} @var{coding} @var{post-data})}.  @var{engine} is a string,
3274the name of the search engine.  @var{action} is a string, the URL that
3275performs a search.  @var{action} must contain a @code{"%s"}, which is
3276substituted by a query string.  @var{coding} is optional value which is
3277coding system for query string.  @var{post-data} is optional value which
3278is a string for POST method search engine.  If @var{coding} is omitted,
3279it defaults to @code{w3m-default-coding-system}.
3280
3281@item w3m-search-word-at-point
3282@vindex w3m-search-word-at-point
3283Non-@code{nil} means that the word at point is used as an initial
3284string.  If @code{transient-mark-mode}, this option is ignored and the
3285region is used as an initial string.  The default is @code{t}.
3286
3287@item w3m-search-thing-at-point-arg
3288@vindex w3m-search-thing-at-point-arg
3289`w3m-search-read-query' で使われる `thing-at-point' への引数。デフォルト
3290は @code{word}.
3291@end table
3292
3293@node Weather Variables
3294@section 天気予報に関連した変数
3295@cindex Variables related to weather information
3296
3297@table @code
3298@item w3m-weather-default-area
3299@vindex w3m-weather-default-area
3300Default region to check weather.  The default is the southern part of
3301Kyoto city.
3302
3303@item w3m-weather-filter-functions
3304@vindex w3m-weather-filter-functions
3305Filter functions to remove useless tags.  The default value is a list
3306that contains the following function symbols in this order:
3307
3308@code{w3m-weather-extract-contents} @code{w3m-weather-adjust-contents}
3309@code{w3m-weather-expand-anchors} @code{w3m-weather-insert-title}
3310@end table
3311
3312@node Dtree Variables
3313@section dtree に関連した変数
3314@cindex Variables related to the dtree feature
3315
3316@table @code
3317@item w3m-dtree-default-allfiles
3318@vindex w3m-dtree-default-allfiles
3319If non-@code{nil}, invert the meaning of the prefix argument given to
3320the @code{w3m-dtree} command, i.e., the command shows not only
3321directories but also files even if you don't give a prefix argument.
3322The default is @code{nil}.
3323
3324@item w3m-dtree-directory-depth
3325@vindex w3m-dtree-directory-depth
3326Integer that controls how deep @code{w3m-dtree} shows subdirectories.
3327If it is @code{nil}, files in all subdirectories are shown.  The default
3328is @code{8}.
3329
3330@item w3m-dtree-indent-strings
3331@vindex w3m-dtree-indent-strings
3332Vector containing strings used for the indentation.  The default is
3333@code{["|-" "+-" "|  " "   "]}.
3334
3335@item w3m-dtree-stop-strings
3336@vindex w3m-dtree-stop-strings
3337Vector containing strings used to indent directories under which there
3338are subdirectories hidden because of @code{w3m-dtree-directory-depth}.
3339The default is @code{["|=" "+="]}.
3340@end table
3341
3342@node Antenna Variables
3343@section アンテナに関連した変数
3344@cindex Variables related to antenna
3345
3346@table @code
3347@item w3m-antenna-file
3348@vindex w3m-antenna-file
3349Name of the file containing antenna URLs.  The default value is
3350@file{~/.w3m/.antenna}, where @samp{~/.w3m} is the default value of
3351@code{w3m-profile-directory} (@pxref{General Variables}).
3352
3353@item w3m-antenna-html-skelton
3354@vindex w3m-antenna-html-skelton
3355Skeleton used for making the html contents of antenna pages.
3356
3357@item w3m-antenna-make-summary-function
3358@vindex w3m-antenna-refresh-interval
3359Function used to make the summary of the site information.  The default
3360is @code{w3m-antenna-make-summary-like-natsumican}.  The other
3361ready-made function is @code{w3m-antenna-make-summary}.
3362
3363@item w3m-antenna-sites
3364List of web sites that @code{w3m-antenna} watches.  The default is
3365@code{nil}.
3366
3367@item w3m-antenna-sort-changed-sites-function
3368@vindex w3m-antenna-sort-changed-sites-function
3369Function used to sort a list of sites having been changed.  The default
3370is @code{w3m-antenna-sort-sites-by-time}.  The other ready-made function
3371is @code{w3m-antenna-sort-sites-by-title}.
3372
3373@item w3m-antenna-sort-unchanged-sites-function
3374@vindex w3m-antenna-sort-unchanged-sites-function
3375Function used to sort a list of sites having not been changed.  The
3376default is @code{w3m-antenna-sort-sites-by-time}.  The other ready-made
3377function is @code{w3m-antenna-sort-sites-by-title}.
3378@end table
3379
3380@node Perldoc Variables
3381@section Perldoc に関連した変数
3382@cindex Variables related to perldoc
3383
3384@table @code
3385@item w3m-perldoc-command
3386@vindex w3m-perldoc-command
3387Name of the executable file of @samp{perldoc}.  The default is
3388@code{"perldoc"}.
3389
3390@item w3m-perldoc-input-coding-system
3391@vindex w3m-perldoc-input-coding-system
3392Coding system used when writing to the @samp{perldoc} command.  The
3393default value is @code{euc-japan} if you are in the Japanese language
3394environment.  Otherwise it is @code{utf-8} if it is available, or
3395@code{iso-latin-1}.
3396
3397@item w3m-perldoc-output-coding-system
3398@vindex w3m-perldoc-output-coding-system
3399Coding system used when reading from the @samp{perldoc} command.  The
3400default is @code{undecided}.
3401
3402@item w3m-perldoc-pod2html-command
3403@vindex w3m-perldoc-pod2html-command
3404Name of the executable file of @samp{pod2html}.  The default is
3405@code{"pod2html"}.
3406
3407@item w3m-perldoc-pod2html-arguments
3408@vindex w3m-perldoc-pod2html-arguments
3409Lisp of arguments passed to the @samp{pod2html} command.  The default is
3410@code{("--noindex")}.
3411@end table
3412
3413@node Namazu Variables
3414@section Namazu に関連した変数
3415@cindex Variables related to namazu
3416
3417@table @code
3418@item w3m-namazu-command
3419@vindex w3m-namazu-command
3420Name of the executable file of Namazu.  The default is @file{namazu}.
3421
3422@item w3m-namazu-arguments
3423@vindex w3m-namazu-arguments
3424List of arguments passed to Namazu.  The default value is @code{("-h"
3425"-H" "-n" w3m-namazu-page-max "-w" whence)}.  The symbols
3426@code{w3m-namazu-page-max} and @code{whence} will be replaced
3427respectively with the value of that variable and a proper value that the
3428program determines properly.
3429
3430@item w3m-namazu-default-index
3431@vindex w3m-namazu-default-index
3432An alias for the default index, or the directory name of it.  If this is
3433@code{nil}, you will be prompted for the directory name whenever you
3434invoke the @code{w3m-namazu} command with no prefix argument.  The
3435default is the value of @code{namazu-default-dir} if it exists and
3436@code{namazu-always-query-index-directory} is @code{nil}.  Otherwise
3437@code{nil}.
3438
3439@item w3m-namazu-index-alist
3440@vindex w3m-namazu-index-alist
3441Alist of aliases and index directories.  The default value is determined
3442due to @code{namazu-dir-alist} if any or @code{nil}.
3443
3444@item w3m-namazu-input-coding-system
3445@vindex w3m-namazu-input-coding-system
3446Coding system used when reading from the namazu process.  The default is
3447the value of @code{namazu-cs-read} if it exists, or @code{undecided}.
3448
3449@item w3m-namazu-output-coding-system
3450@vindex w3m-namazu-output-coding-system
3451Coding system used when writing to the namazu process.  The default is
3452the value of @code{namazu-cs-write} if it exists, or is determined to
3453@code{shift_jis-dos} or @code{euc-japan-unix} due to the system type.
3454
3455@item w3m-namazu-page-max
3456@vindex w3m-namazu-page-max
3457The maximum number of documents retrieved in one search.  The default is
3458the value of @code{namazu-search-num} if any, or @code{30}.
3459@end table
3460
3461@node Octet Variables
3462@section Octet に関連した変数
3463@cindex Variables related to the octet feature
3464
3465There is no user option for the moment.
3466
3467* Session Manager Variables::
3468@node Session Manager Variables
3469@section セッションマネージャに関連した変数
3470@cindex Variables related to session manager
3471
3472@table @code
3473@item w3m-session-file
3474@vindex w3m-session-file
3475セッションを保存するファイル名。
3476
3477@item w3m-session-time-format
3478@vindex w3m-session-time-format
3479保存時間の形式。
3480
3481@item w3m-session-automatic-title
3482@vindex w3m-session-automatic-title
3483emacs-w3m 終了時の自動保存セッションのタイトル。
3484
3485@item w3m-session-crash-recovery-title
3486@vindex w3m-session-crash-recovery-title
3487クラッシュ復元用セッションのタイトル。
3488
3489@item w3m-session-deleted-title
3490@vindex w3m-session-deleted-title
3491バッファを閉じた時の自動保存セッションのタイトル。
3492
3493@item w3m-session-deleted-keep-number
3494@vindex w3m-session-deleted-keep-number
3495バッファを閉じた時の自動保存セッションをいくつ保存しておくか。
3496
3497@item w3m-session-automatic-keep-number
3498@vindex w3m-session-automatic-keep-number
3499emacs-w3m 終了時の自動保存セッションをいくつ保存しておくか。
3500
3501@item w3m-session-unknown-title
3502@vindex w3m-session-unknown-title
3503タイトルが指定されなかった時に使われる文字列。
3504@end table
3505
3506@node Hooks
3507@section フック
3508@cindex フック
3509
3510@table @code
3511@item w3m-after-cursor-move-hook
3512@vindex w3m-after-cursor-move-hook
3513Hook run each time after the cursor moves in emacs-w3m buffers.  This
3514hook is called by the @code{w3m-check-current-position} function by way
3515of @code{post-command-hook}.
3516
3517@item w3m-delete-buffer-hook
3518@vindex w3m-delete-buffer-hook
3519Hook run when every emacs-w3m buffer is deleted.
3520
3521@item w3m-display-hook
3522@vindex w3m-display-hook
3523Hook run after displaying pages in emacs-w3m buffers.  Each function is
3524called with a url string as the argument.  This hook is evaluated by the
3525@code{w3m-goto-url} function.
3526
3527@item w3m-fontify-after-hook
3528@vindex w3m-fontify-after-hook
3529Hook run after fontifying emacs-w3m buffers.  This hook is evaluated by
3530the @code{w3m-fontify} function.
3531
3532@item w3m-fontify-before-hook
3533@vindex w3m-fontify-before-hook
3534Hook run when starting to fontify emacs-w3m buffers.  This hook is
3535evaluated by the @code{w3m-fontify} function.
3536
3537@item w3m-form-input-map-mode-hook
3538@vindex w3m-form-input-map-mode-hook
3539A hook called after w3m-form-input-map-mode.
3540
3541@item w3m-form-input-map-set-hook
3542@vindex w3m-form-input-map-set-hook
3543A Hook called before w3m-form-input-map-set.
3544
3545@item w3m-form-input-select-mode-hook
3546@vindex w3m-form-input-select-mode-hook
3547A hook called after w3m-form-input-select-mode.
3548
3549@item w3m-form-input-select-set-hook
3550@vindex w3m-form-input-select-set-hook
3551A Hook called before w3m-form-input-select-set.
3552
3553@item w3m-form-input-textarea-mode-hook
3554@vindex w3m-form-input-textarea-mode-hook
3555A hook called after w3m-form-input-textarea-mode.
3556
3557@item w3m-form-input-textarea-set-hook
3558@vindex w3m-form-input-textarea-set-hook
3559A Hook called before w3m-form-input-textarea-set.
3560
3561@item w3m-minor-mode-hook
3562@vindex w3m-minor-mode-hook
3563Hook run after @code{w3m-minor-mode} initialization.
3564
3565@item w3m-mode-hook
3566@vindex w3m-mode-hook
3567Hook run after @code{w3m-mode} initialization.  This hook is evaluated
3568by the @code{w3m-mode} function.
3569
3570@item w3m-select-buffer-hook
3571@vindex w3m-select-buffer-hook
3572Hook run when a different emacs-w3m buffer is selected.
3573
3574@item w3m-bookmark-mode-hook
3575@vindex w3m-bookmark-mode-hook
3576Hook run at the end of function `w3m-bookmark-mode'.
3577@end table
3578
3579@node Other Variables
3580@section その他の変数
3581@cindex その他の変数
3582
3583@table @code
3584@item w3m-async-exec
3585@vindex w3m-async-exec
3586Non-@code{nil} means execute the @samp{w3m} command asynchronously in
3587Emacs process.
3588
3589@item w3m-broken-proxy-cache
3590@vindex w3m-broken-proxy-cache
3591Set it to @code{t} if the proxy server seems not to work properly in
3592caching.  Note that this may be the double-edged sword; setting it to
3593@code{t} will likely be harmful if the proxy server sends bad requests
3594(e.g., not including the Host header, see RFC2616 section 14.23) to
3595foreign servers when the @samp{w3m} command specifies the
3596@samp{no-cache} directive.  Also note that it may not be effective if
3597you are using old @samp{w3m} command.
3598
3599@item w3m-history-minimize-in-new-session
3600@vindex w3m-history-minimize-in-new-session
3601Non-@code{nil} means minimize copied history so that there's only
3602current page.  This variable is effective when creating of the new
3603session by copying (i.e., @code{w3m-copy-buffer}).  The default value is
3604@code{nil}.
3605
3606@item w3m-history-reuse-history-elements
3607@vindex w3m-history-reuse-history-elements
3608Non-@code{nil} means reuse the history element when re-visiting the
3609page.  Otherwise, a new history element will be created even if there
3610are elements for the same url in the history.
3611
3612Emacs-w3m used to operate as the case in which it is non-@code{nil},
3613however it sometimes brought about users' dissatisfaction.  For example,
3614if a user visited the pages A -> B -> C -> B in order, performing BACK
3615on the second B would let a user visit A.  The reason why a user was
3616taken to A rather than C is that the @code{w3m-history} variable only
3617had the list @code{(A B C)} as a history and B was the current position
3618at that time.
3619
3620The default value for this variable is @code{nil} which allows the
3621@code{w3m-history} variable to have the list @code{(A B C B)}.  Where
3622contents of two B's are the identical Lisp objects.  So, too much
3623wasting the Lisp resources will be avoided.
3624
3625See the documentation for the variables @code{w3m-history} and
3626@code{w3m-history-flat} for more information.
3627
3628@item w3m-process-connection-type
3629@vindex w3m-process-connection-type
3630Value for @code{process-connection-type} used when communicating with
3631@samp{w3m}.
3632
3633@item w3m-process-modeline-format
3634@vindex w3m-process-modeline-format
3635Format used when displaying the progress of the external @samp{w3m}
3636process.  It shows a percentage of the data loaded from the web server.
3637
3638@item w3m-show-current-title-in-buffer-tab
3639@vindex w3m-show-current-title-in-buffer-tab
3640If non-@code{nil}, show the title strings in the buffers tab.
3641
3642@item w3m-input-url-provide-initial-content
3643@vindex w3m-input-url-provide-initial-content
3644If non-@code{nil}, provide an initial minibuffer content (if any) when
3645entering a url.  The default is @code{nil}.  A url string is not worth
3646editing in most cases since a url thing is generally a list of arbitrary
3647letters, not a human readable one.  So, we provide no initial content
3648when prompting you for a url by default.  But sometimes there will be a
3649case to be convenient if you can modify the url string of [1]the link
3650under the cursor or of [2]the current page.  In that case, you can type
3651the @kbd{M-n} key [1]once or [2]twice to fill the minibuffer with an
3652initial content if you use Emacs 23 and up.  Otherwise, set this
3653variable to a non-@code{nil} value to always provide an initial content.
3654@end table
3655
3656@node Hooking into MUAs
3657@chapter メール/ニュースリーダーで使う
3658
3659ここでは三種類の MUA (Message User Agent) を紹介します。それらの MUA は
3660すべて emacs-w3m を使うことによって HTML メールを適切に表示することがで
3661きます。それぞれの MUA と emacs-w3m を設定して使うための HowTo といくつ
3662かの注意を、ここで見つけることができるでしょう。
3663
3664異なる習慣に関する即席の注釈: @samp{message} って何? − Gnus ユーザ
3665が @samp{message} と言うとき、それはしばしばメールまたはニュースとして送
3666信するメッセージの草稿を意味します。しかし、それは Mew や Wanderlust の
3667ユーザが、受信したメッセージに対して使う用語です。彼らは送信するメッセー
3668ジに @samp{draft} を使っています。一方 Gnus ユーザは、受信したメッセージ
3669を @samp{article} と呼びます。
3670
3671@menu
3672* Gnus::                        Gnus で HTML メールを読む
3673* Mew::                         Mew で HTML メールを読む
3674* SEMI MUAs::                   @acronym{SEMI} MUA で HTML メールを読む
3675* VM::                          VM (vieW maiL) は Wanderlust にあらず
3676@end menu
3677
3678@node Gnus
3679@section Gnus で HTML メールを読む
3680@cindex Reading HTML mails in Gnus
3681@cindex shr
3682@cindex gnus-w3m
3683@findex mm-shr
3684@findex gnus-article-html
3685@vindex mm-inline-text-html-with-images
3686@vindex mm-inline-text-html-with-w3m-keymap
3687@vindex mm-text-html-renderer
3688@vindex w3m-minor-mode
3689@vindex w3m-minor-mode-command-alist
3690
3691第一に、もしユーザオプション @code{mm-text-html-renderer} がデフォルト
3692で @code{shr} または @code{gnus-w3m} になっているのであれば (つまり関
3693数 @code{mm-shr} または @code{gnus-article-html} が利用できるのであれば)、
3694そして Gnus の内蔵の @acronym{HTML} 描画器であるその関数に満足しているの
3695であれば、何もする必要は無いでしょう。@xref{Display Customization, ,表示
3696のカスタマイズ, emacs-mime-ja, The Emacs MIME Manual}.  さら
3697に @xref{HTML, ,HTML, gnus-ja, The Gnus Manual}.
3698
3699しかし、もしお使いの Gnus が少し古くて @code{mm-shr} 関数
3700や @code{gnus-article-html} 関数が使えないか、または @acronym{HTML} 記事
3701の描画のために emacs-w3m を試してみたいのであれば、この章はまさにあなた
3702のためのものです。
3703
3704@itemize @bullet
3705@item
3706Emacs-w3m で何ができるの?
3707
3708HTML の spam メールを、emacs-w3m を使って人間が読めるように変換すること
3709ができます。もちろん HTML の ham メール (spam ではないメール) に対しても
3710働き、どちらの場合でも emacs-w3m はデフォルトの変換器よりもたぶん速いで
3711しょう。追加の操作は必要ありません。それは単に表示されます。
3712
3713記事バッファの HTML の部分では @code{w3m-minor-mode} が on になって、
3714emacs-w3m のと同じ主要なキーを使うことができます。例え
3715ば @kbd{@key{RET}} は、現在位置のリンクが指し示すページに行きます。それ
3716らのキーは変数 @code{w3m-minor-mode-command-alist} で定義されています。
3717保安上の理由から、いくつかのコマンドはそれに似た別のコマンドで置き換えら
3718れていることを心に留めておいてください (下記参照)。
3719
3720@item
3721何をしなければいけないの?
3722
3723この行を @file{~/.gnus.el} ファイルに追加してください。
3724
3725@lisp
3726(setq mm-text-html-renderer 'w3m)
3727@end lisp
3728
3729さらに、記事バッファで画像を表示したい場合は、以下の行を入れてください。
3730
3731@lisp
3732(setq mm-inline-text-html-with-images t)
3733@end lisp
3734
3735記事バッファで emacs-w3m のキーを使う必要が無いならば、以下の行も追加し
3736てください:
3737
3738@lisp
3739(setq mm-inline-text-html-with-w3m-keymap nil)
3740@end lisp
3741
3742@item
3743ご注意
3744
3745前に spam と ham のことを書いたのはふざけているわけではなくて、あなたの
3746注意を喚起するためにまさにここにあるのです。HTML メールに
3747は @samp{<img>} タグを使った spammers (spam をばらまくやから) の卑劣な悪
3748巧みが含まれているかもしれません。それは @samp{Click Here!} ボタンよりは
3749るかに有害です。最もありそうなのは、そんなたちの悪い spam があなたの目に
3750止まったかどうかを検査する、すなわちこの場合、あなたのメールアドレスが有
3751効であることを確認するための spammer の意図があることです。それは、画像
3752を表示するときに自動的に取得しに行くであろう URL に、識別文字列を埋め込
3753むことによって行なわれます。変数 @code{mm-w3m-safe-url-regexp} がデフォ
3754ルト値から変更されていなければ、Gnus が勝手に spammer のサイトに接続する
3755ことはありません。
3756
3757@code{mm-inline-text-html-with-images} を @code{t} にすれば、記事バッファ
3758にインライン画像を表示することができますよね?  いいえ、断じて違います。
3759あなたはまだ守られているのです。あなたのメールアドレスが到達可能だという
3760事実が漏れることを気にしないのであれば、変
3761数 @code{mm-w3m-safe-url-regexp} を @code{nil} にしてください。
3762@code{mm-w3m-safe-url-regexp} のデフォルト値は @samp{"\\`cid:"} で、これ
3763は私たちが @samp{cid:} URL によってメールに含まれている画像が安全だと考
3764えていることを意味します (すなわち、@code{mm-w3m-safe-url-regexp} を変更
3765しなくても、そのような画像は表示することができます)。
3766
3767@item
3768おまけ
3769
3770概略バッファにいるときでも、記事バッファの画像表示をトグルに切り換えるこ
3771とができます。それらの画像が emacs-w3m によって表示される場合だけですけ
3772れどね。例です:
3773
3774@lisp
3775(defun gnus-summary-w3m-safe-toggle-inline-images (&optional arg)
3776  "Toggle displaying of all images in the article buffer.
3777If the prefix arg is given, force displaying of images."
3778  (interactive "P")
3779  (with-current-buffer gnus-article-buffer
3780    (let ((st (point-min))
3781          (nd (point-max))
3782          (w3m-async-exec w3m-async-exec))
3783      (save-restriction
3784        (widen)
3785        (if (or (> st (point-min)) (< nd (point-max)))
3786            (setq w3m-async-exec nil))
3787        (article-goto-body)
3788        (goto-char (or (text-property-not-all (point) (point-max)
3789                                              'w3m-safe-url-regexp nil)
3790                       (point)))
3791        (if (interactive-p)
3792            (call-interactively 'w3m-toggle-inline-images)
3793          (w3m-toggle-inline-images arg))))))
3794
3795(eval-after-load "gnus-sum"
3796  '(define-key gnus-summary-mode-map
3797     "vi" 'gnus-summary-w3m-safe-toggle-inline-images))
3798@end lisp
3799
3800キー @kbd{vi} は他の何かに変更することができます。さら
3801に @xref{Summary Buffer, ,概略バッファー, gnus-ja, The Gnus Manual}.
3802@end itemize
3803
3804@noindent
3805@ref{Nnshimbun} も参照してください。
3806
3807@node Mew
3808@section Mew で HTML メールを読む
3809
3810Emacs-w3m を使うことによって、Text/Html を Message モードに表示できるよ
3811うになります。以下の設定を @file{~/.mew.el} ファイルに加えてください:
3812
3813@lisp
3814(require 'mew-w3m)
3815@end lisp
3816
3817@noindent
3818これで、あたかも Text/Plain であるかのように、Text/Html を Message モー
3819ドに表示できるようになります。この際も、@w{@kbd{C-c C-e}} の操作は有効で
3820す。
3821
3822このごろ、同じ情報を二つ含んでいるメールを非常によく見かけます。それら
3823は @samp{text/plain} パートと @samp{text/html} パートの両方から成る (何
3824ちゅうバンド幅の無駄使いだ) @samp{multipart/alternative} フォーマットを
3825使っています。Mew はデフォルトでは @samp{text/plain} パートだけを表示し
3826ます。あなたは emacs-w3m を使っているのですから、@samp{text/html} パー
3827トの方を優先したくなるかもしれません。それならば、以下の設定
3828を @file{~/.mew.el} ファイルに加えてください:
3829
3830@lisp
3831(setq mew-mime-multipart-alternative-list
3832      '("Text/Html" "Text/Plain" ".*"))
3833@end lisp
3834
3835@noindent
3836Mew に関連するいくつかのカスタマイズ可能な変数があります:
3837
3838@table @code
3839@item mew-use-w3m-minor-mode
3840非-@code{nil} にすると、text/html パートが表示されているメッセージバッファ
3841において @code{w3m-minor-mode} が on になり、emacs-w3m のと同じ主要なキー
3842を使うことができます。例えば @kbd{@key{RET}} は、現在位置のリンクが指し
3843示すページに行きます。それらのキーは変
3844数 @code{w3m-minor-mode-command-alist} で定義されています。保安上の理由
3845から、いくつかのコマンドはそれに似た別のコマンドで置き換えられていること
3846を心に留めておいてください。デフォルト値は @code{nil} です。
3847
3848@item mew-w3m-auto-insert-image
3849非-@code{nil} にすると、multipart/related なメッセージを読んでいるときに、
3850メッセージバッファで画像をインライン表示させることができます。mew-w3m は、
3851表示するために @samp{cid:} URL によってメールの本文に含まれている画像だ
3852け (私たちはそれらを安全だと考えています) を許可することに注意してくださ
3853い。デフォルト値は @code{nil} です。
3854
3855ここで、@file{~/.mew.el} に
3856
3857@lisp
3858(define-key mew-summary-mode-map "T" 'mew-w3m-view-inline-image)
3859@end lisp
3860
3861と書くと、''T'' を押すことによって、画像表示の状態をトグルすることができ
3862ます。また、''C-uT'' と prefix をつけると、メール本文に含まれていない画
3863像も表示します。
3864
3865@item mew-w3m-cid-retrieve-hook
3866@samp{cid:} URL を取り出した後で実行されるフックです。デフォルト値
3867は @code{nil} です。
3868@end table
3869
3870@noindent
3871@ref{Mew Shimbun} も参照してください。
3872
3873@node SEMI MUAs
3874@section @acronym{SEMI} MUA で HTML メールを読む
3875
3876Emacs-w3m と @acronym{SEMI} MUA、例えば Wanderlust を使うことによって、
3877HTML メールを人間が読めるように表示することができます。そうい
3878う MUA は MIME の機能を @acronym{SEMI} (そしてさらに @acronym{FLIM}) に
3879頼っているので、一般にそれを @acronym{SEMI} MUA と呼んでいます。
3880@acronym{SEMI} は HTML メールの描画にデフォルトで Emacs/W3 を使いますが、
3881容易に emacs-w3m で置き換えることが可能です。それによってあなたの電脳生
3882活はより快適になるでしょう。
3883
3884@noindent
3885単に以下の行を @file{~/.emacs} ファイルに入れれば良いのです:
3886
3887@lisp
3888(require 'mime-w3m)
3889@end lisp
3890
3891@code{mime-w3m} モジュールと @code{mime-w3} モジュールは、ご想像の通り機
3892能的にほぼ同じものです (名前も似ているでしょう?)。後者
3893は @acronym{SEMI} パッケージに含まれています。
3894
3895記事バッファの HTML の部分では @code{w3m-minor-mode} が on になって、
3896emacs-w3m のと同じ主要なキーを使うことができます。例え
3897ば @kbd{@key{RET}} は、現在位置のリンクが指し示すページに行きます。それ
3898らのキーは変数 @code{w3m-minor-mode-command-alist} で定義されています。
3899保安上の理由から、いくつかのコマンドはそれに似た別のコマンドで置き換えら
3900れていることを心に留めておいてください。
3901
3902@code{mime-w3m} モジュールに関連するいくつかのカスタマイズ可能な変数があ
3903ります:
3904
3905@table @code
3906@item mime-w3m-display-inline-images
3907非-@code{nil} だったら、画像が HTML メールにインライン表示されます。最初
3908に @code{default} というシンボルだったら (それがデフォルトです)、この変
3909数の値は、変数 @code{w3m-default-display-inline-images} の値で置き換えら
3910れます。たぶん、あなたはこれを変更する必要は無いでしょう。
3911
3912@item mime-w3m-safe-url-regexp
3913安全であると考えられる URL にマッチする正規表現です。デフォルト値
3914は @samp{"\\`cid:"} で、私たちは @samp{cid:} URL によってメールに含まれ
3915た画像が安全だと考えていることを意味します。悪漢による攻撃について
3916は @ref{Gnus} を参照してください。
3917
3918@item mime-w3m-setup-hook
3919@code{mime-w3m} モジュールと @acronym{SEMI} の協調動作を設定した直後に実
3920行されるフックです。デフォルト値は @code{nil} です。
3921@end table
3922
3923ところで、summary バッファにいるときでも、article バッ
3924ファ (Wanderlust のコミュニティでは message バッファと呼ばれている) の画
3925像表示をトグルに切り換えることができます。それらの画像が emacs-w3m によっ
3926て表示される場合だけですけれどね。Wanderlust 用の例です:
3927
3928@lisp
3929(defun wl-summary-w3m-safe-toggle-inline-images (&optional arg)
3930  "Toggle displaying of all images in the message buffer.
3931If the prefix arg is given, all images are considered to be safe."
3932  (interactive "P")
3933  (with-current-buffer wl-message-buffer
3934    (w3m-toggle-inline-images arg)))
3935
3936(eval-after-load "wl-summary"
3937  '(define-key wl-summary-mode-map
3938     "\M-i" 'wl-summary-w3m-safe-toggle-inline-images))
3939@end lisp
3940
3941@node VM
3942@section VM (vieW maiL) は Wanderlust にあらず
3943
3944VM で html メールを表示する機能を提供する vm-w3m.el モジュールとパッチ
3945は VM の新しいメインテイナーに引き継がれましたが、まだ VM の安定版に現れ
3946ていません。@uref{http://www.nongnu.org/viewmail/, VM ホームページ} を
3947訪ねてみてください。
3948
3949@node Frequently Asked Questions
3950@chapter 必ず答があるとは限らない
3951
3952@menu
3953* General FAQ::                 一般的な質問
3954* Trouble FAQ::                 トラブル
3955* Shimbun FAQ::                 Shimbun に関する質問
3956@end menu
3957
3958@node General FAQ
3959@section 一般的な質問
3960
3961@itemize @bullet
3962@item
3963Q. emacs-w3m って何ですか?
3964
3965w3m を Emacs 上で動かすインターフェースプログラムです。Emacs 上で動くウェ
3966ブブラウザとして使うこともできます。さらなる情報は @ref{Introduction} も
3967参照してください。
3968
3969@item
3970Q. 動作する Emacs は?
3971
3972現在 emacs-w3m は Emacs 26、27、そしてうまくいけば 28 (まだリリースされ
3973ていませんが) で動作するでしょう。XEmacs サポートは終了しました。
3974
3975@item
3976Q. 動作する w3m は?
3977
3978以下の w3m で動作することが確認されています。
3979
3980@itemize @bullet
3981@item w3m-0.3
3982@item w3mmee-p24-18 + moe-1.5.4
3983
3984例に上げた w3mmee は @samp{lang=many} で configure されている (それ
3985は @samp{configure} スクリプトが @samp{Which language do you prefer?} と
3986尋ねたときに 3 を入力することによってできます) ことに注意してください。
3987さらにそれは @samp{libmoe} パッケージを必要とします。
3988@end itemize
3989
3990@item
3991Q. CVS で最新版を取得したのですが、@file{configure} スクリプトが見つかり
3992ません。
3993
3994@samp{autoconf} を実行してください。
3995@end itemize
3996
3997@node Trouble FAQ
3998@section トラブル
3999
4000@itemize @bullet
4001@item
4002Q. 認証の必要なページのパスワードが入力できません。
4003
4004変数 @code{w3m-async-exec} に @code{nil} 以外の値が設定されていることを
4005確認してください。
4006
4007@item
4008Q. 認証の必要な proxy サーバーのパスワードが入力できません。
4009
4010変数 @code{w3m-async-exec} に @code{nil} 以外の値が設定されていることを
4011確認してください。
4012
4013@item
4014Q. リンクがたどれません。
4015
4016@samp{-header} オプションを受け付ける w3m コマンドが必要です。w3m のバー
4017ジョンを確認してください。
4018
4019@item
4020Q. 文字化けします。
4021
4022いくつかの原因があります。
4023
4024@enumerate
4025@item
4026HTML ファイルの問題
4027
4028HTML ファイル中で @samp{<meta>} タグによって指定されている文字コードと、
4029実際の文字コードが異なると、正常に表示されません。
4030@w{@kbd{M-x w3m-redisplay-with-charset @key{RET}}} また
4031は @w{@kbd{C c}} コマンドを使って、正しい文字コードを指定して再描画して
4032ください。
4033
4034@item
4035文字コード
4036
4037ISO-2022-JP(jis), EUC-JP または SHIFT_JIS 以外の文字コードで記述されたペー
4038ジについては、表示できない場合があります。次のいずれかの方法で対処してく
4039ださい。
4040
4041@enumerate a
4042@item
4043w3mmee や w3m-m17n をインストールして、変数 @code{w3m-command} に適切な
4044値を設定してください。このように設定すると、emacs-w3m はこれらのプログラ
4045ムが提供する多言語機能を利用するようになります。
4046@end enumerate
4047
4048@item
4049@code{standard-display-european} を使わないでください
4050
4051それはしばしば Latin 文字を正しく表示させないので、概して有害です。例え
4052ば、@samp{&#8217} としてエンコードされたアポストロフィ文字 (@samp{'}) は、
4053それがあたかも @samp{&#249} としてエンコードされたかのように、低アクセン
4054ト (a grave accent) が付いた文字 @samp{u} として表示されるでしょう。あな
4055たの @file{~/.emacs} ファイルか、Emacs が起動時に読み込む site ファイル
4056に、何か以下のような行があるならば、それを取り除くことを強く勧めます。
4057
4058@lisp
4059(standard-display-european 1)
4060@end lisp
4061
4062そこでは、引数は @code{1} ではなくて @code{t} かもしれません。
4063@end enumerate
4064
4065@item
4066Q. 画像表示できません。
4067
4068いくつかの原因があります。
4069
4070古いバージョンの @samp{libungif} ライブラリにはバグがあります。
4071@samp{libungif-4.1.0b1} 以降のものをインストールしなければなりません。
4072
4073古い w3m コマンドでは正常に表示できません。w3m のバージョンを確認してく
4074ださい。
4075
4076@item
4077Q. Cookie が必要なページを閲覧できません。
4078
4079(まだ実験的な機能です。)
4080
4081変数 @code{w3m-use-cookies} に @code{nil} 以外の値が設定されていることを
4082確認してください。
4083
4084@item
4085Q. フォームに入力できません。
4086
4087(まだ実験的な機能です。)
4088
4089変数 @code{w3m-use-form} に @code{nil} 以外の値が設定されていることを確
4090認してください。
4091
4092@item
4093Q. フォームを送信できません。
4094
4095(まだ実験的な機能です。)
4096
4097変数 @code{w3m-use-form} に @code{nil} 以外の値が設定されていることを確
4098認してください。この機能を使うには、@samp{-post} オプションを認識す
4099る w3m コマンドが必要です。w3m のバージョンを確認してください。
4100
4101@item
4102Q. フレームがレンダリングされません。
4103
4104w3mmee をインストールして、以下の設定を @file{~/.emacs} ファイルに入れて
4105ください:
4106
4107@lisp
4108(setq w3m-command "w3mmee")
4109@end lisp
4110
4111@item
4112Q. GNU Emacs の tab 行に favicon が表示されないのですが。
4113
4114Image Magick に含まれている @samp{convert} プログラムをインストールして
4115ください。@uref{http://www.imagemagick.org/} から入手できます。
4116
4117@item
4118Q. GNU Emacs で favicon を表示しようとしたのですが、Emacs がロックしまし
4119た。
4120@item
4121Q. Emacs-w3m を立ち上げようとしたら、激しくディスクアクセスした後、
4122@samp{process convert exited abnormally with code 10} などと表示されまし
4123た。どうなっているんでしょう?
4124
4125古いバージョンの Image Magick を使っていませんか?  ImageMagick-5.2.1 に
4126付属している @samp{convert} を使っていると、そうなることが知られています。
4127ImageMagick-5.4.0-5 (以上) に付属している @samp{convert} では、正常動作
4128が確認されています。
4129
4130もし ImageMagick が使えない、または使いたくない場合
4131は @file{~/.emacs-w3m} ファイルに
4132
4133@lisp
4134(setq w3m-use-favicon nil)
4135@end lisp
4136
4137の設定を追加してください。
4138
4139@item
4140Q. なぜ emacs-w3m が w3mmee で動作しないのですか?
4141
4142もし @samp{lang=en} または @samp{lang=ja} で configure された w3mmee を
4143使っているのならば、@samp{lang=many} で configure し直し
4144て (それは @samp{configure} スクリプトが @samp{Which language do you
4145prefer?} と尋ねたときに 3 を入力することによってできます)、w3mmee を再構
4146築してください。
4147
4148@item
4149Q. なぜ emacs-w3m で web ページが見えないのでしょうか?  ローカル
4150な html ファイルを見たり、素の w3m を使う場合は問題無いのですが。
4151
4152ある Linux の配布 (例えば Gentoo Linux) が含んでいる w3m コマンドには、
4153async パッ
4154チ@footnote{@uref{http://www.page.sannet.ne.jp/knabe/w3m/w3m.html,
4155w3m on cygwin}} というものが当たっています。それは素の w3m コマンドを使
4156うときに有用なのですが、emacs-w3m をハングさせるかもしれません。それが疑
4157われるならば、w3m コマンドをソースから再インストールすることを勧めます。
4158
4159@item
4160Q. なぜ emacs-w3m のフレームがポップアップしないのですか?
4161
4162Emacs-w3m のフレームが他のフレームの下に隠れていても、それ
4163が @w{@kbd{M-x w3m @key{RET}}} コマンドでポップアップするのは、かなり便
4164利です。しかし、@samp{metacity} ウィンドウ・マネージャーが使われるいくつ
4165かのプラットフォーム (例えば Fedora Linux) 上で作られた Emacs を走らせる
4166場合に、それが働かないという報告がありました。それらのシステムでは、
4167Emacs のフレームをポップアップさせる他の機能も動かないでしょう。もしあな
4168たがそんな惨めな境遇にあるならば、以下の advice を試す価値があるかもしれ
4169ません。
4170
4171@lisp
4172(if (not window-system)
4173    nil
4174  (defadvice raise-frame
4175    (after make-it-work (&optional frame) activate)
4176    "Make it work with the aid of wmctrl."
4177    (call-process
4178     "wmctrl" nil nil nil "-i" "-R"
4179     (frame-parameter (or frame (selected-frame))
4180                      'outer-window-id))))
4181@end lisp
4182
4183ここで @samp{wmctrl} は、以下の場所で取得できる外部コマンドです。
4184
4185@uref{http://sweb.cz/tripie/utils/wmctrl/}
4186
4187Advice を @file{~/.emacs} ファイルに書き込む前に、@samp{wmctrl} コマンド
4188をインストールしなければならないことに、注意してください。
4189
4190次のものは今のところ emacs-w3m では不要ですが、ある種のアプリケーション
4191が動作するために必要です。(前のものが必要な環境では、これを加えても失う
4192ものはありません。)
4193
4194@lisp
4195(if (not window-system)
4196    nil
4197  (defadvice pop-to-buffer (after enable-it-to-forcus-frame
4198                                  activate)
4199    "Enable it to focus frame if `pop-up-frames' is non-nil."
4200    (when pop-up-frames
4201      (let ((id (condition-case nil
4202                    (frame-parameter
4203                     (window-frame
4204                      (get-buffer-window (ad-get-arg 0)))
4205                     'outer-window-id)
4206                  (error nil))))
4207        (when id
4208          (call-process
4209           "wmctrl" nil nil nil "-i" "-R" id))))))
4210@end lisp
4211
4212最後のものはたぶん要らないでしょう。しかし、いくつかのプラットフォームで
4213は試してみる価値があるかもしれません。
4214
4215@lisp
4216(if (not window-system)
4217    nil
4218  (defadvice select-frame (around set-input-focus
4219                                  (frame) activate)
4220    "Run `select-frame-set-input-focus'."
4221    (setq ad-return-value (and (framep frame)
4222                               (frame-live-p frame)
4223                               frame))
4224    (ad-deactivate 'select-frame)
4225    (unwind-protect
4226        (select-frame-set-input-focus frame)
4227      (ad-activate 'select-frame))))
4228@end lisp
4229
4230これらの対策は、次の Emacs のリリース (22.2 または 23.1) では不要になる
4231でしょう。
4232@end itemize
4233
4234@node Shimbun FAQ
4235@section Shimbun に関する質問
4236
4237@itemize @bullet
4238@item
4239Q. なぜ @samp{shimbun} モジュールがインストールされないのですか?
4240
4241@acronym{FLIM} パッケージがインストールされていないと、@samp{shimbun} モ
4242ジュール (@file{shimbun/} ディレクトリにあるファイル群) はインストールさ
4243れないことに注意してください。
4244
4245@samp{configure} スクリプトは自動的に @acronym{FLIM} の有無を判定するよ
4246う設計されていますが、標準的ではないディレクトリに @acronym{FLIM} がイン
4247ストールされていると、判定に失敗します。その場合
4248は @samp{--with-addpath} オプションを使って、@acronym{FLIM} がインストー
4249ルされているディレクトリを明示的に指定してください。例です:
4250
4251@example
4252% ./configure --with-addpath=$HOME/share/emacs/site-lisp/flim
4253@end example
4254@end itemize
4255
4256@node Known Problems
4257@chapter あなたならきっと解決できる
4258
4259
4260@node Shimbun Library
4261@chapter ウェブ上の新聞を読むための道具
4262@cindex Shimbun library
4263
4264ウェブでは、ますます多くの新聞、メーリングリストのアーカイブ、掲示板、あ
4265るいは個人の日記 (hyper nikki system、weblogs または blogs) が公開されて
4266います。@samp{Shimbun} ライブラリは、それらのコンテンツを貴方の好みのメー
4267ラーで読むことができるようにします。具体的には、それらのコンテンツを、メー
4268ルのように整形・整理する機能を提供します。
4269
4270すべての @samp{shimbun} モジュールは、普通のメールやニュースのように読む
4271ことができる記事を生成することを目標にしています。しかしながら、ウェブサ
4272イトがそれらの記事の html をしばしば変更するので、その度に私たちは困難に
4273ぶつかります。
4274
4275もし、無意味な画像や、記事とは関係の無いテキストが現れるのに気がついたら、
4276(たとえ些細なものでも) @code{report-emacs-w3m-bug} (@pxref{Mailing
4277List}) を使って報告してください。
4278
4279@samp{Shimbun} ライブラリは、現在、朝日新聞、読売オンライン、Emacs Devel、
4280XEmacs Beta、Gnus/Mew/Wanderlust などのメーリングリスト、Slashdot、
4281Slashdot Japan、および他のたくさんのものに対応しています。具体的には、
4282@ref{Shimbun Sites} を参照してください。
4283
4284ところで、@samp{Shimbun} ライブラリを利用する時は、著作権について注意が
4285必要です。@samp{Shimbun} ライブラリによって加工・生成された記事の著作権
4286は、その記事を生成する元になったデータの著作者に帰属します。したがって、
4287得られた記事を利用する場合は、元のデータの著作者の権利を侵害しない範囲を
4288守る法律上の義務があります。つまり、著作権法に定められた「私的利用」の範
4289囲を守らなければならない、ということです。
4290
4291@samp{Shimbun} ライブラリを利用したことによって、万が一あなたが不利益を
4292被ったり、あなたが他者の権利を侵害したことによってあなたが訴えられたとし
4293ても、emacs-w3m 開発チームは一切の責任を負いません。
4294
4295@samp{Shimbun} ライブラリはたくさんのモジュールのコレクションで、それら
4296の各々は単独では何の役にも立ちません。
4297ここでは代表的な三つの @samp{Shimbun} のアプリケーションプログラム (それ
4298らのうちの二つは @samp{Shimbun} ライブラリに含まれています) と、あなたが
4299自分で @samp{Shimbun} モジュールを作る方法について説明します (Emacs
4300Lisp プログラムを書くことができる必要があります)。
4301
4302@menu
4303* Nnshimbun::                   Gnus をウェブブラウザにする!
4304* Mew Shimbun::                 Mew で新聞を読む
4305* Shimbun with Wanderlust::     Wanderlust で新聞を読む
4306* Shimbun local mode::          新聞の取得にシェルスクリプトを使う
4307* Shimbun Sites::               新聞が読めるサイト
4308* Shimbun Basics::              新聞モジュールの作り方
4309@end menu
4310
4311@samp{Shimbun} ライブラリを利用するためには、emacs-w3m を構築してインス
4312トールする前に @acronym{FLIM} パッケージ (加えて @samp{nnshimbun} を使い
4313たければ Gnus) をインストールする必要があることに注意してください。
4314@acronym{FLIM} パッケージには @acronym{APEL} パッケージが必要です。あな
4315たは @ref{Other Requirements} も見るべきかもしれません。
4316
4317@node Nnshimbun
4318@section Gnus をウェブブラウザにする!
4319@cindex nnshimbun
4320@cindex Web Newspaper
4321
4322@samp{Nnshimbun} は Gnus のバックエンドです。しかしながら、例外的
4323に Gnus ではなくて emacs-w3m とともに配布されています。
4324@samp{Nnshimbun} は Gnus を並外れて便利なウェブブラウザにすることができ
4325ます。すべての広告に煩わされずに新聞社のウェブサーバで記事を拾い読みする
4326ことができます。メーリングリストの記事アーカイブを、そのリストに購読登録
4327しているように読むことができます。掲示板の書き込みも読むことができます。
4328等々... でも Gnus は @samp{nnshimbun} でウェブを介した投稿ができないので、
4329フォローしたいときは emacs-w3m を使わなければいけないことに注意してくだ
4330さい。
4331
4332さらに emacs-w3m で HTML メッセージを整形するには @ref{Gnus} も参照して
4333ください。
4334
4335@findex gnus-group-make-shimbun-group
4336@c @kindex G n (グループ)
4337@samp{Nnshimbun} を始めるための一番簡単な方法は、グループバッファで以下
4338のようなことをすることです:
4339
4340@w{@kbd{M-x gnus-group-make-shimbun-group @key{RET} asahi @key{RET} national @key{RET}}}
4341@c @kbd{G n asahi @key{RET} national @key{RET}}
4342
4343@samp{asahi} と @samp{national} は、接続したいサーバーに対応したキーワー
4344ドと興味のあるグループに、それぞれ置き換えてください。
4345@kbd{@key{TAB}} か @kbd{@key{SPC}} をタイプすることによって、それらの名
4346前を両方とも補完することができます。
4347
4348もし @code{gnus-group-mode-map} に十分な空きがあるならば、以下のようなも
4349のを @file{~/.gnus.el} ファイルに加えてください:
4350
4351@lisp
4352(eval-after-load "gnus-group"
4353  '(define-key gnus-group-mode-map "Gn"
4354     'gnus-group-make-shimbun-group))
4355@end lisp
4356
4357すると、@w{@kbd{M-x gnus-group-make-shimbun-group}} の代わり
4358に @w{@kbd{G n}} を使うことができます。
4359
4360@emph{誰かこのキーを Gnus タワーに予約してくれませんか?}
4361
4362@c または @w{@kbd{B nnshimbun @key{RET} asahi @key{RET}}} でバックエンド
4363@c をブラウズすることによっても記事を読むことができます。
4364
4365@findex gnus-group-make-shimbun-groups
4366@noindent
4367この他に、@code{gnus-group-make-shimbun-groups} コマンドを使って、指定し
4368たサーバーのすべてのグループを作ることができます。
4369
4370@samp{Nnshimbun} は単にウェブサーバから HTML コンテンツを取り寄せて、そ
4371れを記事として表示しますが、永続記
4372事 (@pxref{Persistent Articles, ,永続記事, gnus-ja, The Gnus Manual}) を
4373作る場合を除いて、ローカルファイルに記事をセーブすることはありません。
4374@samp{Nnshimbun} は @acronym{NOV} ファイルを、それぞれ
4375の @samp{nnshimbun} グループで使います。そのバックエンド
4376は @samp{nnml} とほぼ同じです。
4377
4378以下の @samp{nnshimbun} に関する変数をカスタマイズすることが可能です:
4379
4380@table @code
4381@item nnshimbun-keep-backlog
4382@vindex nnshimbun-keep-backlog
4383@vindex gnus-keep-backlog
4384この変数は @samp{nnshimbun} グループで @code{gnus-keep-backlog} 変
4385数 (@pxref{Article Backlog, ,記事のバックログ, gnus-ja, The Gnus
4386Manual}) を上書きします。もし @code{nnshimbun-keep-backlog} を数
4387字 @var{n} に設定すると、@samp{nnshimbun} は最大で @var{n} の古い記事を
4388後の再取得のためにバッファに溜めておきます。この変数が @code{nil} ではな
4389く、数字でもない場合、@samp{nnshimbun} は @emph{すべて} の既読記事を蓄え
4390ます (これは良い考えではありません)。デフォルト値は 300 です。
4391
4392@samp{Nnshimbun} はあらかじめ取得した (prefetched) 記事の保存
4393に backlog を使うので、小さすぎる値は @code{prefetch-articles} 機能 (下
4394記参照) を損なうかもしれないことに注意してください。
4395
4396@item nnshimbun-directory
4397@vindex nnshimbun-directory
4398@samp{Nnshimbun} が @acronym{NOV} ファイルと印ファイルを保存するディレク
4399トリです。デフォルト値は @samp{~/News/shimbun/} です。これはサーバー変
4400数 (@pxref{Server Variables, ,サーバー変数, gnus-ja, The Gnus
4401Manual}) です。
4402
4403@item nnshimbun-default-group-level
4404@vindex nnshimbun-default-group-level
4405@code{gnus-level-default-subscribed} を上書きする、デフォルトのグループ
4406レベルです。新たに作られた @samp{nnshimbun} グループに適用されます。デフォ
4407ルト値は @code{nil} です。これはサーバー変数 (@pxref{Server Variables,
4408,サーバー変数, gnus-ja, The Gnus Manual}) です。
4409@end table
4410
4411@cindex group parameters
4412@samp{Nnshimbun} は Gnus が提供する標準のグループパラメー
4413タ@footnote{グループパラメータを設定するための最も手軽な方法は、グルー
4414プバッファで、設定したいグループの場所に移動してから @w{@kbd{G c}} をタ
4415イプすることです (@pxref{Group Parameters, ,グループパラメーター,
4416gnus-ja, The Gnus Manual})。} に加えて、@samp{nnshimbun} 専用に設けられ
4417たグループパラメータを利用することができます。複数の @samp{nnshimbun} 用
4418のパラメータが @code{nnshimbun-group-parameters} という単一のグループパ
4419ラメータ (すべてのグループで違う値を持つことができる) にまとめられていま
4420す。それはプロパティリストで、例えば次のような値です:
4421
4422@lisp
4423'(index-range all prefetch-articles off encapsulate-images on
4424              expiry-wait 6)
4425@end lisp
4426
4427以降はこれらのグループパラメータと、関連する変数の説明です。
4428
4429@table @code
4430@item prefetch-articles
4431@vindex nnshimbun-pre-fetch-article
4432このグループパラメータが @code{off} または @code{nil} 以外の何かに設定さ
4433れているグループでは、@samp{nnshimbun} は新しい記事を探すだけではなく、
4434それらの記事のダウンロードも行います。これは新しい記事の検索を遅くします
4435が、記事を閲覧するときに待たされません。このグループパラメータが設定され
4436ていないか、その値が @code{nil} になっているグループでは、代わりに変
4437数 @code{nnshimbun-pre-fetch-article} の値 (デフォルトは @code{off}) が
4438使われます。
4439
4440@item encapsulate-images
4441@vindex nnshimbun-encapsulate-images
4442このグループパラメータが @code{off} または @code{nil} 以外の何かに設定さ
4443れているグループでは、@samp{nnshimbun} は元の記事に埋め込まれている画像
4444データを MIME の @samp{multipart/related} パートとして記事にはめ込みます。
4445このグループパラメータが設定されていないか、その値が @code{nil} になって
4446いるグループでは、代わりに変数 @code{nnshimbun-encapsulate-images} の値
4447が使われます。この変数 @code{nnshimbun-encapsulate-images} のデフォルト
4448値は、@samp{shimbun} ライブラリによって提供される変
4449数 @code{shimbun-encapsulate-images} の値です (たぶんデフォルト値
4450は @code{t} です)。
4451
4452@item index-range
4453@vindex nnshimbun-index-range
4454グループパラメータ @code{index-range} で、ウェブサーバーから取得される記
4455事の範囲を指定することができます。範囲の指定には以下の値を使ってください:
4456
4457@table @code
4458@item nil
4459@itemx all
4460すべてのページ
4461
4462@item last
4463最新のページだけ
4464@end table
4465
4466@table @samp
4467@item integer N
4468最新の N ページ
4469@end table
4470
4471@samp{Nnshimbun} はサーバー上に存在する目次ページを解析して新しい記事の
4472有無を調べます。サーバーによってはそのような目次ページが複数存在する場合
4473があります。例えば、メーリングリストの記事を提供しているサーバーの場合は、
4474その記事が投稿された日付によって分類された目次になっていることが一般的で
4475す。特に遅い回線を利用している時に、それらすべての巨大な目次を調べるには、
4476相当な時間がかかるでしょう。
4477
4478@samp{Nnshimbun} は前回の接続時に調べた目次については、なるべく調べずに
4479済ませるようになっています。更に時間を節約したい場合は @code{last} を使っ
4480てください。これは @samp{nnshimbun} に、最新の目次だけを参照して新しい記
4481事の検査を行なわせます。
4482
4483グループパラメータ @code{index-range} が設定されていないか、値
4484が @code{nil} になっているグループでは、変
4485数 @code{nnshimbun-index-range} の値 (デフォルトは @code{2}) が使われま
4486す。
4487
4488@item nnshimbun-group-parameters-alist
4489@vindex nnshimbun-group-parameters-alist
4490これは Emacs Lisp 変数で、グループ名の正規表現と @samp{nnshimbun} 用グルー
4491プパラメータの連想リストです。デフォルト値は @code{nil} です。各々の要素
4492は @samp{(REGEXP KEYWORD VALUE KEYWORD VALUE...)} の形式を持ちます。例え
4493ば:
4494
4495@lisp
4496'("^nnshimbun\\+asahi:" index-range all prefetch-articles off
4497  encapsulate-images on expiry-wait 6)
4498@end lisp
4499
4500似た名前を持つ (すなわち、互いに似た性格を持っていそうな) 複数のグループ
4501に対して同じ @samp{nnshimbun} グループパラメータを指定することができるの
4502で、個々のグループに対してそれぞれグループパラメータを設定する代わりに使
4503うことができて便利です。もしグループですでにグループパラメータの設定が行
4504なわれていた場合は、この変数よりもそちらが優先されます。
4505@end table
4506
4507@cindex article expiry
4508@cindex auto-expire
4509@cindex expiry-wait
4510@vindex nnmail-expiry-wait-function
4511@vindex nnmail-expiry-wait
4512@samp{Nnshimbun} には記事の期限切れ消去を行なわせることができま
4513す@footnote{@samp{Nnshimbun} グループで自動期限切れ消去を行なう方法は主
4514に二つあります。一つはグループ名の正規表現 (``^nnshimbun\\+'' で始まらな
4515ければなりません) を変数 @code{gnus-auto-expirable-newsgroups} に追加し
4516て、消去するまでの日数を各グループ毎
4517に @code{nnmail-expiry-wait-function} で指定することです。もう一つは、自
4518動期限切れ消去を行なわせたいたいすべての @samp{nnshimbun} グループで、グ
4519ループパラメータ @code{auto-expire} を @code{t} に設定して、グループパラ
4520メータ @code{expiry-wait} で消去するまでの期限を指定するやり方です。詳し
4521いこと
4522は @xref{Expiring Mail, ,メールの期限切れ消去, gnus-ja, The Gnus
4523manual}, を参照してください。@code{expiry-wait} グループパラメータが設定
4524されていないグループでは、デフォルトの値が適用されます。}。記事が期限切
4525れ消去されると言っても、それが遠隔サーバーから削除されるわけではなく、そ
4526れはずっとそこから取得可能であることを覚えておいてください。消えるのはあ
4527なた自身の @samp{nnshimbun} 用の @acronym{NOV} ファイ
4528ル@footnote{@samp{Nnshimbun} 用の @acronym{NOV} ファイル
4529は ``~/News/shimbun/asahi/national/.overview'' のような名前です。} の、
4530消去される記事に該当する行です。それによってその記事は二度と概略バッファ
4531に現れなくなります。
4532
4533@samp{Nnshimbun} グループで記事の期限切れ消去を行なわない
4534と @acronym{NOV} ファイルが際限無く太り続け、非常に古い記事があたかも存
4535在しているように見えるかもしれません (実際には、それらは新聞社のサーバー
4536で三年前に期限切れ消去されてしまっているかもしれない!)。それを読もうとし
4537ても記事バッファには何も現れないでしょう。一方、メーリングリストの記事を
4538提供しているたいていのサーバーは、一般的に過去の全記事を提供しています。
4539憂愁の彼方に去りし古き良き時代に、あなたが興じた記事を懐かしくうるうるし
4540て読み返すことができるように、そういうグループでは期限切れ消去はさせたく
4541ないと思うかもしれません。
4542
4543他のメールバックエンドと同様に、@samp{nnshimbun} のグループ毎に記事に自
4544動期限切れ消去の印を付けて、残しておく期間を設定することができます。ただ
4545し @samp{nnshimbun} バックエンドと他のメールバックエンドには、少し違いが
4546あります:
4547
4548@itemize @bullet
4549@item
4550第一に、残しておく期間のデフォルト値は以下の優先度で決定されます。グルー
4551プによってデフォルト値が異なるかもしれないことに注意してください。
4552
4553@enumerate
4554@item
4555グループにおける @code{expiry-wait} グループパラメータの値。
4556
4557@item
4558そのグループを対象として、変数 @code{nnmail-expiry-wait-function} を評価
4559することによって得られた値。
4560
4561@item
4562グループに対応する @samp{shimbun} モジュールが提供するデフォルト値。
4563
4564@item
4565変数 @code{nnmail-expiry-wait} の値。
4566@end enumerate
4567
4568@item
4569第二に、変数 @code{nnmail-expiry-wait-function} によって設定される関数に
4570与えられる引数に、``nnshimbun+asahi:national'' のようにバックエンドとサー
4571バーの名前が含まれることです。他のメールバックエンドの場合にはグループ名
4572だけが与えられるのに、です。例を挙げましょう:
4573
4574@lisp
4575(setq nnmail-expiry-wait-function
4576      (lambda (group)
4577        (cond ((string-equal group "ding") 7)
4578              ((string-equal group "nnshimbun+ding:ding") 'never))))
4579@end lisp
4580
4581これは、同じ ding メーリングリスト用に二つのグループがあることを意味しま
4582す: 一つはリストのメンバーとして購読登録しています。もう一つは Gnus タワー
4583のメーリングリストアーカイブから読むためのものです。どうです、なかなか賢
4584いでしょ?  ``ding'' グループのローカルなメールファイルは七日で期限切れ消
4585去され、ローカルディスクの容量が節約されます。しかし二つ目のグループでは、
4586前世紀の記事でさえ読むことができます (それが本当に必要ならば、ですが)。
4587
4588@item
4589第三に、これはあなたに疑念が沸いたときに思い出すことができるように書き留
4590められています: @samp{nnshimbun} グループのすべての記事が期限切れ消去さ
4591れるべきときでも、最新の一通だけは消さずに残しておきます。これはあなたの
4592未練心を満足させるためではなく、次回にこのグループの新しい記事を取得しよ
4593うとしたときに、@samp{nnshimbun} がどこから始めるかを知って、すべての記
4594事を取得し直さないようにするためです。
4595@end itemize
4596
4597@samp{Nnshimbun} の期限切れ消去に関係するグループパラメータと変数は以下
4598の通りです:
4599
4600@table @code
4601@item expiry-wait
4602@cindex expiry-wait
4603どうか混乱なさらないように。@code{expiry-wait} グループパラメータ
4604が @samp{nnshimbun} 専用に作られたグループパラメー
4605タ @code{nnshimbun-group-parameters} の要素の一つとして提供されます。そ
4606れは標準のグループパラメータと同じ名前を持ち、意味も同じです。あなたはど
4607ちらを使っても構いません。もし @samp{nnshimbun} 専用のもの
4608が @code{nil} 以外の値に設定されると、標準のものよりも優先されます。これ
4609は @samp{nnshimbun} に関係するものを ``Gnus Customize'' バッファ (グルー
4610プバッファで @w{@kbd{G c}} をタイプすると現れる) の一箇所に集めるためと、
4611変数 @code{nnshimbun-group-parameters-alist} で一括して管理できるように
4612することを目的に用意したものです@footnote{なぜ @code{auto-expire} など
4613が @samp{nnshimbun} 専用のグループパラメータに含まれないの? という問いに
4614対する答えをすでに用意しています。その答えとは、
4615@code{expiry-wait} が @samp{nnshimbun} バックエンドによって取り扱われる
4616のに対して、@code{auto-expire} は Gnus の中枢が取り扱います。したがって、
4617Gnus が一つの特定のバックエンドのために働く (すなわち、
4618@samp{nnshimbun} 専用のグループパラメータから値を読む) ように Gnus の中
4619枢機能を拡張することは、Gnus の設計ポリシーに反するのです。}。設定できる
4620値は標準のグループパラメータと同様に、時限消去の日数、@code{never} また
4621は @code{immediate} です。
4622
4623@item nnshimbun-keep-unparsable-dated-articles
4624@vindex nnshimbun-keep-unparsable-dated-articles
4625この変数の値が @code{nil} でない場合は、作成された (または到着した) 時刻
4626がわからない記事は期限切れ消去されません。なにしろどのくらい古いのかわか
4627らないんですから。デフォルト値は @code{t} です。@code{nil} に設定すると、
4628期限切れ消去の処理が行なわれるときに、期限がわからない記事でも無条件で消
4629されてしまいます。まあ、年の暮れの大掃除の役には立つことが判明するかもし
4630れません。
4631@end table
4632
4633@node Mew Shimbun
4634@section Mew で新聞を読む
4635
4636Mew Shimbun は @samp{shimbun} と Mew (version 2.1 以降) とともに使うこと
4637を意図した Emacs Lisp プログラムです。Mew, @acronym{APEL} およ
4638び @acronym{FLIM} もインストールされていれば、emacs-w3m をインストールす
4639るときに一緒にインストールされます。
4640
4641@ref{Mew} も参照することをお勧めします。
4642
4643@enumerate
4644@item
4645諸設定
4646
4647以下の各行を @file{~/.mew.el} ファイルの最後に書いてください:
4648
4649@format
4650;;; mew-shimbun のロード、キー定義
4651@end format
4652
4653;; (setq mew-shimbun-use-unseen t) ;; @footnote{未読管理をするときはコメ
4654ントを外してください。この変数は必ず @code{(require 'mew-shimbun)} の前
4655で設定しないといけません。}
4656@format
4657(require 'mew-shimbun)
4658(define-key mew-summary-mode-map "G"  (make-sparse-keymap))
4659(define-key mew-summary-mode-map "Gg" 'mew-shimbun-goto-folder)
4660(define-key mew-summary-mode-map "GG" 'mew-shimbun-goto-unseen-folder)
4661(define-key mew-summary-mode-map "Gi" 'mew-shimbun-retrieve)
4662(define-key mew-summary-mode-map "GI" 'mew-shimbun-retrieve-all)
4663(define-key mew-summary-mode-map "Gr" 'mew-shimbun-re-retrieve)
4664(define-key mew-summary-mode-map "GR" 'mew-shimbun-re-retrieve-all)
4665(define-key mew-summary-mode-map "Ge" 'mew-shimbun-expire)
4666(define-key mew-summary-mode-map "GE" 'mew-shimbun-expire-all)
4667
4668;; @code{mew-shimbun-folder-groups} に Mew で購読する @samp{shimbun} servers 及び
4669;; group を設定します。それぞれの要素は
4670;; @code{("folder" ("server.group" . range) ...)} の形式です。@code{range} には
4671;; @code{all}, @code{last}, および数字が指定できます。
4672
4673(setq mew-shimbun-folder-groups
4674      '(;; @samp{+shimbun/yomiuri} という folder に @samp{yomiuri.national},
4675        ;; @samp{yomiuri.sports} などを一括して取得します。
4676        ("yomiuri"
4677         ("yomiuri.national" . 2)
4678         ("yomiuri.sports". 2)
4679         ("yomiuri.world". 2))
4680        ;; @samp{+shimbun/security-memo} に @samp{security-memo.memo} を取得します。
4681        ("security-memo"
4682         ("security-memo.memo" . 2))
4683        ("slashdot-jp"
4684         ("slashdot-jp.story" . last))
4685        ;; このように、異なる server の group も一つの folder
4686        ;; (@samp{+shimbun/emacs}) で読むことができます。
4687        ("emacs"
4688         ("airs.wl" . last)
4689         ("emacs-w3m.emacs-w3m" . last))
4690        ;; @samp{+shimbun/hns/arisawa}, @samp{+shimbun/hns/miyoshi} にそれぞれの
4691        ;; 日記を取得します。
4692        ("hns/arisawa"
4693         ("hns.arisawa" . last))
4694        ("hns/miyoshi"
4695         ("hns.miyoshi" . last))))
4696@end format
4697
4698以上で基本的な設定は終了です。他のユーザ定義変数は @code{mew-shimbun} グ
4699ループを @w{@kbd{M-x customize-group}} するか、ソースを見てください。
4700
4701@item
4702記事の購読
4703
4704@enumerate a
4705@item
4706最初の購読
4707
4708上記の設定をしたあと、まず @w{@kbd{G I}} しましょ
4709う (@code{mew-shimbun-retrieve-all})。
4710@code{mew-shimbun-folder-groups} で種々の設定を行なった @samp{shimbun}
4711folder が @samp{+shimbun} 以下に出来ます。また、新たに group を追加した
4712ときも @w{@kbd{G I}} すると便利です。なお、
4713@samp{+shimbun} は @code{mew-shimbun-folder} という変数で好みのものに変
4714更できます。
4715
4716@item
4717@samp{shimbun} folder への移動
4718
4719通常の @kbd{g} (@code{mew-summary-goto-folder}) でも @samp{shimbun}
4720folder への移動はできますが、
4721@w{@kbd{G g}} (@code{mew-shimbun-goto-folder}) を使うと @samp{shimbun}
4722folder 限定で移動できます。また @w{@kbd{C-u G g}} と prefix をつけたとき
4723は、新規記事のある folder (まだ scan をしていない folder) のみ表示します。
4724@w{@kbd{G G}} でも同様です。
4725
4726@item
4727folder 単位での記事の取得
4728
4729@samp{shimbun} folder で @w{@kbd{G i}} (@code{mew-shimbun-retrieve}) す
4730ると、現在の @samp{shimbun} folder で新規記事を取得します。
4731
4732@item
4733更新された記事の取得
4734
4735特定の記事を表示した状態
4736で @w{@kbd{G r}} (@code{mew-shimbun-re-retrieve}) すると、その記事が更新
4737されていたら更新し、同時に新規記事も取得します。@w{@kbd{C-u G r}} とする
4738と、@code{mew-shimbun-mark-re-retrieve} に指定したマーク (デフォルト値
4739は @samp{@@}) の記事の更新を試みます。CNET などで使うと便利でしょう。
4740
4741@w{@kbd{G R}} (@code{mew-shimbun-re-retrieve-all}) では、すべての記事の
4742新規性を調べ取得しなおします。@w{@kbd{C-u G R}} ではリージョンで指定した
4743範囲の記事を対象とします。おそらくハイパー日記システムが稼働している日記
4744サイトでは有意義なコマンドでしょう。
4745@end enumerate
4746
4747@item
4748未読管理
4749
4750@file{~/.mew.el} ファイルで以下の設定を行なっていると、
4751
4752@lisp
4753(setq mew-shimbun-use-unseen t)
4754@end lisp
4755
4756新規に取得した記事に @code{mew-shimbun-mark-unseen} で設定したマーク (デ
4757フォルトは @samp{*}) がつくようになり、読むと自動的に消えます。
4758
4759通常、Mew の summary モードでマークをつける、あるいは消した後、scan をし
4760ないと @file{.mew-cache} ファイルに反映されませんが、@file{~/.mew.el} ファ
4761イルで以下の設定を行なうことにより、
4762
4763@lisp
4764(setq mew-shimbun-use-unseen-cache-save t)
4765@end lisp
4766
4767Mew の終了時や folder の kill 時 (@w{@kbd{C-c C-q}} を使ったと
4768き) に @samp{shimbun} folder は自動的に @file{.mew-cache} ファイルを保存
4769するようになります。ただし、確実
4770@footnote{@code{mew-touch-folder-p} が @code{t} の人はほぼ 100% 保存でき
4771ますが、@code{nil} の人が保存できる可能性はほとんど 0% だと思われます。}
4772に保存するわけではありません。既読になった情報を確実に cache に保存する
4773には、その folder を読み終わったときに @samp{scan update} をする習慣をつ
4774けると良いでしょう。
4775
4776未読に使うマークが @samp{*} じゃダメ、という方は、変
4777数 @code{mew-shimbun-mark-unseen} をカスタマイズしてください (上述)。
4778@w{@kbd{C-u N}} でそのマークを指定すると楽しい未読ライフをおくることがで
4779きると思います。
4780
4781@item
4782期限切れ記事の消去
4783
4784事前に @code{mew-shimbun-expires} を設定しておくと、期限切れ記事の消去を
4785行なうことができます。例えば:
4786
4787@lisp
4788(setq mew-shimbun-expires
4789      '(("yomiuri" . 7)
4790        ("asahi" . 1)
4791        ("slashdot-jp" . 7)
4792        ("emacs" . 7)))
4793@end lisp
4794
4795上記のように設定しておくと、@samp{+shimbun/yomiuri} は 7日、
4796@samp{+shimbun/asahi} は 1日と期限を設定することができます。指定されてい
4797ない @samp{shimbun} folder は消去しません。@w{@kbd{G e}}
4798(@code{mew-shimbun-expire}) でその folder の期限切れ記事を消去します。
4799@w{@kbd{G e}} (@code{mew-shimbun-expire}) で設定したすべての folder で記
4800事の消去を実行します。なお、一度消去した記事は復旧出来ませんので注意して
4801ください。
4802
4803@item
4804未読マークとして @samp{$} を追加する方法
4805
4806@samp{$} マークを新たに作成し、@samp{$} マークを未読マークとして使うには、
4807次の記述を @file{~/.mew.el} ファイルに記述してください。なお、
4808@samp{$} 以外の記号にしたければ、
4809@uref{http://www.mew.org/ml/mew-dist-2.0/msg01251.html} を参照して記述を
4810生成してください。
4811
4812@format
4813;;----------------------------------------------------------------------
4814;;; @samp{$} を未読マークとして使うための記述
4815(setq mew-mark-unseen ?$)
4816(setq mew-shimbun-mark-unseen mew-mark-unseen)
4817(setq mew-mark-show-list (cons mew-mark-unseen mew-mark-show-list))
4818(setq mew-mark-afterstep-spec
4819      (cons (cons mew-mark-unseen '(1 0 1 0 0 0 0))
4820            mew-mark-afterstep-spec))
4821(setq mew-mark-spec
4822      (cons (list mew-mark-unseen "unseen" 0 nil nil nil nil nil)
4823            mew-mark-spec))
4824(setq mew-highlight-mark-keywords
4825      (cons
4826       (cons mew-mark-unseen 'mew-face-mark-unseen)
4827       mew-highlight-mark-keywords))
4828(defface mew-face-mark-unseen
4829  '((((class color) (type tty))
4830     (:foreground "green"))
4831    (((class color) (background light))
4832     (:foreground "deep pink" :bold t :italic t))
4833    (((class color) (background dark))
4834     (:foreground "thistle"))
4835    (t (:bold t)))
4836  "*Face to highlight the unseen mark"
4837  :group 'mew-highlight)
4838(defun mew-summary-unseen (&optional count)
4839  "Put the unseen mark(default is '$') in COUNT times."
4840  (interactive "P")
4841  (mew-mark-put-mark-loop (function mew-summary-unseen-one) count nil))
4842(defun mew-summary-unseen-one (&optional no-msg)
4843  "Put the unseen mark(default is '$') on this message."
4844  (mew-mark-put-mark mew-mark-unseen no-msg))
4845(defun mew-summary-mark-unseen ()
4846  "Change the '*' mark into the '$' mark."
4847  (interactive)
4848  (mew-summary-exchange-mark mew-mark-review mew-mark-unseen))
4849(defun mew-thread-mark-unseen ()
4850  "Put the '$' mark on all messages of the current sub-thread."
4851  (interactive)
4852  (mew-thread-mark mew-mark-unseen))
4853
4854(define-key mew-summary-mode-map "$"  'mew-summary-unseen)
4855(define-key mew-summary-mode-map "m$" 'mew-summary-mark-unseen)
4856(define-key mew-summary-mode-map "t$" 'mew-thread-mark-unseen)
4857;;----------------------------------------------------------------------
4858@end format
4859@end enumerate
4860
4861@node Shimbun with Wanderlust
4862@section Wanderlust で新聞を読む
4863
4864Wanderlust には ELMO モジュールの一つとして @samp{elmo-shimbun} が含まれ
4865ているので、名前が @samp{@@} で始まるフォルダにアクセスするだけ
4866で @samp{shimbun} を読むことができます (@pxref{Shimbun Folder, ,Shimbun
4867Folder, wl-ja, The Wanderlust-ja Manual})。
4868
4869@node Shimbun local mode
4870@section 新聞の取得にシェルスクリプトを使う
4871
4872たくさんの新聞を読んでいると、新しい記事をチェックするのにいくらか時間が
4873かかるでしょう。それは emacs-w3m が索引を一つずつ取得するからです。これ
4874を高速に行ないたいなら、索引の取得にシェルスクリプトを使うことができます。
4875スクリプトは手動で (例えば Emacs の中から) 作動させても良いし、cron のよ
4876うなスケジューラを介して自動で走らせることもできます。索引は特別な名前の
4877ファイルにセーブされ、その後 emacs-w3m は w3m を呼ぶ代わりにそれらのファ
4878イルを使うようになります。
4879
4880以下の変数で、その「ローカルモード」を制御します:
4881
4882@table @code
4883@item shimbun-use-local
4884@vindex shimbun-use-local
4885これを @code{t} に設定することによってローカルモードを有効にします。そう
4886すると、もしローカルファイルとして索引が用意できていれば、emacs-w3m は最
4887初にそれをチェックします。もしそれが見つからなかったら、通常通り w3m を
4888通して取得します。
4889
4890@item shimbun-local-path
4891@vindex shimbun-local-path
4892新聞の (索引の) ファイルを格納するディレクトリです。デフォルト
4893は @code{w3m-default-save-directory} です。
4894@end table
4895
4896索引のためのファイルの名前は、URL の MD5 を最初の 10 文字に切り詰めたも
4897のの後ろに @samp{_shimbun} という文字列をくっつけたものになります。次の
4898ように Emacs で簡単に索引のためのファイルを生成することができます:
4899
4900@lisp
4901(concat (substring (md5 "http://example/feed") 0 10) "_shimbun")
4902@end lisp
4903
4904@findex nnshimbun-generate-download-script
4905Gnus と @samp{nnshimbun} を使っている人たちのために、シェルスクリプトを
4906生成する関数がすでにあります。それを使って、現在購読しているすべて
4907の shimbun グループの索引をダウンロードすることができます。単
4908に @code{nnshimbun-generate-download-script} を呼んでください。すると新
4909しいバッファにシェルスクリプトが生成されるので、後でセーブしてください。
4910接頭引数を付けてその関数を呼ぶと、索引の取得を並行して行なうために、すべ
4911ての w3m 呼び出しに @samp{&} を付けます。
4912
4913@node Shimbun Sites
4914@section 新聞が読めるサイト
4915
4916@samp{Shimbun} ライブラリが対応しているサイトの一覧表です。
4917
4918@menu
4919* Newspapers Supported by Shimbun::     新聞社
4920* News Sites Supported by Shimbun::     ニュースサイト
4921* Mailing Lists Supported by Shimbun::  メーリングリスト
4922* Sport Sites Supported by Shimbun::    スポーツ
4923* Misc Sites Supported by Shimbun::     その他
4924@end menu
4925
4926@node Newspapers Supported by Shimbun
4927@subsection 新聞社
4928
4929@samp{Shimbun} ライブラリが対応している新聞社です。
4930
4931@table @asis
4932@item @uref{http://www.asahi.com/, 朝日新聞}
4933asahi.book asahi.book.column asahi.book.news asahi.book.paperback
4934asahi.book.review asahi.book.special asahi.business asahi.car
4935asahi.culture asahi.digital asahi.editorial asahi.edu asahi.english
4936asahi.food asahi.health asahi.housing asahi.igo asahi.international
4937asahi.international.asia asahi.international.column
4938asahi.international.special asahi.international.world asahi.job
4939asahi.kansai asahi.kansai.entertainment asahi.kansai.kokoro
4940asahi.kansai.sumai asahi.kansai.taberu asahi.komimi asahi.life
4941asahi.life.column asahi.national asahi.politics asahi.rss asahi.science
4942asahi.shopping asahi.shopping.column asahi.shopping.yakimono
4943asahi.shougi asahi.sports asahi.sports.baseball asahi.sports.battle
4944asahi.sports.etc asahi.sports.football asahi.sports.golf
4945asahi.sports.rugby asahi.sports.usa asahi.sports.winter asahi.tenjin
4946asahi.travel asahi.wakata
4947
4948これらのグループは、デフォルトでテキストだけの記事を作ります。それらに、
4949テキストだけでなく写真をも含む HTML の記事を生成させたいならば、以下の行
4950を @file{~/.emacs} ファイルに加えてください。
4951
4952@lisp
4953(setq shimbun-asahi-prefer-text-plain nil)
4954@end lisp
4955
4956一方、HTML の記事を作るために @samp{asahi-html} バックエンドを使うことも
4957できます。それを使うには、例えばグループ名とし
4958て @samp{asahi.business} の代わりに @samp{asahi-html.business} を指定し
4959てください。
4960
4961@item @uref{http://mytown.asahi.com/, 朝日新聞}
4962asahi-mytown.(hokkaido@dots{}okinawa)
4963
4964日本の全都道府県を網羅する朝日新聞の地方版です。
4965
4966@item @uref{http://www.bbc.co.uk/, BBC}
4967bbc.news
4968
4969@item @uref{http://www.welt.de/, ディー・ヴェルト}
4970welt-de.news
4971
4972@item @uref{http://www.zeit.de/, ディー・ツァイト}
4973zeit-de.auto zeit-de.computer zeit-de.deutschland zeit-de.feuilleton
4974zeit-de.gesundheit zeit-de.international zeit-de.leben zeit-de.literatur
4975zeit-de.musik zeit-de.news zeit-de.reisen zeit-de.schule zeit-de.sport
4976zeit-de.studium zeit-de.wirtschaft zeit-de.wissen zeit-de.zuender
4977
4978@item @uref{http://www.nikkan-gendai.com/, 日刊ゲンダイ}
4979nikkangendai.top nikkangendai.news nikkangendai.geino
4980nikkangendai.sports nikkangendai.life nikkangendai.book
4981nikkangendai.gourmet
4982
4983@item @uref{http://mainichi.jp/, 毎日jp}
4984@itemx (2007年10月に MSN から自社サイトに移行)
4985mainichi.flash mainichi.sports mainichi.entertainment mainichi.mantan
4986mainichi.electronics mainichi.weekly mainichi.opinion.editorial
4987mainichi.opinion.yoroku mainichi.opinion.hasshinbako
4988mainichi.opinion.eye mainichi.opinion.hito mainichi.opinion.kinji
4989mainichi.opinion.yuraku mainichi.opinion.closeup
4990mainichi.opinion.kaisetsu mainichi.opinion.newsup
4991mainichi.opinion.jidainokaze mainichi.entertainment.art
4992mainichi.fuchisou
4993
4994これらのグループは、デフォルトで写真をも含む HTML の記事を作ります。それ
4995らに、テキストだけの記事を生成させたいならば、以下の行
4996を @file{~/.emacs} ファイルに加えてください。
4997
4998@lisp
4999(setq shimbun-mainichi-prefer-text-plain t)
5000@end lisp
5001
5002@item @uref{http://www.nytimes.com/, ニューヨークタイムズ}
5003nytimes.homepage nytimes.news.business
5004nytimes.news.business.media&advertising
5005nytimes.news.business.worldbusiness nytimes.news.business.smallbusiness
5006nytimes.news.business.yourmoney nytimes.news.business.dealbook
5007nytimes.news.education nytimes.news.health nytimes.news.health.policy
5008nytimes.news.health.psychology nytimes.news.world
5009nytimes.news.world.africa nytimes.news.world.americas
5010nytimes.news.world.asia nytimes.news.world.europe
5011nytimes.news.world.middleeast nytimes.news.us nytimes.news.newyork
5012nytimes.news.newyork.thecity nytimes.news.newyork.metro
5013nytimes.news.obituaries nytimes.news.science nytimes.news.science.earth
5014nytimes.news.science.nutrition nytimes.news.science.space
5015nytimes.news.sports nytimes.news.sports.basketball.college
5016nytimes.news.sports.football.college nytimes.news.sports.golf
5017nytimes.news.sports.hockey nytimes.news.sports.other
5018nytimes.news.sports.baseball.pro nytimes.news.sports.basketball.pro
5019nytimes.news.sports.football.pro nytimes.news.sports.soccer
5020nytimes.news.technology nytimes.news.technology.bits
5021nytimes.news.technology.circuits nytimes.news.technology.pogue
5022nytimes.news.washington nytimes.features.arts
5023nytimes.features.arts.design nytimes.features.arts.music
5024nytimes.features.arts.television nytimes.features.automobiles
5025nytimes.features.books nytimes.features.books.review
5026nytimes.features.dining&wine nytimes.features.fashion
5027nytimes.features.fashion.thursdaystyles
5028nytimes.features.fashion.weddings nytimes.features.home&garden
5029nytimes.features.jobs nytimes.features.magazine
5030nytimes.features.movie.news nytimes.features.movie.reviews
5031nytimes.features.realestate nytimes.features.theater
5032nytimes.features.travel nytimes.features.travel.escapes
5033nytimes.features.week_in_review nytimes.additional.pop_top
5034nytimes.opinion.editorial
5035
50362007年9月19日、ニューヨークタイムズは無料でニュース記事を提供し始めまし
5037た。@samp{charset=iso-8859-1} と言ったのにもかかわらず、このサイトはしば
5038しば @code{iso-8859-1} の上位互換文字セットである @code{windows-1252} を
5039使います。使用している (X)Emacs に @code{windows-1252} coding system が
5040あれば、@samp{shimbun} は (そして emacs-w3m も) そのような場合でも動作し
5041ます。
5042
5043@item @uref{http://www.nikkansports.com/, 日刊スポーツ}
5044nikkansports.flash nikkansports.baseball
5045nikkansports.baseball.highschool nikkansports.baseball.amateur
5046nikkansports.baseball.mlb nikkansports.soccer nikkansports.soccer.japan
5047nikkansports.soccer.world nikkansports.sports nikkansports.sumo
5048nikkansports.nba nikkansports.nfl nikkansports.nhl nikkansports.rugby
5049nikkansports.golf nikkansports.motor nikkansports.battle
5050nikkansports.race nikkansports.race.kka nikkansports.entertainment
5051nikkansports.cinema nikkansports.general
5052
5053@item @uref{http://www.nikkei.co.jp/, 日本経済新聞}
5054nikkei.top nikkei.main nikkei.keizai nikkei.sangyo nikkei.tento
5055nikkei.kansai nikkei.it.business nikkei.it.busi_gyoukai
5056nikkei.it.biz-system nikkei.it.sox nikkei.it.data nikkei.it.taidan
5057nikkei.it.internet nikkei.it.broad nikkei.it.net_gyoukai nikkei.it.iptel
5058nikkei.it.tele nikkei.it.broadcast nikkei.it.internet-column
5059nikkei.it.contents nikkei.it.ec nikkei.it.policy nikkei.it.e-gov
5060nikkei.it.mobile nikkei.it.mob_gyoukai nikkei.it.mobsoft
5061nikkei.it.mobcon nikkei.it.money nikkei.it.one nikkei.it.security
5062nikkei.it.net_crime nikkei.it.digital nikkei.it.pc nikkei.kokunai
5063nikkei.markets nikkei.kawase nikkei.kinri nikkei.ft nikkei.dj
5064nikkei.ngyoseki nikkei.gyosuuchi nikkei.gyoseki nikkei.china
5065nikkei.market nikkei.kaigai nikkei.seiji nikkei.shakai nikkei.retto
5066nikkei.sports nikkei.newpro nikkei.release nikkei.release.it.comp
5067nikkei.release.it.peri nikkei.release.it.sys nikkei.release.it.cont
5068nikkei.release.it.net nikkei.release.it.lsi nikkei.release.it.game
5069nikkei.release.it.etc nikkei.release.dist.depart
5070nikkei.release.dist.ryohan nikkei.release.dist.zakka
5071nikkei.release.dist.cosme nikkei.release.dist.car
5072nikkei.release.dist.book nikkei.release.dist.record
5073nikkei.release.dist.food nikkei.release.dist.mercha
5074nikkei.release.dist.mail nikkei.release.dist.netshop
5075nikkei.release.dist.etc nikkei.release.money.bank
5076nikkei.release.money.sec nikkei.release.money.am
5077nikkei.release.money.insu nikkei.release.money.etc
5078nikkei.release.maker.chemi nikkei.release.maker.mecha
5079nikkei.release.maker.car nikkei.release.maker.elec
5080nikkei.release.maker.food nikkei.release.maker.sports
5081nikkei.release.maker.apparel nikkei.release.maker.commu
5082nikkei.release.maker.etc nikkei.release.service.medic
5083nikkei.release.service.rest nikkei.release.service.trans
5084nikkei.release.service.energy nikkei.release.service.enter
5085nikkei.release.service.env nikkei.release.service.consul
5086nikkei.release.service.edu nikkei.release.service.haken
5087nikkei.release.service.life nikkei.release.service.media
5088nikkei.release.service.lease nikkei.release.service.travel
5089nikkei.release.service.etc nikkei.release.const.const
5090nikkei.release.const.house nikkei.release.const.etc nikkei.shasetsu
5091
5092@item @uref{http://www.sankei.com/, 産経ニュース}
5093sankei.top sankei.flash sankei.affairs sankei.politics sankei.world
5094sankei.economy sankei.sports sankei.entertainments sankei.life
5095sankei.column sankei.column.editorial sankei.column.seiron
5096sankei.column.sankeisyo sankei.column.naniwa sankei.west
5097sankei.west.essay
5098
5099@item @uref{http://www.spiegel.de/, Spiegel Online}
5100spiegel.news
5101
5102@item @uref{http://www.sponichi.co.jp/, スポニチ}
5103sponichi.baseball sponichi.soccer sponichi.usa sponichi.others
5104sponichi.society sponichi.entertainment sponichi.horseracing
5105
5106@item @uref{http://www.sueddeutsche.de/, 南ドイツ新聞}
5107sueddeutsche-de.alles sueddeutsche-de.nachrichten
5108sueddeutsche-de.politik sueddeutsche-de.wirtschaft
5109sueddeutsche-de.finanzen sueddeutsche-de.kino sueddeutsche-de.kultur
5110sueddeutsche-de.sport sueddeutsche-de.muenchen sueddeutsche-de.panorama
5111sueddeutsche-de.leben sueddeutsche-de.gesundheit
5112sueddeutsche-de.computer
5113
5114@item @uref{http://www.yomiuri.co.jp/, 讀売新聞}
5115yomiuri.atmoney yomiuri.editorial yomiuri.entertainment yomiuri.iryou
5116yomiuri.kyoiku yomiuri.kyoiku.children yomiuri.kyoiku.english
5117yomiuri.kyoiku.qanda yomiuri.kyoiku.renaissance yomiuri.kyoiku.special
5118yomiuri.national yomiuri.politics yomiuri.science yomiuri.sports
5119yomiuri.world
5120
5121これらのグループは、デフォルトでテキストだけの記事を作ります。それらに、
5122テキストだけでなく写真をも含む HTML の記事を生成させたいならば、以下の行
5123を @file{~/.emacs} ファイルに加えてください。
5124
5125@lisp
5126(setq shimbun-yomiuri-prefer-text-plain nil)
5127@end lisp
5128
5129一方、HTML の記事を作るために @samp{yomiuri-html} バックエンドを使うこと
5130もできます。それを使うには、例えばグループ名とし
5131て @samp{yomiuri.atmoney} の代わりに @samp{yomiuri-html.atmoney} を指定
5132してください。
5133
5134@item @uref{http://kyoko-np.net/, 虚構新聞}
5135kyoko-np.rss
5136@end table
5137
5138@node News Sites Supported by Shimbun
5139@subsection ニュースサイト
5140
5141@samp{Shimbun} ライブラリが対応しているニュースサイトです。
5142
5143@table @asis
5144@item @uref{http://english.aljazeera.net/, Al Jazeera}
5145aljazeera.news aljazeera.africa aljazeera.america aljazeera.asia-pacific
5146aljazeera.central-asia aljazeera.europe aljazeera.middle-east
5147aljazeera.focus aljazeera.business aljazeera.sport aljazeera.programmes
5148
5149@item @uref{http://news.com.com/, CNET}
5150cnet.news cnet.enterprise.software cnet.enterprise.hardware
5151cnet.security cnet.networking cnet.personal.technology cnet.newsmakers
5152cnet.perspectives
5153
5154@item @uref{http://japan.cnet.com/, CNET Japan}
5155cnet-jp.general cnet-jp.news cnet-jp.special cnet-jp.opinion
5156cnet-jp.blog.geetstate cnet-jp.blog.kenn cnet-jp.blog.lessig
5157cnet-jp.blog.matsumura cnet-jp.blog.nakajima cnet-jp.blog.saeki
5158cnet-jp.blog.sakamoto cnet-jp.blog.sasaki cnet-jp.blog.sentan
5159cnet-jp.blog.staff cnet-jp.blog.takawata cnet-jp.blog.watanabe
5160
5161@item @uref{http://www.cnn.co.jp/, CNN Japan}
5162cnn-jp.business cnn-jp.fringe cnn-jp.science cnn-jp.showbiz
5163cnn-jp.sports cnn-jp.top cnn-jp.usa cnn-jp.world
5164
5165@item @uref{http://www.de-bug.de/, De-Bug Magazine}
5166debugmagazin-de.frontpage debugmagazin-de.musik debugmagazin-de.reviews
5167debugmagazin-de.magazin debugmagazin-de.medien debugmagazin-de.podcast
5168debugmagazin-de.musiktechnik debugmagazin-de.screen
5169debugmagazin-de.gadgets debugmagazin-de.games debugmagazin-de.mode
5170
5171@item @uref{http://japanese.engadget.com/, Engadget Japanese}
5172engadget-ja.top
5173
5174@item @uref{http://www.excite.co.jp/, エキサイト ニュース}
5175excite.bit-koneta excite.world-odd
5176
5177@item @uref{http://www.fau.org/, 自由労働者同盟ドイツ}
5178fau.news
5179
5180@item @uref{http://www.heise.de/, ハイゼ・オンライン}
5181heise.news heise.telepolis
5182
5183@item @uref{http://news.infoshop.org/, Infoshop News}
5184infoshop.news
5185
5186@item @uref{http://www.watch.impress.co.jp/, インプレス}
5187impress.enterprise impress.pc impress.dc impress.akiba impress.av
5188impress.game impress.k-tai impress.internet impress.bb impress.forest
5189impress.robot impress.kaden impress.car
5190
5191@item @uref{http://www.itmedia.co.jp/, ITmedia}
5192itmedia.news.bursts itmedia.news.domestic itmedia.news.foreign
5193itmedia.news.products itmedia.news.technology itmedia.news.web20
5194itmedia.news.nettopics itmedia.news.society itmedia.news.security
5195itmedia.news.industry itmedia.news.research itmedia.news.sp_amd
5196itmedia.anchordesk itmedia.bizid itmedia.enterprise itmedia.+D.plusd
5197itmedia.+D.mobile itmedia.+D.pcupdate itmedia.+D.lifestyle
5198itmedia.+D.games itmedia.+D.docomo itmedia.+D.au_kddi
5199itmedia.+D.vodafone itmedia.+D.shopping
5200itmedia.+D.lifestyle.column.asakura itmedia.+D.lifestyle.column.honda
5201itmedia.+D.lifestyle.column.kobayashi itmedia.+D.lifestyle.column.kodera
5202itmedia.+D.lifestyle.column.nishi itmedia.+D.lifestyle.column.ogikubo
5203itmedia.+D.lifestyle.column.tachibana
5204itmedia.+D.lifestyle.column.takemura itmedia.+D.lifestyle.column.unakami
5205
5206@item @uref{http://www.japantimes.co.jp/, Japan Times}
5207japantimes.general japantimes.business
5208
5209@item @uref{http://www.laut.de/, LAUT AG}
5210laut-de.news laut-de.platten laut-de.platten_alternative
5211laut-de.platten_dance laut-de.platten_hiphop platten_jazz
5212laut-de.platten_metal laut-de.platten_pop laut-de.platten_rnb
5213laut-de.platten_rock
5214
5215@item @uref{http://www.n24.de/, N24}
5216n24-de.boerse n24-de.boulevard n24-de.nachrichten n24-de.netnews
5217n24-de.politik n24-de.sport n24-de.wirtschaft
5218
5219@item @uref{http://opentechpress.jp/, Open Tech Press}
5220opentechpress-jp.general opentechpress-jp.enterprise
5221opentechpress-jp.opensource opentechpress-jp.security
5222opentechpress-jp.news opentechpress-jp.pr
5223
5224@item @uref{http://www.perlentaucher.de/, Perlentaucher (真珠採り)}
5225perlentaucher-de.aktuell
5226
5227@item @uref{http://www.rediff.com/, Rediff.com}
5228rediff.news
5229
5230@item @uref{http://www.slashdot.org/, Slashdot}
5231slashdot.frontpage slashdot.apple slashdot.askslashdot slashdot.books
5232slashdot.developers slashdot.games slashdot.hardware slashdot.interviews
5233slashdot.IT slashdot.linux slashdot.mobile slashdot.politics
5234slashdot.science
5235
5236Slashdot shimbun のコメントの部分を設定するための以下の変数があります:
5237
5238@table @code
5239@item shimbun-slashdot-get-comments
5240@vindex shimbun-slashdot-get-comments
5241もし @code{t} に設定されていると (それがデフォルトです)、すべての記事の
5242コメントを取得します。それらはフォームフィード文字 (``^L'' のこと) でイ
5243ントロ・テキストから分離されます。それらを見るには、いつものように記事バッ
5244ファをスクロールしてください (Gnus では ``Next page'' ボタン
5245と ``Previous page'' ボタンを使うことができます)。この変数
5246を @code{nil} に設定すると、記事のコメントを取得しなくなります。
5247
5248@item shimbun-slashdot-comment-threshold
5249@vindex shimbun-slashdot-comment-threshold
5250表示されるコメントの閾値です (デフォルトは 3)。-1 (すべてのコメント) か
5251ら 5 (最高レート) までの間の数にしてください。
5252
5253@item shimbun-slashdot-comment-display
5254@vindex shimbun-slashdot-comment-display
5255コメントを表示する形式です (デフォルトは ``flat'')。``flat''、
5256``thread'' または ``nested'' のどれかにしてください。これはシンボルでは
5257なく文字列でなければなりません。
5258@end table
5259
5260@item @uref{http://slashdot.jp/, Slashdot Japan}
5261slashdot-jp.story slashdot-jp.askslashdot slashdot-jp.bookreview
5262slashdot-jp.bsd slashdot-jp.developers slashdot-jp.interview
5263slashdot-jp.linux slashdot-jp.mac slashdot-jp.mobile slashdot-jp.science
5264slashdot-jp.security slashdot-jp.slash slashdot-jp.it
5265slashdot-jp.hardware slashdot-jp.diary.oliver
5266
5267変数 @code{shimbun-slashdot-jp-group-alist} に適切な設定を加えると、その
5268他のユーザーの日記も閲覧できます。
5269
5270@item @uref{http://techon.nikkeibp.co.jp/, Tech-On! 日経BP社}
5271tech-on.latestnews tech-on.mobile tech-on.bbint tech-on.d-ce tech-on.AT
5272tech-on.edaonline tech-on.device tech-on.lsi tech-on.silicon
5273tech-on.observer tech-on.fpd tech-on.mono tech-on.embedded tech-on.mecha
5274tech-on.MEMS tech-on.nano tech-on.carele tech-on.board tech-on.mcu
5275tech-on.PLM tech-on.memory tech-on.measurement tech-on.column.mot
5276
5277Tech-On! は日経BP社が提供する技術ニュースサイトです。以前は記事の内容を
5278全部読むためにログイン・アカウント (無料) が必要でしたが、少なくと
5279も 2007年の秋においては要らないように見えます。将来もし再び必要になった
5280ら @uref{http://techon.nikkeibp.co.jp/guide/inf_regi.html,
5281登録ページ} に行って取得してください。次の二つの変数で、どうやってログイ
5282ンするかを制御します:
5283
5284@table @code
5285@item shimbun-tech-on-user-name
5286@vindex shimbun-tech-on-user-name
5287Tech-On! にログインするためのユーザー名です。@code{nil} だと Tech-On! に
5288ログインするときに、ユーザー名の入力を要求されます。文字列だったらそれが
5289ユーザー名として使われ、入力を要求されることはありません。@code{nil} で
5290も文字列でもない場合 (これがデフォルトです)、ログインを行ないません。
5291
5292@item shimbun-tech-on-password
5293@vindex shimbun-tech-on-password
5294Tech-On! にログインするためのパスワードです。@code{nil} だと Tech-On! に
5295ログインするときに、パスワードの入力を要求されます。文字列だったらそれが
5296パスワードとして使われ、入力を要求されることはありません。@code{nil} で
5297も文字列でもない場合 (これがデフォルトです)、ログインを行ないません。
5298@end table
5299
5300これらの入力は、その Emacs セッションで最初に Tech-On! の記事を読み始め
5301るときに一回だけ要求されます。
5302
5303@item @uref{http://hotwired.goo.ne.jp/, HotWired Japan}
5304wired-jp.news wired-jp.business wired-jp.culture wired-jp.technology
5305wired-jp.blog.ogura wired-jp.blog.sasaki wired-jp.blog.takahashi
5306
5307@item @uref{http://headlines.yahoo.co.jp/, Yahoo! Japan}
5308yahoo.topnews yahoo.news yahoo.politics yahoo.society yahoo.people
5309yahoo.business-all yahoo.market yahoo.stock yahoo.industry
5310yahoo.international yahoo.entertainment yahoo.sports yahoo.computer
5311yahoo.zenkoku yahoo.hokkaido yahoo.aomori yahoo.iwate yahoo.miyagi
5312yahoo.akita yahoo.yamagata yahoo.fukushima yahoo.tokyo yahoo.kanagawa
5313yahoo.chiba yahoo.saitama yahoo.ibaraki yahoo.tochigi yahoo.gunma
5314yahoo.yamanashi yahoo.nagano yahoo.niigata yahoo.toyama yahoo.ishikawa
5315yahoo.fukui yahoo.aichi yahoo.gifu yahoo.shizuoka yahoo.mie yahoo.osaka
5316yahoo.hyogo yahoo.kyoto yahoo.shiga yahoo.nara yahoo.wakayama
5317yahoo.tottori yahoo.shimane yahoo.okayama yahoo.hiroshima
5318yahoo.yamaguchi yahoo.tokushima yahoo.kagawa yahoo.ehime yahoo.kochi
5319yahoo.fukuoka yahoo.saga yahoo.nagasaki yahoo.kumamoto yahoo.oita
5320yahoo.miyazaki yahoo.kagoshima yahoo.okinawa
5321
5322yahoo.news グループは主要な記事と、さらに速報記事を検索します。これらの
5323グループは、デフォルトで HTML の記事を作ります。それらにテキストだけの記
5324事を生成させたいならば、以下の行を @file{~/.emacs} ファイルに加えてくだ
5325さい。
5326
5327@lisp
5328(setq shimbun-yahoo-prefer-text-plain t)
5329@end lisp
5330
5331@item @uref{http://japan.zdnet.com/, ZDNet Japan}
5332zdnet-jp.news zdnet-jp.news.network zdnet-jp.news.hardware
5333zdnet-jp.news.software zdnet-jp.news.manage zdnet-jp.news.security
5334zdnet-jp.news.internet zdnet-jp.news.os zdnet-jp.news.db
5335zdnet-jp.news.system zdnet-jp.column zdnet-jp.column.sp1
5336zdnet-jp.column.netsecurity1 zdnet-jp.column.ea1 zdnet-jp.column.btl
5337zdnet-jp.column.solutionIT zdnet-jp.channel.security
5338zdnet-jp.channel.ilm zdnet-jp.blog.iida zdnet-jp.blog.mhatta
5339zdnet-jp.blog.kurei zdnet-jp.blog.opensource zdnet-jp.blog.soa
5340zdnet-jp.blog.dp
5341
5342@item @uref{http://www.theonion.com/, The Onion}
5343the-onion.news
5344@end table
5345
5346@node Mailing Lists Supported by Shimbun
5347@subsection メーリングリスト
5348
5349最近では、メーリングリストに投稿された過去記事のアーカイブが WEB 上に幾
5350つも公開されています。@samp{Shimbun} ライブラリは、以下のアーカイブを扱
5351うことができます。
5352
5353@table @asis
5354@item @uref{http://lists.airs.net/semi-gnus/archive/, Semi-gnus Mailing List in Japan}
5355airs.semi-gnus-ja
5356
5357@item @uref{http://lists.airs.net/, Wanderlust Mailing List}
5358airs.wl airs.wl-en
5359
5360@item @uref{http://www.rc.tutrp.tut.ac.jp/bbdb-ml/, Big Brother DataBase Mailing List}
5361bbdb-ml.bbdb-ml
5362
5363@item @uref{http://mail.gnome.org/archives/, GNOME Mailing List}
5364gnome.balsa-list gnome.calendar-list gnome.cvs-commits-list
5365gnome.foundation-announce gnome.foundation-list gnome.fplan-list
5366gnome.gconf-list gnome.gdome gnome.gnome-1.4-list
5367gnome.gnome-announce-list gnome.gnome-components-list
5368gnome.gnome-db-list gnome.gnome-de gnome.gnome-debugger-list
5369gnome.gnome-devel-list gnome.gnome-doc-list gnome.gnome-gui-list
5370gnome.gnome-hackers gnome.gnome-hackers-readonly
5371gnome.gnome-hackers-test gnome.gnome-i18n gnome.gnome-i18n-tools
5372gnome.gnome-kde-list gnome.gnome-list gnome.gnome-office-list
5373gnome.gnome-pilot-list gnome.gnome-sound-list gnome.gnome-themes-list
5374gnome.gnome-ui-hackers gnome.gnome-web-list gnome.gnome-webmaster-list
5375gnome.gnome-workshop-list gnome.gnomecc-list gnome.gnumeric-list
5376gnome.gtk-app-devel-list gnome.gtk-devel-list gnome.gtk-doc-list
5377gnome.gtk-i18n-list gnome.gtk-list gnome.gtk-perl-list
5378gnome.guppi-list gnome.libart gnome.libart-hackers gnome.orbit-list
5379gnome.vote gnome.wm-spec-list gnome.xml gnome.xslt
5380
5381@item @uref{http://www.java-conf.gr.jp/archives/, Java カンファレンス Mailing List}
5382javaconf.servlet-ml javaconf.business-ml
5383javaconf.duke-in-the-box-ml javaconf.jfriends-ml javaconf.JGT-ml
5384javaconf.jini-ml javaconf.ejb-ml javaconf.cm-ml javaconf.horb-ml
5385javaconf.talk-ml
5386
5387@item @uref{http://www.peanuts.gr.jp/~kei/ml-archive/, LinuxCE JP Mailing List}
5388linuxce-jp.users
5389
5390@item @uref{http://www.m17n.org/, Mule Mailing List}
5391m17n.mule-ja m17n.mule
5392
5393@item @uref{http://www.ysnb.net/meadow/, Meadow Mailing List}
5394meadow.meadow-develop meadow.meadow-users-jp
5395
5396@item @uref{http://www.mew.org/ml/, Mew Mailing List}
5397mew.mew-dist mew.mew-win32 mew.mew-int
5398
5399@item @uref{http://www.mew.org/ml/, MagicPoint Mailing List}
5400mew.mgp-users mew.mgp-users-jp
5401
5402@item @uref{http://www.namazu.org/cgi-bin/mailman/listinfo, www.namazu.org Mailing Lists}
5403namazu.kakasi-commits namazu.kakasi-dev namazu.migemo
5404namazu.namazu-users-en namazu.namazu-users-ja
5405namazu.namazu-devel-ja namazu.namazu-devel-en
5406namazu.namazu-win32-users-ja namazu.sary
5407
5408@item @uref{http://emacs-w3m.namazu.org/ml/, emacs-w3m Mailing List}
5409emacs-w3m.emacs-w3m
5410
5411@item @uref{http://www.jp.netbsd.org/ja/JP/ml/, NetBSD JP Mailing List}
5412netbsd.announce-ja netbsd.junk-ja netbsd.tech-misc-ja
5413netbsd.tech-pkg-ja netbsd.port-arm32-ja netbsd.port-hpcmips-ja
5414netbsd.port-mac68k-ja netbsd.port-mips-ja netbsd.port-powerpc-ja
5415netbsd.hpcmips-changes-ja netbsd.members-ja netbsd.admin-ja
5416netbsd.www-changes-ja
5417
5418@item @uref{http://blade.nagaokaut.ac.jp/, Ruby Mailing List}
5419ruby.comp.lang.ruby ruby.fj.comp.lang.ruby
5420ruby.ruby-dev ruby.ruby-ext ruby.ruby-list ruby.ruby-math
5421ruby.ruby-talk
5422
5423@item @uref{http://linux.toshiba-dme.co.jp/ML/tlinux-users-j/, Toshiba Linux Users JP Mailing List}
5424toshiba.linux-users-j
5425
5426@item @uref{http://mi.med.tohoku.ac.jp/~satodai/w3m-dev/, w3m-dev Mailing List}
5427w3m-dev.w3m-dev w3m-dev.w3m-dev-en
5428
5429@item @uref{http://yar-3.net/digiko/, digiko Mailing List}
5430digiko.digiko
5431
5432@item @uref{http://list-archive.xemacs.org/, XEmacs Mailing List}
5433xemacs.xemacs-announce xemacs.xemacs-beta-ja
5434xemacs.xemacs-beta xemacs.xemacs-build-reports xemacs.xemacs-cvs
5435xemacs.xemacs-design xemacs.xemacs-mule xemacs.xemacs-nt
5436xemacs.xemacs-patches xemacs.xemacs-users-ja xemacs.xemacs
5437
5438@item @uref{http://memo.st.ryukoku.ac.jp/archive/, セキュリティーMEMO Mailing List}
5439security-memo.memo security-memo.free-memo security-memo.social-memo
5440
5441なお、@samp{security-memo.*} はアドレス回収ロボット対策
5442で userid と passowrd を求められるので @file{~/.w3m/passwd} に
5443
5444@example
5445machine memo.st.ryukoku.ac.jp
5446realm input username/password = archives/archives
5447login archives
5448passwd archives
5449
5450machine memo.st.ryukoku.ac.jp
5451realm input user: archives / password: archives
5452login archives
5453passwd archives
5454@end example
5455
5456@noindent
5457と書き、上記ファイルから group, others のアクセス権を取り除いておく必要
5458があります。
5459
5460@item @uref{http://lists.debian.or.jp/, Debian JP Mailing List}
5461debian-jp.debian-announce debian-jp.debian-devel
5462debian-jp.debian-www debian-jp.debian-users debian-jp.debian-policy
5463debian-jp.jp-qa
5464
5465@item @uref{http://lists.debian.org/, Debian Mailing List}
5466debian.debian-announce debian.debian-commercial debian.debian-firewall
5467debian.debian-french debian.debian-isp debian.debian-italian
5468debian.debian-kde debian.debian-laptop debian.debian-news
5469debian.debian-news-german debian.debian-news-portuguese
5470debian.debian-security-announce debian.debian-testing
5471debian.debian-user debian.debian-user-catalan
5472debian.debian-user-french debian.debian-user-polish
5473debian.debian-user-portuguese debian.debian-user-spanish
5474debian.debian-user-swedish debian.debian-admintool
5475debian.debian-apache debian.debian-autobuild debian.debian-beowulf
5476debian.debian-boot debian.debian-cd debian.debian-ctte
5477debian.debian-debbugs debian.debian-devel debian.debian-devel-announce
5478debian.debian-devel-french debian.debian-devel-games
5479debian.debian-devel-spanish debian.debian-doc debian.debian-dpkg
5480debian.debian-emacsen debian.debian-events-eu debian.debian-events-na
5481debian.debian-faq debian.debian-gcc debian.debian-glibc
5482debian.debian-gtk-gnome debian.debian-hams debian.debian-ipv6
5483debian.debian-java debian.debian-jr debian.debian-med
5484debian.debian-mentors debian.debian-newmaint
5485debian.debian-newmaint-admin debian.debian-ocaml-maint
5486debian.debian-openoffice debian.debian-perl debian.debian-pilot
5487debian.debian-policy debian.debian-pool debian.debian-python
5488debian.debian-qa debian.debian-qa-private debian.debian-release
5489debian.debian-security debian.debian-snapshots
5490debian.debian-tetex-maint debian.debian-toolchain debian.debian-vote
5491debian.debian-wnpp debian.debian-www debian.debian-x debian.deity
5492debian.debian-chinese debian.debian-chinese-big5
5493debian.debian-chinese-gb debian.debian-esperanto debian.debian-i18n
5494debian.debian-japanese debian.debian-l10n-catalan
5495debian.debian-l10n-dutch debian.debian-l10n-english
5496debian.debian-l10n-french debian.debian-l10n-italian
5497debian.debian-l10n-portuguese debian.debian-l10n-spanish
5498debian.debian-laespiral debian.debian-russian
5499debian.debian-simplified-chinese debian.debian-68k debian.debian-alpha
5500debian.debian-arm debian.debian-bsd debian.debian-hppa
5501debian.debian-hurd debian.debian-ia64 debian.debian-mips
5502debian.debian-parisc debian.debian-powerpc debian.debian-s390
5503debian.debian-sparc debian.debian-superh debian.debian-ultralinux
5504debian.debian-win32 debian.debian-all-changes
5505debian.debian-alpha-changes debian.debian-arm-changes
5506debian.debian-books debian.debian-cd-vendors debian.debian-changes
5507debian.debian-consultants debian.debian-curiosa
5508debian.debian-devel-all-changes debian.debian-devel-alpha-changes
5509debian.debian-devel-arm-changes debian.debian-devel-changes
5510debian.debian-devel-hurd-i386-changes debian.debian-devel-i386-changes
5511debian.debian-devel-m68k-changes debian.debian-devel-powerpc-changes
5512debian.debian-devel-sparc-changes debian.debian-hurd-i386-changes
5513debian.debian-i386-changes debian.debian-legal
5514debian.debian-m68k-changes debian.debian-mirrors
5515debian.debian-powerpc-changes debian.debian-project
5516debian.debian-publicity debian.debian-sgml debian.debian-sparc-changes
5517debian.lcs-eng debian.lsb-confcall debian.lsb-discuss debian.lsb-impl
5518debian.lsb-spec debian.lsb-test debian.spi-announce debian.spi-general
5519debian.vgui-discuss
5520
5521@item @uref{http://www.kde.gr.jp/ml/, KDE Mailing List in Japan}
5522kde.Kuser kde.Kdeveloper
5523
5524@item @uref{http://www.geocrawler.com/, Geocrawler}
5525Geocrawler に保存されているすべてのメーリングリストを閲覧できます。
5526@w{@kbd{M-x shimbun-geocrawler-add-group @key{RET}}} というコマンドを使っ
5527て、閲覧したいグループを変数 @code{shimbun-geocrawler-group-alist} に登
5528録してください。
5529
5530@item @uref{http://marc.theaimsgroup.com/, Mailing list ARChives}
5531Mailing list ARChives (@acronym{MARC}) に保存されているすべてのメーリン
5532グリストを閲覧できます。閲覧したいグループのグループ名と URL を、
5533変数 @code{shimbun-marc-aims-group-alist} に登録してください。
5534
5535@item @uref{http://sources.redhat.com/ml/, RedHat Mailing List}
5536redhat.automake redhat.bug-automake redhat.automake-prs
5537redhat.automake-cvs redhat.binutils redhat.binutils-cvs
5538redhat.c++-embedded redhat.crossgcc redhat.cgen redhat.cgen-prs
5539redhat.cgen-cvs redhat.cygwin redhat.cygwin-xfree redhat.cygwin-announce
5540redhat.cygwin-xfree-announce redhat.cygwin-apps redhat.cygwin-patches
5541redhat.cygwin-developers redhat.cygwin-cvs redhat.cygwin-apps-cvs
5542redhat.docbook-tools-discuss redhat.docbook-tools-announce
5543redhat.docbook-tools-cvs redhat.docbook redhat.dssslist
5544redhat.sgml-tools redhat.docbook-apps redhat.ecos-announce
5545redhat.ecos-devel redhat.ecos-discuss redhat.ecos-maintainers
5546redhat.ecos-patches redhat.elix redhat.elix-announce redhat.gdb
5547redhat.gdb-announce redhat.gdb-testers redhat.gdb-testresults
5548redhat.gdb-patches redhat.gdb-cvs redhat.bug-gdb redhat.gdb-prs
5549redhat.libc-alpha redhat.libc-hacker redhat.bug-glibc redhat.glibc-cvs
5550redhat.glibc-linux redhat.bug-gnats redhat.gnats-devel
5551redhat.gnats-announce redhat.gnats-cvs redhat.gsl-discuss
5552redhat.gsl-announce redhat.gsl-cvs redhat.guile redhat.guile-emacs
5553redhat.guile-prs redhat.guile-gtk redhat.bug-guile redhat.guile-cvs
5554redhat.guile-emacs-cvs redhat.insight redhat.insight-announce
5555redhat.insight-prs redhat.installshell redhat.inti redhat.kawa
5556redhat.libffi-discuss redhat.libffi-announce redhat.libstdc++
5557redhat.libstdc++-cvs redhat.libstdc++-prs redhat.mauve-discuss
5558redhat.mauve-announce redhat.newlib redhat.pthreads-win32 redhat.rhdb
5559redhat.rhdb-announce redhat.rhug-rhats redhat.rpm2html-cvs
5560redhat.rpm2html-prs redhat.rpm2html redhat.sid redhat.sid-announce
5561redhat.sid-cvs redhat.sourcenav redhat.sourcenav-announce
5562redhat.sourcenav-prs redhat.win32-x11 redhat.xconq7
5563redhat.xconq-announce redhat.xconq-cvs
5564
5565@item @uref{http://www.tech-arts.co.jp/macosx/, MacOSX JP Mailing List}
5566macosx-jp.macosx-jp macosx-jp.macosx-dev-jp
5567macosx-jp.macosx-ws-jp macosx-jp.webobjects-jp
5568
5569@item @uref{http://sourceforge.jp, SourceForge JP}
5570SourceForge JP に保存されているメーリングリストのすべての公開書庫を閲覧
5571できます。閲覧したいグループを
5572変数 @code{shimbun-sourceforge-jp-mailing-lists} に登録してください。
5573
5574@item @uref{http://heimat.jp/~nakaji/elips/, Elips Mailing List}
5575elips.elips
5576
5577@item @uref{http://lists.squeakfoundation.org/pipermail/squeak-ja/, Squeak-ja Mailing List}
5578squeak-ja.main
5579
5580@item @uref{http://www.sra.co.jp/smalltalk/SML/archives/, Smalltalkers' Salon Mailing List}
5581sml.main
5582
5583@item @uref{http://lists.squeakfoundation.org/pipermail/squeak-dev/, Squeak-dev Mailing List}
5584squeak-dev.main
5585
5586@item @uref{http://www.mail-archive.com/plucker-*@@rubberchicken.org/maillist.html, Plucker Mailing List}
5587plucker.announce plucker.list plucker.dev
5588
5589@item @uref{http://www.pilot-link.org/pipermail/, pilot-link Mailing List}
5590pilot-link.announce pilot-link.devel pilot-link.general
5591pilot-link.unix-ng
5592
5593@item @uref{http://www.thedotin.net/maillists/coldsync-hackers/maillist.html, Coldsync Mailing List}
5594coldsync.main
5595
5596@item @uref{http://www.jpilot.org/pipermail/jpilot/, J-Pilot Mailing List}
5597jpilot.main
5598
5599@item @uref{http://lists.gnu-designs.com/pipermail/pilot-mailsync/, pilot-mailsync Mailing List}
5600pilot-mailsync.main
5601
5602@item @uref{http://www.mozilla.gr.jp/ml/logs/moz-users/, Mozilla Users Mailing List in Japan}
5603mozilla-jp.users
5604
5605なお、@samp{mozilla-jp.users} はアドレス回収ロボット対策
5606で userid と passowrd を求められるので @file{~/.w3m/passwd} に
5607
5608@example
5609machine www.mozilla.gr.jp
5610realm Please Enter mozilla mozilla
5611login mozilla
5612passwd mozilla
5613@end example
5614
5615@noindent
5616と書き、上記ファイルから group, others のアクセス権を取り除いておく必要
5617があります。
5618
5619@item @uref{http://www.tdiary.org/, tDiary Developers Mailing List in Japan}
5620tdiary-ml.devel tdiary-ml.theme
5621
5622@item @uref{http://arch.bluegate.org/mailman/listinfo, arch.bluegate.org Mailing Lists}
5623arch-bluegate.subversion-jp arch-bluegate.arch-jp arch-bluegate.mailman
5624arch-bluegate.viewarch
5625
5626@item @uref{http://www.tigris.org/, Tigris.org:Open Source Software Engineering}
5627Tigris.org に保存されているすべてのメーリングリストを閲覧できます。閲覧
5628したいグループを変数 @code{shimbun-tigris-group-alist} に登録してくださ
5629い。グループ名は tigris.<project>.<mailinglist> になります。
5630
5631@item @uref{http://www.scipy.net/mailman/listinfo, www.SciPy.net Mailing Lists}
5632scipy.astropy scipy.ipython-user scipy.ipython-dev scipy.scipy-user
5633scipy.scipy-dev scipy.scipy-testlog scipy.scipy-chaco scipy.scipy-cvs
5634
5635@item @uref{http://lists.chise.org/mailman/listinfo, lists.chise.org Mailing Lists}
5636chise.apel chise.chise chise.emacs-mime
5637
5638@end table
5639
5640@node Sport Sites Supported by Shimbun
5641@subsection スポーツ
5642
5643@samp{Shimbun} ライブラリが対応しているスポーツ関係のサイトです。
5644
5645@table @asis
5646@item @uref{http://www.makanai.com/, makanai}
5647makanai.f1news
5648
5649@item @uref{http://www.ksky.ne.jp/~tahara/f1/, F1 ファン}
5650f1fan.news
5651
5652@item @uref{http://forum.nifty.com/fmotor/, @@nifty:モータースポーツ}
5653msports-nifty.F1 msports-nifty.IRL msports-nifty.WRC
5654msports-nifty.Europe msports-nifty.USA
5655
5656@item @uref{http://sports.yahoo.co.jp/, Yahoo!スポーツ}
5657yahoo-sports.F1 yahoo-sports.baseball yahoo-sports.keiba
5658yahoo-sports.NBA yahoo-sports.NFL yahoo-sports.rugby
5659@end table
5660
5661@node Misc Sites Supported by Shimbun
5662@subsection その他
5663
5664@samp{Shimbun} ライブラリの対応しているその他のサイトです。掲示板や、連
5665載記事を主体とするようなサイトが含まれています。
5666
5667@table @asis
5668@item @uref{http://www.tcup.com/, Tea Cup 掲示板}
5669Tea Cup Communication によって提供される、様々な掲示板を購読することがで
5670きます。デフォルトでは、以下の三つの掲示板が用意されています。
5671
5672@table @asis
5673@item tcup.meadow
5674@uref{http://www66.tcup.com/6629/yutopia.html, Meadow 掲示板}
5675
5676@item tcup.skk
5677@uref{http://www67.tcup.com/6718/yutopia.html, SKK 掲示板}
5678
5679@item tcup.yutopia
5680@uref{http://www61.tcup.com/6116/yutopia.html, ゆうτοπια掲示板}
5681@end table
5682
5683新たに掲示板をリストに追加するには、それらの名前と URL を調べて、
5684@code{shimbun-tcup-group-alist} を変更してください。二つの掲示
5685板 @samp{foo} と @samp{bar} を追加する例です。
5686
5687@lisp
5688(eval-after-load "sb-tcup"
5689  '(setq shimbun-tcup-group-alist
5690         (append
5691          '(("foo" "http://MMMM.teacup.com/foo/bbs2")
5692            ("bar" "http://NNNN.teacup.com/bar/bbs2"))
5693          shimbun-tcup-group-alist)))
5694@end lisp
5695
5696@item 2ch
5697グループ名と URL を調べて、以下のように設定して使います。
5698
5699@lisp
5700(setq shimbun-2ch-group-alist
5701      '(("Meadow" .
5702         "http://pc.2ch.net/test/read.cgi/software/1005469775")
5703        ("emacs-w3m" .
5704         "http://pc.2ch.net/test/read.cgi/unix/1013710106")))
5705@end lisp
5706
5707@item @uref{http://www.math.tohoku.ac.jp/~kuroki/support/, CGI_Board を使っている掲示板}
5708
5709CGI_Board を使っている掲示板の URL を調べて、
5710@code{shimbun-cgi-board-group-alist} に適切な設定を加えて使います。
5711
5712@item HNS による日記
5713閲覧したい日記の URL を調べて、以下のように設定して使います。
5714
5715@lisp
5716(setq shimbun-hns-group-alist
5717      '(("arisawa"                            ;; グループ名
5718         "http://nijino.homelinux.net/diary/" ;; URL
5719         "ari@@mbf.sphere.ne.jp")              ;; メールアドレス
5720        ("miyoshi"
5721         "http://www.be.wakwak.com/cgi-bin/sbox/~miyoshi/hns/"
5722         "miyoshi@@meadowy.org")))
5723@end lisp
5724
5725@item tDiary による日記
5726閲覧したい日記の URL を調べて、以下のように設定して使います。
5727
5728@lisp
5729(setq shimbun-tdiary-group-alist
5730      '(("henahena"                          ;; グループ名
5731         "http://www.fan.gr.jp/~ring/d/")    ;; URL
5732        ("yoichi"
5733         "http://yoichi.geiin.org/d/")))
5734@end lisp
5735
5736@item @uref{http://plaza.rakuten.co.jp/, 楽天広場} の日記
5737閲覧したい日記を開設している人の楽天 ID とメールアドレスを調べて、以下の
5738ように設定して使います。
5739
5740@lisp
5741(setq shimbun-rakuten-group-alist
5742      '(("rakuten-id" . "email-address")))
5743@end lisp
5744
5745@item @uref{http://www.emacswiki.org/, EmacsWiKi}
5746emacswiki.changes emacswiki.diff
5747
5748@item コンテンツを含む RSS フィード
5749閲覧したい掲載コンテンツが含まれるような RSS フィードを調べて、
5750@code{shimbun-rss-hash-group-path-alist} 変数を以下のように設定して使い
5751ます。バックエンド名は @samp{rss-hash} です。主に個人のブログなどが対象
5752になるでしょう。
5753
5754パラメータはグループ名、RSS アドレス、メールタイプ (@code{t} で html)、
5755整形時の開始正規表現、整形時の終了正規表現となります。グループ名、RSS ア
5756ドレス以外はオプションです。
5757
5758以下はサンプルです。この場合は @samp{rss-hash.sampleblog1} およ
5759び @samp{rss-hash.sampleblog2} として閲覧できます。
5760
5761@lisp
5762(setq shimbun-rss-hash-group-path-alist
5763      '(;; text mail
5764        ("sampleblog1" "http://www.example.com/index1.rss")
5765        ;; html mail
5766        ("sampleblog2" "http://www.example.com/index2.rss"
5767         t "</title>" "<!-- start ads")))
5768@end lisp
5769
5770@item コンテンツを含む Atom フィード
5771前項 (コンテンツを含む RSS フィード) と同様に、掲載されたコンテンツを含
5772む Atom フィードも閲覧することができます。それを行なうには、
5773shimbun-rss-hash-* と同様のやり方で変
5774数 @code{shimbun-atom-hash-group-path-alist} (ひょっとする
5775と @code{shimbun-atom-hash-x-face-alist} なども) を設定してください。バッ
5776クエンド名は @samp{atom-hash} です。
5777
5778@item コンテンツのない RSS フィード
5779多くのフィードには記事の完全なコンテンツが無いか、またはいぢわるに小出し
5780にします。サイトがちゃんと記事を書かずに、そのようなフィードしか提供しな
5781い場合でも、多くの場合 @samp{rss-blogs} を使って切り抜けることができます。
5782設定は @samp{rss-hash} のものと似ています。例を示しましょう:
5783
5784@lisp
5785(setq shimbun-rss-blogs-group-url-regexp
5786  '(("first-feed" "http://example/wordpressfeed")
5787    ("second-feed" "http://example/somefeed"
5788     "<div name=\"content\">" "<div name=\"comments\">")
5789    ("third-feed" "http://example/someotherfeed" 'none)))
5790@end lisp
5791
5792最初の二つのアイテムはフィードの名前と URL です。そのフィードが指し示
5793す HTML ページにおいて、実際のコンテンツの始めと終りを探すための二つの正
5794規表現を、任意で与えることができます。そこで単に @code{none} というシン
5795ボルを使うと、いかなる濾過も行なわれません。
5796
5797加えて、@samp{rss-blogs} はいくつかのポピュラーなブログ・エンジンを自動
5798的に扱うことができます。すなわち Google の Blogger/Blogspot (コメント・
5799フィードを含みます)、WordPress、および TypePad です。フィードを取り寄せ
5800るサイトがそれらの一つを使っているなら (@code{generator} タグを眺めれば
5801わかります)、単に任意のパラメータを省略するだけで、自動的にコンテンツを
5802切り出そうとするでしょう。
5803
5804@item Wiki コンテンツ
5805閲覧したい Wiki の URL を調べて、以下のように設定して使います。
5806PukiWiki と Hiki に対応しています。もし、各内側のリストの 4 番目、5 番目
5807の要素の正規表現に何を指定して良いか分からないときは、@code{nil} を指定
5808すれば良いでしょう。記事の取得時に整形が行われず、ただページ全体が見える
5809だけです。
5810
5811@lisp
5812(setq shimbun-wiki-group-alist
5813      '(("pukiwiki" ;; グループ名
5814         "http://pukiwiki.org/index.php?cmd=rss10" ;; URL
5815         "webmaster@@pukiwiki.org" ;; メールアドレス
5816         nil ;; X-Face
5817         "\n<h3 id=\"" ;; contents の start を示す regexp
5818         "</address>") ;; contents の end を示す regexp
5819        ("hiki"
5820         "http://www.namaraii.com/hiki/?c=rss"
5821         "webmaster@@fdiary.net"
5822         nil
5823         "<div class=\"section\">"
5824         "<div class=\"sidebar\">")
5825        ("apollo"
5826         "http://wiki.fdiary.net/apollo/?c=rss"
5827         "moriq@@moriq.com"
5828         nil
5829         "<div class=\"section\">"
5830         "<div class=\"sidebar\">")
5831        ))
5832@end lisp
5833
5834@item @uref{http://auctions.yahoo.co.jp/, Yahoo!オークション}
5835閲覧したいカテゴリや検索結果の URL を調べて、以下のように設定して使いま
5836す。
5837
5838@lisp
5839(setq shimbun-yahoo-auctions-group-alist
5840      '(("mp3player" . "http://list3.auctions.yahoo.co.jp/jp/show/catleaf_rss?category=2084039708&alocale=0jp")
5841        ("iPod" . "http://search3.auctions.yahoo.co.jp/search_rss?p=iPod&auccat=2084039708&alocale=0jp&acc=jp")))
5842@end lisp
5843
5844@item @uref{http://www.vinelinux.org/, VineLinux Errata}
5845vinelinux.errata.4x.i386 vinelinux.errata.4x.ppc
5846vinelinux.errata.3x.i386 vinelinux.errata.3x.ppc
5847vinelinux.errata.3x.alpha
5848vinelinux.errata.2x.i386 vinelinux.errata.2x.ppc
5849vinelinux.errata.2x.sparc vinelinux.errata.2x.alpha
5850vinelinux.errata.1x
5851
5852@item @uref{http://www.kantei.go.jp/, 内閣ブログ/メールマガジン}
5853kantei.blog-en kantei.blog-ja kantei.blog-en.kan kantei.blog-ja.kan
5854kantei.m-magazine-cn.hatoyama kantei.m-magazine-kr.hatoyama
5855kantei.m-magazine-en.hatoyama kantei.m-magazine-ja.hatoyama
5856kantei.m-magazine-en.aso kantei.m-magazine-ja.aso
5857kantei.m-magazine-en.fukuda kantei.m-magazine-ja.fukuda
5858kantei.m-magazine-en.abe kantei.m-magazine-ja.abe
5859kantei.m-magazine-en.koizumi kantei.m-magazine-ja.koizumi
5860kantei.m-magazine
5861
5862後方互換性のため @samp{kantei.m-magazine} も利用可能になっています。
5863
5864@item @uref{http://www.jpo.go.jp/, 特許庁}
5865jpo.news jpo.revision jpo.lawguide jpo.details
5866
5867@item @uref{http://www-6.ibm.com/jp/developerworks/, IBM developerWorks}
5868ibm-dev.autonomic ibm-dev.java ibm-dev.linux ibm-dev.opensource
5869ibm-dev.webservices ibm-dev.xml
5870
5871@item @uref{http://www.pocketgames.jp/, Pocketgames}
5872pocketgames.news
5873
5874@item @uref{http://www.wince.ne.jp/, Wincefan}
5875wincefan.news
5876
5877@item @uref{http://www.palmfan.com/, PalmFan}
5878palmfan.news
5879
5880@item @uref{http://homepage1.nifty.com/akiba/plat.html, 電脳街の現場レポート}
5881dennou.report
5882
5883@item @uref{http://pcweb.mycom.co.jp/column/, PCWEB COLUMN Square}
5884pcweb-column.jsr pcweb-column.yume pcweb-column.hreceipe
5885pcweb-column.kita pcweb-column.shonanlife pcweb-column.kaden
5886pcweb-column.nemurenai pcweb-column.komono pcweb-column.js
5887pcweb-column.en pcweb-column.motherboard pcweb-column.svalley
5888pcweb-column.architecture pcweb-column.motorlife
5889pcweb-column.nihongoprog pcweb-column.objc pcweb-column.ide
5890pcweb-column.music pcweb-column.itsecurity pcweb-column.soundvisual
5891pcweb-column.osx pcweb-column.sopinion pcweb-column.ebook
5892pcweb-column.orerobo pcweb-column.zsh pcweb-column.rikei
5893pcweb-column.lifehack pcweb-column.world pcweb-column.guutara
5894pcweb-column.volt pcweb-column.textclean pcweb-column.person
5895pcweb-column.web20 pcweb-column.system
5896
5897後方互換性のため、以下のアイテムも利用可能になっています。
5898pcweb-column.itshihonron pcweb-column.yetanother pcweb-column.asia
5899pcweb-column.benri pcweb-column.bytes pcweb-column.game
5900pcweb-column.hitech pcweb-column.java pcweb-column.jisakuparts
5901pcweb-column.scramble pcweb-column.toolexp pcweb-column.winvista
5902pcweb-column.winxp pcweb-column.interview pcweb-column.ityougo
5903pcweb-column.kimeuchi pcweb-column.stratesys pcweb-column.toyagain
5904
5905@item @uref{http://tsuruo.dominohosting.biz/members/tsuruo/, ノーツ陳列館}
5906lotusex.news lotusex.library lotusex.operation lotusex.primer
5907lotusex.tips lotusex.practical lotusex.qanda lotusex.lounge
5908lotusex.bbs
5909
5910@item @uref{http://www.atmarkit.co.jp, @ITフォーラム}
5911atmarkit.news atmarkit.fwin2k atmarkit.fdotnet atmarkit.fsys
5912atmarkit.fxml atmarkit.fdb atmarkit.flinux atmarkit.fnetwork
5913atmarkit.fjava atmarkit.fsecurity atmarkit.farc atmarkit.fbiz
5914atmarkit.fwcr atmarkit.jibun
5915
5916@item @uref{http://www.matsusaka-u.ac.jp/~okumura/texfaq/qa/, TeX Q&A 掲示板}
5917texfaq.qanda
5918
5919@item @uref{http://x51.org/, X51.org}
5920x51.anima x51.art x51.auction x51.blow x51.cabal x51.crime x51.disaster
5921x51.edge x51.enema x51.ghost x51.homme x51.info x51.life x51.love
5922x51.media x51.medical x51.military x51.northkorea x51.oparts x51.phallic
5923x51.psychics x51.religion x51.science x51.top x51.ufo x51.uma x51.xfiles
5924
5925@item @uref{http://www.exconn.net/, eXperts Connection (eXConn)}
5926exconn.news
5927
5928@item @uref{http://msdn.microsoft.com/, MSDN}
5929msdn.all msdn.netframework msdn.architecture msdn.asp.net msdn.data
5930msdn.longhorn msdn.mobility msdn.subscriptions msdn.msdntv msdn.office
5931msdn.security msdn.sql msdn.theshow msdn.vbasic msdn.vcsharp
5932msdn.visualc msdn.vfoxpro msdn.vjsharp msdn.vstudio msdn.vs2005
5933msdn.webservices msdn.embedded msdn.xml msdn.japan.msdn
5934msdn.japan.msdn-us
5935
5936@item @uref{http://haiku-os.org/, Haiku OS}
5937haiku-os.news haiku-os.forums haiku-os.newsletters
5938
5939@item @uref{http://www.ffii.org/, Foundation for a Free Information Infrastructure}
5940ffii.en.software-patents ffii.en.software-patents.ffii
5941ffii.en.information-infrastructure ffii.en.project
5942ffii.de.software-patente ffii.de.software-patente.ffii
5943ffii.de.informations-infrastruktur ffii.fr.brevets-logiciels
5944ffii.fr.brevets-logiciels.ffii ffii.nl.softwarepatenten
5945ffii.nl.softwarepatenten.ffii
5946
5947@item @uref{http://yoshinori-kobayashi.com/, 小林よしのり公式サイト}
5948yoshirin.blog yoshirin.topics
5949@end table
5950
5951@node Shimbun Basics
5952@section 新聞モジュールの作り方
5953@cindex @file{shimbun.el}
5954
5955@samp{Shimbun} は emacs-w3m の付属ライブラリで、Gnus や Wanderlust、
5956Mew などの MUA を利用し、ウェブコンテンツをメールと同じユーザインターフェー
5957スで読むことを可能にするものです。ここでは @samp{shimbun} モジュールを作
5958成する典型的な方法を説明します。
5959
5960@menu
5961* Overview::                    概略
5962* Getting web page and header information::  ウェブページのソース及びヘッダ情報を取得する
5963* Displaying an article::       記事の表示
5964* Inheriting shimbun module::   shimbun モジュールの継承
5965* Making text/plain articles::  text/plain の記事を作るには
5966* Zenkaku to hankaku conversion:: 全角文字を半角文字に変換する
5967* Coding convention of Shimbun:: コーディング規約
5968@end menu
5969
5970@node Overview
5971@subsection 概略
5972
5973@uref{http://www.foobar.net} のコンテンツを閲覧する新た
5974な @samp{shimbun} モジュール @samp{foobar} を作成するとして、まず最初に
5975貴方がしなればならないことは、@file{sb-foobar.el} の冒頭に
5976
5977@lisp
5978(require 'shimbun)
5979(luna-define-class shimbun-foobar (shimbun) ())
5980@end lisp
5981
5982@noindent
5983のような宣言を入れておくことです。徐々に分かると思いますので、今はおまじ
5984ないと思っておいてください。注意すべきことは、@samp{shimbun} モジュール
5985を入れるファイル名の @file{sb-foobar.el} の @samp{foobar} の名前と、
5986@code{luna-define-class}  の第一引数
5987の @code{shimbun-foobar} の @samp{foobar} の名前は合わせておく必要がある
5988ことです。
5989
5990@samp{Shimbun} モジュール @samp{shimbun-foobar} がこなすべき仕事は大き
5991く四つあります (あなたが Gnus のユーザならば、「フォルダ」を「グループ」
5992に読み換えてください):
5993
5994@enumerate
5995@item
5996MUA が @samp{foobar} フォルダを開いたら、記事の標題などをリストアップす
5997るために @uref{http://www.foobar.net} からウェブページのソースを取得する
5998こと。
5999
6000@item
6001取得したウェブページのソースに対し、記事の見出しに必要ないくつかの情報と
6002ともに取得して、@code{headers} というリストに代入して返すこと。
6003
6004@item
6005MUA が @samp{foobar} フォルダの記事の閲覧を要求したら、実際の記事内容を
6006記載したウェブページのソースを (例え
6007ば @uref{http://www.foobar.net/030530.html} から) 取得すること。
6008
6009@item
6010@uref{http://www.foobar.net/030530.html} から取得したウェブページのソー
6011スを、必要に応じ閲覧しやすいように整形すること。
6012@end enumerate
6013
6014@noindent
6015最初の作業は @file{shimbun.el} の @code{shimbun-headers} が、二番目の作
6016業は @code{shimbun-get-headers} が担当します。そして三番目の作業
6017は @code{shimbun-article} が、最後の作業
6018は @code{shimbun-make-contents} が担当します。
6019
6020@file{shimbun.el} の中をご覧ください。@code{defun} による関数定義の他に、
6021見慣れない @code{luna-define-generic}, @code{luna-define-method} などの
6022宣言がありますよね。どうも使用方法は @code{defun} のそれと似ているようで
6023す。そして、前者は何だか doc-string だけを書いてあるようで、同名のシンボ
6024ルについて後者によって再度宣言しているように見えます。更に、あるシンボル
6025について、@code{luna-define-generic} の宣言だけがあって、
6026@code{luna-define-method} の宣言がないものもあります。
6027
6028実は、@file{shimbun.el} 及び各 @samp{shimbun} モジュールは、
6029Emacs Lisp にてオブジェクト指向プログラミングを可能とする @file{luna.el}
6030@footnote{@acronym{FLIM} に含まれています。} を利用して書かれています。
6031
6032@file{shimbun.el} の中では、@code{shimbun-headers} があ
6033る URL のウェブページのソースを取得し、@code{shimbun-get-headers} がその
6034ウェブページのソースから標題などを抜き出し@dots{} という前述の手順がハー
6035ドコーディングされています。しかし、決め打ちするだけでは、千差万別のウェ
6036ブページのソースを、その構造に合わせて変化させることができません。
6037
6038そこで @code{luna} により、メソッドがコールされる手順だけ決めておいて、
6039@samp{shimbun} により変化させるべきメソッドの実体定義を
6040各 @samp{shimbun} モジュールに任せているのです。各 @samp{shimbun} モジュー
6041ルで共通で使えそうなメソッドは @file{shimbun.el} の中にメソッドの実体も
6042定義してありますが、それすら各 @samp{shimbun} モジュールにおいて再定義を
6043することが可能です。
6044
6045もうお分かりのように、@code{luna-define-generic} は、言わば殼だけの宣言、
6046@code{luna-define-method} は @samp{shimbun} モジュール毎に作成できる実体
6047の宣言。そして @file{sb-foobar.el} の冒頭に入れ
6048た @code{luna-define-class} での宣言は、@code{luna} 上での新たなクラスの
6049宣言だったわけです。
6050
6051@node Getting web page and header information
6052@subsection ウェブページのソース及びヘッダ情報を取得する
6053
6054まず記事見出しを取得する対象となるウェブページを決めることから始めます。
6055フレーム表示されている場合は、フレームの中で必要なページだけを単独で指し
6056示す URL を特定するべきです。特定できたら、新たに作成す
6057る @samp{shimbun} モジュールの中で @code{luna-define-method} を使い、
6058@code{shimbun-index-url} の定義を作成しましょう。単純に URL を返すように
6059すれば良いですよ。後で説明しますので、変
6060数 @code{shimbun-foobar-groups} も用意しておきましょ
6061う@footnote{@samp{Shimbun} モジュール一つにつき、最低でも一つのグルー
6062プが必要です。}。
6063
6064@lisp
6065(defvar shimbun-foobar-url "http://www.foobar.net")
6066
6067(luna-define-method shimbun-index-url ((shimbun shimbun-foobar))
6068  shimbun-foobar-url)
6069
6070(defvar shimbun-foobar-groups '("news"))
6071@end lisp
6072
6073@code{shimbun-headers} メソッドは @file{shimbun.el} の中に既に定義されて
6074いますから、@file{sb-foobar.el} で @code{shimbun-index-url} メソッドの定
6075義を作成すればウェブページのソースの取得ができるようになります。
6076@code{shimbun-headers} はウェブページのソースを取得した後、
6077@code{shimbun-get-headers} メソッドを呼び、ヘッダ情報の収集に入ります。
6078@file{shimbun.el} の中には @code{shimbun-get-headers} のメソッド宣言があ
6079りせんから、@file{sb-foobar.el} の中で独自にメソッドを作成しなければなり
6080ません。
6081
6082@file{sb-foobar.el} に @code{shimbun-get-headers} のメソッドを作成するた
6083めに、取得したページのソースを分析しましょう。どのような正規表現で記事の
6084ヘッダ情報を収集するかを検討します。記事の見出しとして特に必要な情報は、
6085標題、日付、作成者、その記事の URL、そして @code{message-id} です。これ
6086らの情報は、それぞれの MUA において、Subject, Date, From, Xref,
6087Message-ID として表示されます。例えば、下記の
6088
6089@example
6090<a href="030530.html">5月30日の話題(投稿者-みきお &lt;foo@@bar.net&gt;)</a>
6091@end example
6092
6093@noindent
6094のような行を集めて記事にしたいのでしたら、
6095
6096@example
6097"<a href=\"\\(\\([0-9][0-9][0-9][0-9]\\)[0-9][0-9]\\.html\\)\">\\([^<(]+\\)(投稿者-\\([^<]+\\))<\/a>"
6098@end example
6099
6100@noindent
6101のような正規表現になるでしょう。そして記事の Xref の値は
6102@w{@code{(match-string 1)}} で取得できます、Date は
6103@w{@code{(match-string 2)}} の値を加工すれば良いでしょう。Subject は
6104@w{@code{(match-string 3)}} で取得できますね。From は
6105@w{@code{(match-string 4)}} を加工すれば良いでしょう。これらの値
6106は MUA で見易いように更に加工しても構いません。
6107
6108上記のように記事の URL が相対パス表示されている場合は、
6109@code{shimbun-expand-url} を使用し、絶対パス表示に変更してからヘッダに収
6110めましょう。記事の URL がヘッダの URL と同じ、つまり記事毎に
6111個別に URL を持たない構造のウェブページもあります。この場合は少しやっか
6112いで、ヘッダ情報取得の段階で、記事の内容も取得しておき、Emacs のメモリに
6113収めておく必要があります。具体的には @file{sb-palmfan.el},
6114@file{sb-dennou.el}, @file{sb-tcup.el} の @file{shimbun-headers} メソッ
6115ドの定義を参照してください。
6116
6117ウェブページによっては Date が特定できないものがあります。そういう場合は
6118無理に特定せずとも @code{""} を入れておけば OK です。記事の内容を見て初
6119めて Date が特定できるなら、@code{shimbun-make-contents} メソッドの中で
6120改めてヘッダに Date の情報を入れても OK です。それから、From を決め打ち
6121しても良い場合もあります。
6122
6123@code{message-id} の作成には注意を要します。一部の記事が読めなかったりし
6124ますので@footnote{shimbun の一部の記事が読めないだけならまだしも、下手
6125に @code{message-id} を作成すると、貴方が受領する大事なメールのそれとか
6126ち合ってしまい、そのメールが読めなくなる可能性すらあります。}、必
6127ず単一性 (uniqueness) を保証しなければなりません。日付やドメイン、そのペー
6128ジの URL の一部を使って文字列を生成することで単一性を確保しましょう。そ
6129の他、@code{message-id} の一部に必ず @samp{@@} を含めるようにし、逆
6130に @samp{:} は含まないようにしましょう。このルールを守らないとインライン
6131画像がきちんと出力されませんよ。詳しくは RFC2387, RFC822 を参照してくだ
6132さい。
6133
6134苦労して取得したこれらの情報は @code{shimbun-create-header} という関数を
6135利用してヘッダに収めます。
6136
6137結局 @file{sb-foobar.el} の中での @code{shimbun-get-headers} の定義の骨
6138組みはこんな風になりますね。
6139
6140@lisp
6141(luna-define-method shimbun-get-headers ((shimbun shimbun-foobar)
6142                                         &optional range)
6143  (let ((regexp "....")
6144        subject from date id url headers)
6145    ...
6146    (catch 'stop
6147      (while (re-search-forward regexp nil t nil)
6148        ...
6149        (when (shimbun-search-id shimbun id)
6150          (throw 'stop nil))
6151        (push (shimbun-create-header
6152               0 subject from date id "" 0 0 url)
6153              headers)))
6154    headers))
6155@end lisp
6156
6157@noindent
6158なお、このメソッドの中では @code{shimbun} という一時変数で、
6159@samp{shimbun} モジュール @samp{shimbun-foobar} のインスタンスにアクセス
6160できます。
6161
6162ところで、先程保留にした変数 @code{shimbun-foobar-groups} について説明し
6163ましょう。
6164
6165仮に @w{@uref{http://www.foobar.net}} の中に読みたい記事グループが二つあっ
6166て、それぞれの記事のヘッダ情報を得るウェブページが別々の場所にあったとし
6167ましょう。@w{@uref{http://www.foobar.net/whatsnew/index.hmtl}} にサイト
6168の更新情報が、@w{@uref{http://www.foobar.net/ml/index.html}} に ML の記
6169事アーカイブの一覧があるときなどです。こういう場合は、@samp{shimbun} モ
6170ジュール @code{foobar} のグループとして、@code{foobar.whatsnew},
6171@samp{foobar.ml} としてアクセスできると便利ですよね。そういう場合は下記
6172のようにしてみましょう。
6173
6174@lisp
6175(defvar shimbun-foobar-url "http://www.foobar.net")
6176
6177(defvar shimbun-foobar-group-path-alist
6178  '(("whatsnew" . "/whatsnew/index.html")
6179    ("ml" . "/ml/index.html")))
6180
6181(defvar shimbun-foobar-groups
6182  (mapcar 'car shimbun-foobar-group-path-alist))
6183
6184(luna-define-method shimbun-index-url ((shimbun shimbun-foobar))
6185  (concat shimbun-foobar-url
6186          (cdr (assoc (shimbun-current-group-internal shimbun)
6187                      shimbun-foobar-group-path-alist))))
6188@end lisp
6189
6190@noindent
6191現在ユーザがアクセスしているグループに
6192は @code{shimbun-current-group-internal} を使えば分かります。
6193@code{shimbun-get-headers} などでもグループが違えば作業内容が違ってくる
6194可能性もありますね。
6195
6196なお、@samp{shimbun} モジュール一つにつき、最低でも一つのグループが必要
6197です。グループの名前の決め方に特に決まりはありませんが、グループ名に悩ん
6198だら、@samp{news} とか @samp{main} などと付けておきましょう。
6199
6200@node Displaying an article
6201@subsection 記事の表示
6202
6203@file{shimbun.el} に定義された @code{shimbun-article} メソッドは、ヘッダ
6204情報から Xref を取り出し、その URL のウェブページのソースを取得した後に、
6205そのソースを入れたワーキングバッファの中
6206で @code{shimbun-make-contents} を呼びます。具体的な記事の加工
6207は @code{shimbun-make-contents} の仕事です。
6208
6209記事となるウェブページのソースが、どばっとワーキングバッファにぶちまけら
6210れていると想像してください。@file{shimbun.el} の標準
6211の @code{shimbun-make-contents} は、そのバッファの先頭にまずヘッダ情報を
6212挿入し、その直後に @samp{<html>} や @samp{<body>} などを、また、バッファ
6213の末尾に @samp{</body>}, @samp{</html>} を挿入してくれます。そうやっ
6214て HTML メールとして表示させるのです。
6215
6216@quotation
6217HTML の記事だけでなく、@samp{text/plain} 形式の記事が生成されるようにす
6218ることもできます。@xref{Making text/plain articles}.
6219@end quotation
6220
6221記事を何も加工する必要がなければ @file{sb-foobar.el} の中で
6222は @code{shimbun-make-contents} について新たに定義する必要はありません。
6223
6224単純に記事の前後に捨てたい部分があるだけならば、
6225@code{shimbun-foobar-content-start},
6226@code{shimbun-foobar-content-end} に捨てたい部分を検索可能な正規表現を指
6227定しておきましょう。
6228
6229@lisp
6230(defvar shimbun-foobar-content-start "^<body>$")
6231(defvar shimbun-foobar-content-end "^<\/body>$")
6232@end lisp
6233
6234@noindent
6235標準の @code{shimbun-make-contents} から
6236呼び出された @code{shimbun-clear-contents} は、これらの正規表現を利用し
6237て、@code{point-min} から @code{shimbun-foobar-content-start} まで、
6238@code{shimbun-foobar-content-end} から @code{point-max} までを切り捨てて
6239くれますよ。但し、これら二つのマッチはいずれかが成功しないと切り捨ては行
6240われませんので注意が必要です。
6241
6242広告などの不要な情報があって、それを細かく検索して捨てたい場合は、
6243@file{sb-foobar.el} の中で独自の @code{shimbun-clear-contents} を定義し
6244ておきます。
6245
6246@lisp
6247(luna-define-method shimbun-clear-contents :around ((shimbun shimbun-foobar)
6248                                                    header)
6249  ;; cleaning up
6250  (while (re-search-forward "..." nil t nil)
6251    (delete-region (match-beginning 0) (match-end 0)))
6252  (luna-call-next-method))
6253@end lisp
6254
6255@noindent
6256より具体的な方法は、@file{sb-ibm-dev.el} が参考になるかもしれません。
6257
6258先程、@ref{Getting web page and header information} の節で、記事毎に個
6259別に URL を持たない構造のウェブページの場合、ヘッダ情報取得の段階で、記
6260事の内容も取得しておき、Emacs のメモリに収めておく必要があると申し上げま
6261した。この場合、@file{shimbun-article} では上記のような Xref 情報から
6262の web page の取得は必要になりませんので、ただ Emacs のメモリから取り出
6263して、バッファに整形して挿入すれば足ります。具体的に
6264は @file{sb-palmfan.el}, @file{sb-dennou.el},
6265@file{sb-tcup.el} の @file{shimbun-article} メソッドの定義を参照してくだ
6266さい。
6267
6268@node Inheriting shimbun module
6269@subsection Shimbun モジュールの継承
6270
6271メーリングリストマネージャ (アーカイバ) として有名なものがいくつかありま
6272す。
6273
6274@itemize @bullet
6275@item Mailman
6276@noindent
6277The GNU Mailing List Manager. 以前は @samp{pipermail} と呼ばれていました。
6278詳細は @uref{http://www.gnu.org/software/mailman/index.html} をご覧くだ
6279さい。
6280
6281@item MHonArc
6282詳細は @uref{http://www.oac.uci.edu/indiv/ehood/mhonarc.html} をご覧くだ
6283さい。
6284
6285@item fml
6286fml mailing list server/manager.  詳細
6287は @uref{http://www.fml.org/software/fml/} をご覧ください。
6288
6289@item mailarc
6290詳細は @uref{http://cvs.namazu.org/mailarc/} をご覧ください。
6291@end itemize
6292
6293貴方が @ref{Getting web page and header information} のステップで取得し
6294たウェブページのソースを分析しているときに、そのソースの中にこれらメーリ
6295ングリストマネージャの名前を見つけたら@footnote{ウェブページのソースの中
6296にこれらメーリングリストマネージャの名前が表示されていることが多いです。}、
6297それはすごくラッキーなことです。@file{sb-mailman.el},
6298@file{sb-mhonarc.el}, @file{sb-fml.el}, @file{sb-mailarc.el} に既
6299に @code{shimbun-get-headers} などの必要なメソッドが定義されています。こ
6300れらを利用してなお足りない部分だけの差分プログラミングをすれば、貴方
6301の @file{sb-foobar.el} は早速動きます。
6302
6303例えば @file{sb-mailman.el} を利用するなら @file{sb-foobar.el} の冒頭は、
6304
6305@lisp
6306(require 'sb-mailman)
6307(luna-define-class shimbun-foobar (shimbun-mailman) ())
6308@end lisp
6309
6310@noindent
6311こんな風になります。これで @samp{shimbun} モジュー
6312ル @samp{shimbun-foobar} は @code{shimbun-mailman} クラスを継承
6313し@footnote{つまり @code{shimbun-mailman} クラスが親クラスになります。}、
6314@samp{shimbun-foobar} の中では、@file{sb-mailman.el} の中で定義されてい
6315るメソッドが標準で使用されることとなります (更にメソッドの一部を上書きす
6316ることも可能です)。
6317
6318@file{sb-mailman.el} を実際に利用したサンプルとして、
6319@file{sb-pilot-mailsync.el} などをご覧ください。如何に楽ができるかがお分
6320かりになるでしょう。
6321
6322気を付けることが一つあるとすれば、これらのメーリングリストマネージャの中
6323には地域化 (localize) されて、例えば日付表示を日本語で行うように改造され
6324ているものがあることです。@file{sb-mailman.el}, @file{sb-mhonarc.el},
6325@file{sb-fml.el}, @file{sb-mailarc.el} はいずれも標準の、英語版のものに
6326対応しています。これら地域化されたメーリングリストマネージャを利用してい
6327るウェブサイトを @samp{shimbun} で読みたいときは、いくつかのメソッドを上
6328書きしなければならないかもしれません。
6329
6330@node Making text/plain articles
6331@subsection text/plain の記事を作るには
6332
6333たとえ MUA が HTML の記事を読むことができるように emacs-w3m によって強化
6334されていても、いくつかの場合には @samp{text/plain} の記事が便利なことも
6335あるかもしれません。@samp{sb-foobar} モジュールに @samp{text/html} では
6336なくて @samp{text/plain} の記事を作らせるには、二つの方法があります。
6337
6338@itemize @bullet
6339@item
6340一つは @samp{sb-foobar} モジュールに @samp{sb-text} モジュールを継承させ
6341る (@pxref{Inheriting shimbun module}) ことです。以下
6342は @samp{sb-foobar} モジュールの冒頭に置くことができる例です。
6343
6344@lisp
6345(require 'sb-text)
6346(luna-define-class shimbun-foobar (shimbun-text) ())
6347@end lisp
6348
6349@samp{sb-text} モジュールは、@samp{text/plain} 形式で記事を生成す
6350る @code{shimbun-make-contents} メソッドを提供します。テキストだけの記事
6351を掲示するサイトを扱う @samp{shimbun} モジュールには、役に立つでしょう。
6352
6353@item
6354もう一つは、変数 @code{shimbun-foobar-prefer-text-plain} を
6355非-@code{nil} に設定することです。これは @code{shimbun-make-contents} メ
6356ソッドに、@samp{text/plain} 形式で記事を生成させます (実際には、それ
6357は @samp{sb-text} モジュールが提供する関数を使います)。これは、デフォル
6358トの @code{shimbun-make-contents} を継承するモジュールだけに効果があるこ
6359とに注意してください (特に @samp{sb-text} モジュールを継承するモジュール
6360は、影響されません)。この方式の利点は、ユーザが簡単
6361に @samp{text/plain} の記事と @samp{text/html} の記事を切り替えることが
6362できることです。
6363
6364それが未定義である場合、変数 @code{shimbun-foobar-prefer-text-plain} の
6365デフォルト値は @code{nil} です。したがって、@file{sb-asahi.el} およ
6366び @file{sb-yomiuri.el} 以外のあらゆる @samp{shimbun} モジュールにおいて、
6367そのデフォルト値は @code{nil} です。
6368
6369加えて、web ページから意味のあるテキストを切り出すために、変
6370数 @code{shimbun-foobar-content-start} およ
6371び @code{shimbun-foobar-content-end} の代わりに、
6372@code{shimbun-foobar-text-content-start} およ
6373び @code{shimbun-foobar-text-content-end} を使うことができま
6374す (@pxref{Displaying an article})。前者が未定義だったら、それらの値はデ
6375フォルトで後者の値になります。
6376@end itemize
6377
6378@noindent
6379どちらの方式を使うにしても、@samp{text/plain} の記事は、画像やリンクなど
6380を含むことができないことに注意してください。
6381
6382@node Zenkaku to hankaku conversion
6383@subsection 全角文字を半角文字に変換する
6384
6385「全角」または「全角文字」は、幅が広い日本語の文字を呼ぶための俗称です。
6386また「半角」は、通常の ASCII 文字のための対語です。少なくとも ASCII 文字
6387セットに対応する、全角文字の完全なセットがあります。
6388
6389いくつかの日本のウェブサイトは全角文字を多用する傾向があり、それらの記事
6390は必ずしも読み易くないかもしれません。もしそう感じたら、それら全角の英数
6391字を半角に変換するこの機能を使うことができます。それに
6392は @code{shimbun-foobar-japanese-hankaku} 変数を @code{t} に設定してくだ
6393さい。ここで @code{foobar} は、新聞の記事を購読するサーバー名です。つま
6394り、サーバー毎にそうしなければならないということです。
6395
6396全角から半角への変換を記事のボディだけで行なわせたいならば、@code{t} の
6397代わりに値 @code{body} を使ってください。逆に値 @code{header} また
6398は @code{subject} は、サブジェクトだけでそれを行なうことを指定します。
6399
6400@node Coding convention of Shimbun
6401@subsection Shimbun ライブラリのコーディング規約
6402
6403@itemize @bullet
6404@item
6405@file{shimbun.el} では、emacs-w3m の関数を@emph{自由に}使って良い。
6406
6407@item
6408@file{sb-*.el} では、これまでと同様に emacs-w3m の関数を直接呼び出すこと
6409はしない。@file{sb-*.el} で必要になる emacs-w3m の関数について
6410は @file{shimbun.el} にスタブを用意する。
6411
6412@item
6413SpeedBar で利用されているファイル名は避けなければならない。
6414@samp{speedbar-0.14beta4} で用いられているファイル名を以下に示す。
6415
6416@multitable @columnfractions .2 .2 .2 .2
6417@item sb-ant.el @tab sb-html.el @tab sb-info.el @tab sb-texinfo.el
6418@item sb-gud.el @tab sb-image.el @tab sb-rmail.el @tab sb-w3.el
6419@end multitable
6420
6421@item
6422参照している WEB サーバの URI を連想させるようなファイル名を選ぶべきであ
6423る。ただし、曖昧にならない範囲で、国別コード (Ex. jp,de,uk,etc) や、組織
6424コード (Ex. edu,com,org,net,etc)、余分な部分 (Ex. www) を取り除いても良
6425い。
6426
6427@item
6428グループ名には USENET に似た形式のものを選ぶべきである。すなわち、グルー
6429プ名には小文字が好まれる。また、グループの階層構造を表すための区切り文字
6430としては、ピリオド (.) が好まれる。
6431@end itemize
6432
6433@node Tips
6434@chapter Emacs-w3m を使う洒落た小物たち
6435@cindex Tips
6436
6437他の Emacs の応用機能とともに emacs-w3m を便利に使うためのヒント集です。
6438
6439@itemize @bullet
6440@item browse-url
6441
6442@code{browse-url} の機能とともに emacs-w3m を使うことができます。例えば、
6443以下の行を @file{~/.emacs} ファイルに入れてください:
6444
6445@lisp
6446(setq browse-url-browser-function 'w3m-browse-url)
6447(global-set-key "\C-xm" 'browse-url-at-point)
6448@end lisp
6449
6450こうすることによって、Emacs のどのバッファでも、URL のような文字列の上
6451で @w{@kbd{C-x m}} キーをタイプすると、emacs-w3m が起動されます。加えて、
6452@w{@kbd{C-c C-v}} キーをタイプすることによって、まさに編集中の HTML ファ
6453イルを emacs-w3m で下見 (preview) することができます (HTML ファイルの編
6454集に、Emacs と @code{html-mode} メジャーモードを使う必要があります)。
6455
6456Emacs-w3m のバッファにいるときに、@w{@kbd{C-x m}} キーをタイプすることに
6457よって、emacs-w3m の代わりに他のウェブブラウザを使いたい場合は (そんなこ
6458とをしたい人がいるのかな?)、以下のアドバイスを @file{~/.emacs} ファイル
6459に加えてください:
6460
6461@lisp
6462(defadvice browse-url-at-point
6463  (around change-browse-url-browser-function activate)
6464  "Use Netscape only when it is invoked in an emacs-w3m buffer."
6465  (let ((browse-url-browser-function
6466         (if (eq major-mode 'w3m-mode)
6467             'browse-url-netscape
6468           'w3m-browse-url)))
6469    ad-do-it))
6470@end lisp
6471
6472@item dired
6473
6474@code{dired} のバッファで @w{@kbd{C-x m}} キーをタイプすることによって、
6475emacs-w3m を使って HTML ファイルを閲覧することができます。
6476@file{~/.emacs} ファイルで、以下の設定を使ってください:
6477
6478@lisp
6479(eval-after-load "dired"
6480  '(define-key dired-mode-map "\C-xm" 'dired-w3m-find-file))
6481
6482(defun dired-w3m-find-file ()
6483  (interactive)
6484  (require 'w3m)
6485  (let ((file (dired-get-filename)))
6486    (if (y-or-n-p (format "Use emacs-w3m to browse %s? "
6487                          (file-name-nondirectory file)))
6488        (w3m-find-file file))))
6489@end lisp
6490
6491@item hnf-mode
6492
6493ハイパー日記システムと emacs-w3m を使って、最新の日記を見ることができま
6494す。以下の行を @file{~/.emacs} ファイルに入れて、@code{hnf-mode} のバッ
6495ファで @w{@kbd{C-c C-b}} キーをタイプしてください:
6496
6497@lisp
6498(defun w3m-hnf-browse-url-w3m (url &optional new-window)
6499  (interactive (browse-url-interactive-arg "URL: "))
6500  (save-selected-window
6501    (pop-to-buffer (get-buffer-create "*w3m*"))
6502    (w3m-browse-url url new-window)))
6503(setq hnf-browse-url-browser-function #'w3m-hnf-browse-url-w3m)
6504@end lisp
6505
6506@item Gnus
6507
6508あなたが Gnus のユーザで、この項がこの Info で初めて読むベージであるのな
6509らば、あなたは入り口を間違えましたね。最初に @ref{Hooking into MUAs} を
6510見てください。
6511
6512デフォルトでは、Gnus は例えば @code{gnus-treat-strip-banner} のよう
6513な treatment 変数を @samp{text/html} パートに適用しません。自動的に行な
6514わせるには二つの方法があります:
6515
6516@lisp
6517;; すべての treatment を text/html パートに適用する。
6518(eval-after-load "gnus-art"
6519  '(add-to-list 'gnus-article-treat-types "text/html"))
6520@end lisp
6521
6522@lisp
6523;; 特定の treatment を text/html パートに適用する。
6524(setq gnus-treat-strip-banner '(or t (typep "text/html")))
6525@end lisp
6526
6527詳しいことは @xref{Customizing Articles, ,記事のカスタマイズ, gnus-ja,
6528The Gnus Manual}, を見てください。
6529
6530加えて、以下の実験的なコードは @samp{multipart/related} な絵を見るための
6531ものです。表示される場所に少々難がありますが。
6532
6533@lisp
6534(eval-after-load "gnus-art"
6535  '(or (assoc "multipart/related" gnus-mime-multipart-functions)
6536       (setq gnus-mime-multipart-functions
6537             (cons
6538              (cons
6539               "multipart/related"
6540               (byte-compile
6541                (lambda (handle)
6542                  (gnus-mime-display-mixed (cdr handle)))))
6543              gnus-mime-multipart-functions))))
6544@end lisp
6545
6546HTML メールを読むために @code{shr} を使うと、それはメールの中の複数
6547の HTML パートの間にあるページ区切り (つまり ~L) を消してしまいます。以
6548下の advice はそれらのページ区切りを (元々なくても) 追加するための例です。
6549新聞 (@pxref{Shimbun Library}) を読むとき役に立つかもしれません:
6550
6551@lisp
6552(defadvice gnus-mime-display-mixed (around add-page-delimiter
6553                                           (handles) activate)
6554  "Add page delimiters to the beginning of succeeding html parts."
6555  (if (eq mm-text-html-renderer 'shr)
6556      (progn
6557        (gnus-mime-display-part (pop handles))
6558        (while handles
6559          (if (equal (mm-handle-media-type (car handles))
6560                     "text/html")
6561              (insert "\C-l\n"))
6562          (gnus-mime-display-part (pop handles))))
6563    ad-do-it))
6564@end lisp
6565
6566@item yahtml-mode
6567
6568Emacs-w3m を使って、@code{yahtml-mode} でまさに編集中の HTML ファイル
6569を下見 (preview) することができます。例です:
6570
6571@lisp
6572(defadvice yahtml-browse-html
6573  (around w3m-yahtml-browse-html activate compile)
6574  (w3m-goto-url (ad-get-arg 0) t))
6575@end lisp
6576@end itemize
6577
6578@node Mailing List
6579@chapter メーリングリスト、バグリポート
6580@cindex Subscribing to the emacs-w3m mailing list
6581@cindex Reporting bugs
6582
6583Emacs-w3m に関するすべてのことがらを話し合うためのメーリングリストが用意
6584されています。購読していない人も投稿できます。バグを見つけたり、こんな機
6585能が欲しいなと思ったり、あるいはコードを書きましたという人はどうぞ投稿し
6586てください。単なるユーザだけれどもプログラムに興味があるという人も、ぜひ
6587参加してください。アドレスは以下の通りです:
6588
6589@display
6590Emacs-w3m メーリングリスト @t{<emacs-w3m@@namazu.org>}
6591@end display
6592
6593もし @code{mail-user-agent} を正しく動作するように設定してあれば、
6594@code{report-emacs-w3m-bug} コマンド (または @w{@kbd{C-c C-b}} キー) を
6595使ってバグリポートを送ることもできます。
6596
6597このリストに投稿するときは、日本語か英語を使ってください。多くのメンバー
6598は日本人です。投稿された記事は公開されていて、ウェ
6599ブ (@uref{http://emacs-w3m.namazu.org/ml/}) でも読むことができます。
6600
6601このリストのメッセージをメールで受け取りたい人は、本文に
6602
6603@example
6604subscribe ANATANO Namae
6605@end example
6606
6607のように書いて (メールアドレスではなくてあなたの名前を書きます)、
6608@samp{emacs-w3m-ctl@@namazu.org} 宛にメールを送るとメーリングリストに登
6609録されます。また、メールを受け取るのをやめるには、本文に
6610
6611@example
6612# bye
6613@end example
6614
6615と書いたメールを @samp{emacs-w3m-ctl@@namazu.org} 宛に送ってください。
6616
6617@node Emacs-w3m Functions
6618@chapter Emacs-w3m の関数の詳しい説明
6619@cindex Functions details
6620
6621
6622@node External Packages
6623@chapter お仲間のパッケージたち
6624
6625Emacs-w3m は潤沢な機能を提供しますが、さらに便利にするために以下の外部パッ
6626ケージを使うのも良いかもしれません。
6627
6628@itemize @bullet
6629@item
6630w3m-type-ahead.el
6631
6632w3m-type-ahead.el パッケージは ``type ahead'' 検索機能 (Mozilla ブラウザ
6633に同じ名前の似た機能があります) を提供します。それは isearch に似た操作
6634でアンカーを探すこと (ただし結果はバッファ内のアンカーに限定されます) を
6635可能にします。
6636
6637w3m-type-ahead.el のダウンロード:
6638@uref{http://alioth.debian.org/project/showfiles.php?group_id=30594}
6639
6640@item
6641newsticker.el
6642
6643Emacs 22 以上で組み込まれている newsticker.el は rss フィードやさら
6644に atom フィードを眺めるための道具です。以下は emacs-w3m ととも
6645newsticker.el を使うための設定例です (@file{~/.emacs} ファイルに置い
6646てください):
6647
6648@lisp
6649(require 'w3m-load)
6650(setq newsticker-html-renderer 'w3m-region
6651      browse-url-browser-function 'w3m-browse-url)
6652@end lisp
6653
6654詳しくは: @xref{Top, ,Top, Newsticker, A Newsticker for Emacs}.
6655@end itemize
6656
6657@node Authors
6658@chapter このマニュアルを書いた人たち
6659
6660@itemize @bullet
6661@c 50音順
6662@item
6663白井 秀行
6664@item
6665土屋 雅稔
6666@item
6667中島 幹夫
6668@item
6669中山 洋一
6670@item
6671Romain Francoise
6672@item
6673山岡 克美
6674@item
6675大和 正武
6676@item
6677青田 直大
6678@end itemize
6679
6680@node Index
6681@unnumbered 索引
6682
6683@menu
6684* Concept Index::               概念索引
6685* Key Index::                   キーバインド索引
6686* Variable Index::              変数索引
6687* Function Index::              関数索引
6688@end menu
6689
6690@node Concept Index
6691@unnumberedsec 概念索引
6692@printindex cp
6693
6694@node Key Index
6695@unnumberedsec キーバインド索引
6696@printindex ky
6697
6698@node Variable Index
6699@unnumberedsec 変数索引
6700@printindex vr
6701
6702@node Function Index
6703@unnumberedsec 関数索引
6704@printindex fn
6705
6706@bye
6707
6708@c Local Variables:
6709@c fill-column: 72
6710@c use-kuten-for-period: t
6711@c use-touten-for-comma: t
6712@c End:
6713