Emacs 27.2のFAQ

# あらまし
しばらくQiitaには投稿してなかったのですが、EmacsのAdvent Calendarに空きがあると知り、何か書こうと思ったんですが特に手持ちネタもなく、結局自分が読んでみたい/読んだものを載せようかということで投稿させて頂きました。

で、投稿するのはEmacsに同梱されているFAQです。問題に逢ったとき真っ先に読むべきコンテンツですが、恥ずかしながら今回が初見でした。

読んだのは現時点リリース最新版の27.2のFAQですが、文中に激しく更新されているという記述があるように先日pretestその1が公開されたEmacs 28.1にたいしては内容が古くなっているかもしれません(とはいえ激しく更新されているのはEmacsや付随するマニュアルも同様で`~/.emacs`など、本体の更新に追いつけていない記述もチラホラあります)。

# 本体
Qiitaのマークダウンに変換を試みたんですがページ内リンク解決とか手間取りそうだったので、ここには単にテキスト変換したもの、[ウェブ参照用](https://ayatakesi.github.io/misc/efaq.html)、ソース見たいという方には[作業用レポジトリ](https://github.com/ayatakesi/qiita_AdventCalendar2021)をご案内しておきます。


<details><summary>Emacs FAQ for version 27.2</summary><div>

```
The GNU Emacs FAQ
1 FAQの表記について
  1.1 ‘C-h’、‘C-M-a’、<RET>、‘<ESC> a’等は何を意味するのか?
  1.2 ‘M-x COMMAND’の意味は?
  1.3 EmacsマニュアルでトピックXXXを読むには?
  1.4 ‘src/config.h’、‘site-lisp/default.el’等は何なのか?
  1.5 FSF、GNU、RMS、GPLとは何なのか?
2 一般的な質問
  2.1 GNUのcopyleftとは法的に実際には何を意味するのか?
  2.2 What are appropriate messages for the various Emacs newsgroups?
  2.3 <news:gnu.emacs.help>や他のGNUグループへの古い投稿はどこで入手できる?
  2.4 Emacsのバグやその他の問題はどこにレポートすれば?
  2.5 How do I unsubscribe from a mailing list?
  2.6 How do I contact the FSF?
3 助けを得るには
  3.1 Emacsは初めて; 基本的な編集を行うには?
  3.2 Emacsで何かを行う方法を見つけるには?
  3.3 Emacsマニュアルの印刷版コピーを入手するには?
  3.4 Emacs Lispではどこでドキュメントを入手すれば?
  3.5 Texinfoドキュメントをインストールするには?
  3.6 Texinfoファイルをプリントするには?
  3.7 Emacsを使わずにInfoファイルを閲覧できる?
  3.8 利用できるEmacs情報のファイルは?
  3.9 Emacsのインストールでどこに助けを求めれば?
  3.10 このFAQの最新版はどこで入手できる?
4 Emacsの状況について
  4.1 “Emacs”という名前の由良は?
  4.2 Emacsの最新バージョンとは?
  4.3 Emacs 27は何が違う?
  4.4 Emacs 26は何が違う?
  4.5 Emacs 25は何が違う?
  4.6 Emacs 24は何が違う?
  4.7 Emacs 23は何が違う?
  4.8 Emacs 22は何が違う?
  4.9 Emacs 21は何が違う?
  4.10 Emacs 20は何が違う?
5 よくある要望
  5.1 ‘.emacs’ファイルを正しくセットアップするには?
  5.2 Customizeを使い始めるには?
  5.3 TTYで色や構文ハイライトするには?
  5.4 ‘.emacs’ファイルをデバッグするには?
  5.5 Emacsに現在の行(や列)の番号を表示させるには?
  5.6 現在のファイル名をタイトルバーに含めるには?
  5.7 モードMYMODEでデフォルトでabbrevをオンにするには?
  5.8 特定のファイルに特定のモードをEmacsに使用させるには?
  5.9 ハイライトされたテキストをタイプしたテキストで置き換えるには?
  5.10 検索や置換の際にEmacsによる大文字小文字の区別を制御するには?
  5.11 プリント不可文字(8ビット文字やコントロール文字)の検索、削除、置換を行うには?
  5.12 isearchやquery-replaceで改行を入力するには?
  5.13 killリングから検索文字列にテキストをコピーするには?
  5.14 自分用にEmacsに単語を折り返させるには?
  5.15 デフォルトで‘auto-fill-mode’をオンにするには?
  5.16 ‘load-path’を変更するには?
  5.17 別ウィンドウですでに実行中のEmacsを使用するには?
  5.18 わたしのコンパイラーの変なエラーメッセージをEmacsに認識させるには?
  5.19 ‘switch’のインデントを変更するには?
  5.20 C、C++、Javaのバッファーのインデントをカスタマイズするには?
  5.21 Emacsに挿入ではなく“上書き”させるには?
  5.22 端末でEmacsのビープ音を止めるには?
  5.23 XでEmacsを実行中にベル音量を下げるには?
  5.24 新しい行を前の行に合わせて自動的にインデントするようEmacsに伝えるには?
  5.25 自分が注目中のカッコに対応するカッコを表示するには?
  5.26 Cモードでコンパイラーが‘#ifdef’処理後に残る行だけを表示するには?
  5.27 できるだけ沢山コマンドを繰り返すには?
  5.28 有効なXリソース(.Xdefaults内の項目)は?
  5.29 Emacs Lispのコード片を実行(“evaluate”)するには?
  5.30 <TAB>文字の長さにたいするEmacsの解釈を変更するには?
  5.31 各行の先頭に<何らかのテキスト>を挿入するには?
  5.32 上下に移動した際にたとえ短すぎる行でも同じ列にカーソルが留まる; このようにEmacsを振る舞わせるには?
  5.33 アイコン化するようEmacsに伝えるには?
  5.34 Emacsでregexp(正規表現)わ使用するには?
  5.35 複数ファイルを横断して置換操作を行うには?
  5.36 ‘etags’のドキュメントはどこ?
  5.37 バックアップファイルを無効にするには?
  5.38 ‘auto-save-mode’を無効にするには?
  5.39 行番号で特定行に移動するには?
  5.40 プルダウンの新たなメニューオプションの作成や変更を行うには?
  5.41 メニューやメニューオプションを削除するには?
  5.42 構文ハイライトをオンにするには?
  5.43 画面下端に移動した際にEmacsが1行だけスクロールするよう強制するには?
  5.44 EmacsでMS-DOSファイルを編集するには?
  5.45 ピリオドごとにその後の単一スペースでパラグラフをフィルするようEmacsに伝えるには?
  5.46 なぜShellモード‘ls’は奇妙なエスケープシーケンスを出力するのか?
  5.47 MS-WindowsでフルスクリーンモードでEmacsを開始するには?
6 バグやトラブル
  6.1 Emacsにとって大きなファイルは問題になるか?
  6.2 Shellバッファーから‘^M’やエコーされるコマンドを取り除くには?
  6.3 ‘M-x shell’を実行するとエラーメッセージを返されるのはなぜ?
  6.4 端末タイプ‘emacs’用のtermcap/terminfoエントリーはどこ?
  6.5 Emacsが‘Error in init file’と言うのはなぜ?
  6.6 EmacsがXリソース(わたしの.Xdefaultsファイル)を無視するのはなぜ?
  6.7 わたしがカスタマイズしたフレームパラメーターが機能しないのはなぜ?
  6.8 名前に‘$’があるファイルを編集するには?
  6.9 Shellモードがシェルのカレントディレクトリーを見失うのはなぜ?
  6.10 Emacsにセキュリティリスクはある?
  6.11 何かしようとするとDiredが‘no file on this line’と言う。
7 Emacsのコンパイルとインストール
  7.1 Emacsをインストールするには?
  7.2 Emacsのビルドでトラブルに逢ったらどうすれば?
8 Emacsおよび関連パッケージの見つけ方
  8.1 ネットショップのどこでEmacsを入手できる?
  8.2 XXXを行うEmacs Lispパッケージを見つけるには?
  8.3 Emacsに同梱されていないEmacs Lispパッケージはどこで入手できるのか?
  8.4 スペルチェッカー
  8.5 その他の最新のGNUスタッフはどこで入手できる?
  8.6 EmacsとXEmacs(以前はLucid Emacs)の違いは?
  8.7 Emacsをインストールするための空き容量が不十分
  8.8 MS-DOS用のEmacsはどこ?
  8.9 Microsoft Windows用のEmacsはどこ?
  8.10 GNUstep用のEmacsはどこ?
  8.11 macOS用のEmacsはどこ?
9 キープバインディング
  9.1 キー(ファンクションキー含む)をコマンドにインストールするには?
  9.2 Emacsが‘Key sequence XXX uses invalid prefix characters’と言うのはなぜ?
  9.3 Emacs起動後でなければ‘.emacs’ファイルの[端末やウィンドウシステム]のセットアップコードが機能しないのはなぜ?
  9.4 ファンクションキーや矢印キーが発する文字やシンボルを確認するには?
  9.5 Xのキー変換をEmacs用に設定するには?
  9.6 <Backspace>キーがヘルプを呼び出すのはなぜ?
  9.7 2つのキーを入れ替えるには?
  9.8 キーボードでC-XXXを生成するには?
  9.9 <Meta>キーがない、どうすれば?
  9.10 <Escape>キーがない、どうすれば?
  9.11 <Compose Character>キーを<Meta>キーのように機能させるには?
  9.12 修飾キーとファンクションキーの組み合わせをバインドするには?
  9.13 ‘xterm’ウィンドウで<Meta>キーが機能しないのはなぜ?
  9.14 HP-UX 8.0および9.xで<ExtendChar>キーが<Meta>キーのように機能しないのはなぜ?
  9.15 <SPC>でファイル名が他の人されなくなった、なぜ?
10 代替文字集合
  10.1 Emacsで8ビット文字を表示するには?
  10.2 8ビット文字を入力するには?
  10.3 セム語アルファベット(右から左に記述)を扱えるEmacsを入手できるのはどこ?
  10.4 Emacsで使うフォントを追加するには?
11 メールとニュース
  11.1 メール/ニュースのフォローアップにふくまるテキストプレフィクスを変更するには?
  11.2 送信メールのコピーを保存するには?
  11.3 送信時にEmacsがエイリアスを展開しない、なぜ?
  11.4 Rmailフォルダーｎメッセージを並び替えるには?
  11.5 Rmailが‘/var/spool/mail’への書き込みを必要とするのはなぜ?
  11.6 他の受信者を除き送信者だけにRmailが返信するよう強制するには?
  11.7 メール/ニュースリーダーをEmacsに自動的に開始させるには?
  11.8 Emacsでニュースを読むには?
  11.9 Gnusわ高速にするには?
  11.10 Gnusの全ニュースグループをキャッチアップするには?
Concept Index
The GNU Emacs FAQ
*****************

これはGNU EmacsのFAQ(Frequently Asked Questions: よくある質問)です。

   このFAQはGNU Emacsの一部として保守されています。何か間違いを見つけた
り提案がある場合には、それらを報告するために‘M-x report-emacs-bug’を使う
ようお願いします。

   これはEmacs 27.2とともに配布されているバージョンのFAQであり、主にその
バージョンについて記述しています。それより古いバージョンについての情報が
あったとしても、(今となっては歴史的な関心のためだけとなった)非常に古いリ
リースに関する詳細は削除されています。これらに興味がある場合には古いバー
ジョンのEmacsに同梱されているバージョンのFAQ、あるいはこのドキュメントの
Emacsソースレポジトリのヒストリーを参照してください。

   Emacsのリリースバージョンはとても安定しているので、常に最新リリースの
実行をお勧めします。

   このFAQは非常に頻繁に更新されている訳ではありません。Emacsについての
疑問がある場合には、Emacsマニュアルが最良の出発点であることが多々ありま
す。

   Copyright © 2001–2021 Free Software Foundation, Inc.
Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2000 Reuven M. Lerner
Copyright © 1992, 1993 Steven Byrnes
Copyright © 1990, 1991, 1992 Joseph Brian Wells

     This list of frequently asked questions about GNU Emacs with
     answers (“FAQ”) may be translated into other languages, transformed
     into other formats (e.g., Texinfo, Info, HTML, PDF), and updated
     with new information.

     The same conditions apply to any derivative of the FAQ as apply to
     the FAQ itself.  Every copy of the FAQ must include this notice or
     an approved translation, information on who is currently
     maintaining the FAQ and how to contact them (including their e-mail
     address), and information on where the latest version of the FAQ is
     archived (including FTP information).

     The FAQ may be copied and redistributed under these conditions,
     except that the FAQ may not be embedded in a larger literary work
     unless that work itself allows free copying and redistribution.

     [This version has been heavily edited since it was included in the
     Emacs distribution in 1999.]

1 FAQの表記について
*******************

このチャプターではGNU Emacs FAQ、並びにEmacsドキュメントで使用する表記に
ついて説明します。これがFAQを読む最初の機会の場合、あるいはFAQで使用され
ている表記や用語について混乱したらこのセクションを参照してください。

1.1 ‘C-h’、‘C-M-a’、<RET>、‘<ESC> a’等は何を意味するのか?
=========================================================

   • ‘C-x’:<Control>キーを押したまま‘x’キーを押下する

   • ‘M-x’: <Meta>キー(コンピューターに<Meta>キーがなければ*note No Meta
     key::を参照)を押したまま‘x’キーを押下する

   • ‘M-C-x’: <Control>と<Meta>の両方を押したまま‘x’キーを押下する

   • ‘C-M-x’: 上記と同義

   • <LFD>: ラインフィードまたは改行; ‘C-j’と同じ

   • <RET>: <Return>のこと、<Enter>と記される場合もあり; ‘C-m’と同じ

   • <DEL>: <Delete>のこと、通常は<Backspace>と*同じではない*; ‘C-?’と同
     じ (deleteでEmacsのヘルプが呼び出される場合には*note Backspace
     invokes help::を参照)

   • <ESC>: Escapeのこと; ‘C-[’と同じ

   • <TAB>: Tabのこと; ‘C-i’と同じ

   • <SPC>: Spaceバー

   1つのキー(およびいくつかの単一キーシーケンス)より長いキーシーケンスは
以下のようにクォート内部や行にその文字自体を記述します:

       ‘M-x frobnicate-while-foo <RET>’

このようなキーシーケンス内にある実際のスペースはすべて無視する必要があり
ます; 実際にスペースキーの押下を意味するのは<SPC>だけです。

   ‘C-x’ (‘C-?’は例外)により送信されるASCIIコードは単に‘x’を押下時に送信
される値から96(大文字の‘X’では64)を減じた値であり、これは0から31になるで
しょう。UnixおよびGNU/Linuxの端末においては、‘M-x’が送信するASCIIコード
は単に‘x’を押下時に送信される値に128を加えた値になります。基本的には
<Control>はビット5とビット6をオフにして、<Meta>はビット7をオンにします
(1)。

   ‘C-?’ (別名<DEL>)はASCIIコードの127です。127はビットの5と6がどちらも
オンなので、‘C-?’を“control”キーと呼ぶのは誤った呼び方です。更にほとんど
ありませんが‘C-?’がASCIIコードの127を生成するキーボードも存在します。

   *note (emacs)Keys::を参照してください。

   ---------- Footnotes ----------

   (1) DOSおよびWindowsの端末では<Meta>キー押下時にビット7をセットしませ
ん。

1.2 ‘M-x COMMAND’の意味は?
==========================

‘M-x COMMAND’は‘M-x’をタイプしてからコマンドの名前、その後に<RET>をタイ
プする(‘M-x’や<RET>の意味があやふやなら*note Basic keys::を参照)。

   (デフォルトでは)‘M-x’はコマンド‘execute-extended-command’を呼び出しま
す。このコマンドによってコマンド名を覚えていれば任意のEmacsコマンドを実
行できます。コマンド名を覚えることができなければ補完には<TAB>や<SPC>、利
用可能なコマンドの一覧は‘?’、以前に入力したコマンドの確認には‘M-p’と
‘M-n’(または上下の矢印)をタイプできます。Emacsの“コマンド(command)”とは
“インタラクティブ(interactive: 対話的)”なEmacs関数のことです。

   システム管理者によって‘execute-extended-command’呼び出しが別のキーに
バインドされているかもしれません。‘Do’とラベル付けされたキーをもつような
キーボードなら、これを行うための良い候補になります。

   非インタラクティブなEmacs関数の実行が必要なら*note Evaluating Emacs
Lisp code::を参照してください。

1.3 EmacsマニュアルでトピックXXXを読むには?
===========================================

わたしたちがEmacsマニュアル内のあるTOPICを参照する際には、‘C-h i m emacs
<RET> m TOPIC <RET>’とタイプすれば(壊れていなければ)そのマニュアルノード
の中を読むことができます。

   これはInfo、つまりGNUハイパーテキストドキュメントブラウザを呼び出しま
す。Infoの使用方法をまだご存知なければ、Info内で‘?’をタイプしてください
。

   わたしたちがTOPIC:SUBTOPICで参照する場合には‘C-h i m emacs <RET> m
TOPIC <RET> m SUBTOPIC <RET>’とタイプしてください。

   これらのコマンドが期待した通りに機能しなければ、システム管理者が
Infoファイルをインストールしていないか、正しくインストールされていないか
もしれません。この場合には苦情を申し立てるべきでしょう。

   Info内でこのFAQを読んでいるなら、リファレンス上で単に<RET>を押下すれ
ばフォローできます。

   Emacsマニュアルのハードコードをご所望なら*note Getting a printed
manual::を参照してください。

1.4 ‘src/config.h’、‘site-lisp/default.el’等は何なのか?
=======================================================

これらはEmacsとともに配布されるファイルです。Emacsディストリビューション
は‘etc’、‘lisp’、‘src’等のサブディレクトリーに分かれています。これらの内
のいくつか(‘etc’や‘lisp’など)はインストール済みEmacsとソースの両方に存在
しますが、ソース内でのみ見いだせるものもあります(‘src’など)。

   Emacsを使っているもののシステム上のどこにあるか判らない場合には、
Emacsを起動して‘C-h v data-directory <RET>’とタイプしてください。表示さ
れるディレクトリー名は、‘etc’ディレクトリーがインストールされたフルパス
になるでしょう(このフルパスはEmacs変数‘data-directory’に記録されており、
‘C-h v’でこの値と変数のドキュメントが表示される)。

   Infoディレクトリーの場所(Infoドキュメントが格納されている場所)は、変
数‘Info-default-directory-list’に保持されています。この変数の値(ディレク
トリー名のリスト)を確認するには‘C-h v Info-default-directory-list
<RET>’を使用してください。このリスト内にある最後のディレクトリーに、恐ら
くもっとも多くのInfoファイルが格納されているでしょう。デフォルトでは
EmacsのInfoドキュメントは‘/usr/local/share/info’にあります。

   ‘etc’ディレクトリー内にあるいくつかのファイルに関する情報については
*note Informational files for Emacs::を参照してください。

1.5 FSF、GNU、RMS、GPLとは何なのか?
===================================

FSF
     フリーソフトウェア財団(Free Software Foundation)

GNU
     GNU’s Not Unix(GNUはUnixではない)

RMS
     Richard Matthew Stallman

GPL
     GNU 一般公衆利用許諾書(GNU GENERAL PUBLIC LICENSE)

   フリーソフトウェア財団(Free Software Foundation)のタイトルにある“フリ
ー(free)”とは、“ゼロコスト(zero cost)”ではなく“自由(freedom)”を意図した
単語です。GPLの対象となるソフトウェアにたいして、もし望むなら誰でも対価
を請求できます。とはいえ実際にはGPLが課した自由により、誰でもGPLソフトウ
ェアの再販や譲渡を行う権利を有するので、常に誰か他の人からより少ない金額
でソフトウェアを入手できることから低価格へとつながります。

2 一般的な質問
**************

このチャプターではEmacs、フリーソフトウェア財団や関連する組織にたいする
一般的な問いが含まれています。

2.1 GNUのcopyleftとは法的に実際には何を意味するのか?
====================================================

GNU 一般公衆利用許諾書、いわゆるGPL(コピーレフト)の真の法的な意味合いは
、裁判官がその有効性と範囲を裁定した場合にのみ明らかになります。判例とし
て定められるようなGPLが関与する著作権侵害の訴訟はこれまでに一度もありま
せんでした。GPL条件への違反によって企業への訴訟が起こされましたが、これ
までのところすべてが法廷外で(原告に有利に)和解されています。この問題に関
しての議論は、どうかこの問題について盛大に言い合うために作成されたニュー
スグループ<news:gnu.misc.discuss>で行うようお願いします。

   RMSは記しています:

     GNUコピーレフトの法的な意味は、Emacsがフリーソフトウェアプロジェク
     トであり、Emacsに関連する作業もフリーソフトウェアであるべきだという
     精神ほど重要ではありません。“フリー(free)”とはすべてのユーザーが
     Emacsを学び、共有して、変更や改善を行う自由(freedom)をもっていると
     いう意味です。すべての人がこの自由を有することを保証するために、あ
     なたがEmacsのあるバージョンや関連プログラムを配布する際には、それを
     受け取る人にソースコードも渡すことによって、あなたが楽しんだのと同
     じ自由を分け与えてください。

2.2 What are appropriate messages for the various Emacs newsgroups?
===================================================================

Emacsメーリングリストはthe Emacs Savannah page
(https://savannah.gnu.org/mail/?group=emacs)に記述があります。それらのう
ちのいくつかはニュースグループへゲートウェイされています。

   Emacsプログラム全般に関する議論はニュースグループ<news:comp.emacs>、
<news:gnu.emacs.help>はGNU Emacsに特化したニュースグループです。したがっ
てある問いにたいして適切なニュースグループは1つだけなので、両方のグルー
プへの多重投稿には意味がありません。

   問題について派手に言い合うために作成された<news:gnu.misc.discuss>を除
いて、“非フリー(non-free)”なソフトウェアを推奨するようなメッセージは
‘gnu.*’ニュースグループのすべてにおいて受け入れ難いものとみなされます。
“非フリー”なソフトウェアにはエンドユーザーが自由にソースコードを改変した
り拡張機能の取り替えができないすべてのソフトウェアが含まれます。そのよう
なソフトウェアを推奨するフォローアップを投稿する際には、‘Newsgroups:’行
から‘gnu.*’グループを削除するよう注意してください。

   <news:gnu.emacs.bug>ではバグレポートを目にしますが、このニュースグル
ープに直接バグレポートを投稿することは避けてください(*note Reporting
bugs::を参照)。

   最後にGNUのメーリングリストやニュースグループに投稿する前にGNU Kind
Communications Guidelines
(https://www.gnu.org/philosophy/kind-communication.html)を一読することを
お勧めします。

2.3 <news:gnu.emacs.help>や他のGNUグループへの古い投稿はどこで入手できる?
=========================================================================

網羅する範囲において意図せぬずれがあるかもしれませんが、FSFはGNUメーリン
グリストすべてのアーカイブを長年保守してきました。このアーカイブがthe
GNU mail archive (https://lists.gnu.org/r/)でウェブ上で閲覧できます。

   Google (http://groups.google.com/groups/dir?q=gnu&)のようなウェブベー
スのUsenet検索サービスでも‘gnu.*’はアーカイブされています。

2.4 Emacsのバグやその他の問題はどこにレポートすれば?
====================================================

コマンド‘M-x report-emacs-bug’を使用するのがEmacsのバグを報告する正しい
方法です。このコマンドは必要な情報と正しいEメールアドレス
<bug-gnu-emacs@gnu.org>でメールバッファーをセットアップします。ここに送
信したものはニュースグループ<news:gnu.emacs.bug>でも目にすることができま
すが、バグレポートの提出にはどうかニュースではなくEメールを使用してくだ
さい。これによって信頼できる返信アドレスが保証されるので、詳細についてあ
なたに連絡をとることができるようになります。

   バグを報告する前に必ずEmacsマニュアルの“Bugs”セクションを読んでくださ
い。マニュアルには有用なバグレポートを投稿する方法(*note Reporting Bugs:
(emacs)Bugs.を参照)が詳細に渡って記述されています(マニュアルの読み方が判
らなければ*note Emacs manual::を参照)。

   RMSは述べています:

     バグレポートをthe help-gnu-emacs mailing list
     (https://lists.gnu.org/mailman/listinfo/help-gnu-emacs)
     (<news:gnu.emacs.help>に投稿される効果をもつ)に送信するのは、(ほと
     んどは問題を解決するアイデアをもたない単なるユーザーである)多数の人
     たちの時間を不必要に費やさせるので望ましくありません。The
     bug-gnu-emacs list
     (https://lists.gnu.org/mailman/listinfo/bug-gnu-emacs)なら、恐らく
     何をするべきかもっと知識があり、他のものよりもEmacsのメッセージを受
     け取りたいと表明している、より少ない人たちにメッセージを届けられま
     す。

   RMSは<news:gnu.emacs.help>へ投稿しても問題がない場合について述べてい
ます:

     バグをレポートして利用可能な修整について収穫が得られなかったら適切
     な遅延(1週間とか)を経た後で、あなたを助けられる誰かに助けを求めるた
     めに‘gnu.emacs.help’へ投稿することに問題はありません。

   バグを発見したのか確信がもてない場合には、RMSの好意による以下のそれほ
ど徹底はされていないリストを検討してみてください:

     Emacsがクラッシュしたら、それはバグです。Emacsのビルド時にコンパイ
     ルがエラーとなるなら、それはバグです。ビルド時にEmacsがクラッシュし
     たら、それはバグです。ドキュメントに記述された通りにLispコードが処
     理を行わなければ、それはバグです。

2.5 How do I unsubscribe from a mailing list?
=============================================

あなたがLISTという名前のGNUメーリングリストからメールを受信しているなら
、アドレス<LIST-request@gnu.org>にリクエストを送信すれば登録解除できるは
ずです。メーリングリストのメールには通常ならメッセージヘッダー
(‘List-Unsubscribe:’)、あるいはフッターのいずれかに登録を解除する方法を
告げる情報が含まれています。

2.6 How do I contact the FSF?
=============================

最新の情報はthe FSF contact web-page
(https://www.fsf.org/about/contact.html)を参照してください。一般的な対応
なら<info@fsf.org>に送信できます。

   FSFに直接アイテムを注文する方法の詳細はFSF on-line store
(https://shop.fsf.org/)を参照してください。

3 助けを得るには
****************

このチャプターではEmacsでヘルプを得る方法について説明します。

3.1 Emacsは初めて; 基本的な編集を行うには?
==========================================

マイペースで学べるチュートリアルを呼び出すには‘C-h t’とタイプします。単
に‘C-h’とタイプすることでヘルプシステムにエンターします。このチュートリ
アルはEmacs 22以降はフランス語、ドイツ語、日本語、ロシア語等、英語以外の
多くの言語で利用できるようになりました。言語を選んでチュートリアルを開始
するには‘M-x help-with-tutorial-spec-language <RET>’とタイプしてください
。

   ローカルのキーボードを処理するために、‘C-h’が<DEL>のように振る舞うよ
うにシステム管理者が変更しているかもしれません。ヘルプの呼び出しにはかわ
りに‘M-x help-for-help’を使用できます。システム上でヘルプを呼び出すキー
(もしあれば)を見つけるには‘M-x where-is <RET> help-for-help <RET>’とタイ
プします。これはエコーエリア内にカンマで区切られたキーシーケンスのリスト
をプリントします。リストされた各キーシーケンスの最後の文字は無視してくだ
さい。結果として得られたキーシーケンス(<F1>が一般的)のそれぞれがヘルプを
呼び出します。

   Emacsのヘルプが単一のキーで呼び出せればもっとも良く機能します。この値
は変数‘help-char’に格納されているはずです。

   <http://web.psung.name/emacs/>ではEmacsのスライドやチュートリアルをい
くつか見つけることができます。

3.2 Emacsで何かを行う方法を見つけるには?
========================================

Emacsで物事を行う方法を見つけるには複数の手法があります。

   • Infoハイパーテキストリーダーを通じてEmacsマニュアルの完全なテキスト
     が利用できます。Infoモードでマニュアルを表示するには‘C-h r’とタイプ
     してください。Infoにエンター直後に‘h’とタイプすれば、その使用方法に
     関する短いチュートリアルが提供されるでしょう。

   • 特定の問題やコマンド、変数について述べているマニュアルのセクション
     を素早く見つけるには‘C-h i m emacs <RET> i TOPIC <RET>’とタイプしま
     す。これで正しいマニュアル箇所に辿り着けないようなら、必要なものが
     見つかるまで‘,’ (カンマ)を繰り返し押下してください(‘i’と‘,’はタイプ
     されたTOPICをEmacsマニュアルの全インデックスから探すインデックス検
     索関数を呼び出すキー)。

   • ‘C-h a’ (‘M-x command-apropos’)を使用すれば、特定の単語を含んだすべ
     てのコマンド(実際には正規表現にマッチしたコマンド)を一覧できます。

   • コマンド‘C-h F’ (‘Info-goto-emacs-command-node’)はコマンド名の入力
     を求めて、そのコマンドの記述があるEmacsマニュアルのセクションの検索
     を試みます。

   • ‘M-x apropos’を使用すれば名前に特定の単語を含んだ関数およびコマンド
     をすべて一覧できます。

   • ‘M-x apropos-documentation’を使用すればドキュメントが正規表現または
     文字列ににマッチする関数およびコマンドをすべて一覧できます。

   • FSFからマニュアルのハードコードを注文できます。*note Getting a
     printed manual::を参照してください。

   • コマンドとそれらを呼び出すキーを一覧する印刷されたリファレンスカー
     ドを入手できます。$2(または$10か$18)でFSFに注文するか、Emacsディス
     トリビューション内のファイル‘etc/refcards/refcard.tex’または
     ‘etc/refcards/refcard.pdf’を自分でプリントできます。バージョン
     21.1以降のEmacsディストリビューションには複数の言語に翻訳されたリフ
     ァレンスカードが同梱されています。‘etc/refcards/LANG-refcard.*’
     (LANGは言語のアルファベット2文字コード)という名前のファイルを探して
     みてください。たとえばドイツ語バージョンのリファレンスカードは
     ‘etc/refcards/de-refcard.tex’と‘etc/refcards/de-refcard.pdf’にあり
     ます。

   • Emacsには他にもヘルプや情報を得るためのコマンドが多数存在します。こ
     れらのコマンドの一覧を得るには‘C-h’の後に‘?’をタイプしてください。

3.3 Emacsマニュアルの印刷版コピーを入手するには?
================================================

Emacsマニュアルの印刷されたコピーわFSFに注文できます。詳細はFSF on-line
store (https://shop.fsf.org/)を参照してください。

   この数百ページに及ぶマニュアルを自分でプリントする勇気があるなら、マ
ニュアルの完全なTexinfoソースもEmacsディストリビューションの
‘doc/emacs’ディレクトリーにあります(*note Printing a Texinfo file::を参
照)。

   どうしても自分でコピーをプリントする必要があるもののTeXがない場合には
、

   <https://www.gnu.org/software/emacs/manual/>からPostScriptやPDF(ある
いはHTML)のバージョンを入手できます。

   Emacsからマニュアルを閲覧する方法については*note Learning how to do
something::を参照してください。

3.4 Emacs Lispではどこでドキュメントを入手すれば?
=================================================

Emacsでは関数なら‘C-h f’、変数なら‘C-h v’とタイプしてドキュメントを入手
できます。

   詳細についてはEmacs LispリファレンスマニュアルがInfo形式で利用可能で
す(*note Emacs Lisp: (elisp)Top.を参照)。

   FSFにマニュアルのハードコードを注文することもできます。詳細はFSF
on-line store (https://shop.fsf.org/)を参照してください(このマニュアルは
常にプリントされる訳ではない)。

   Emacs LispリファレンスマニュアルのHTMLバージョンは

   <https://www.gnu.org/software/emacs/elisp-manual/elisp.html>から利用
できます。

3.5 Texinfoドキュメントをインストールするには?
==============================================

Emacsのリリースにはビルド前のInfoファイルが同梱されており、通常のインス
トールプロセスによって正しい場所に配置されます。これはInfoファイルを提供
するほとんどのアプリケーションにも当てはまります。以降は手作業で追加の
Infoファイルをインストールしたいユーザーだけに関係のあるセクションです。

   まずはTexinfoソースファイルをInfoファイルにしなければなりません。

   <https://www.gnu.org/software/texinfo/>にあるTexinfoパッケージの一部
として利用可能なスタンドアロンプログラム‘makeinfo’を使用してこれを行うこ
とができます。

   TexinfoフォーマットについてはTexinfoパッケージに同梱されている
Texinfoマニュアルを読んでください。このマニュアルはInfoフォーマットでも
インストールされるので、Emacsから‘C-h i m texinfo <RET>’とタイプして読む
ことができます。

   かわりに変換したいマニュアルのTexinfoソースファイルをEmacsでvisitした
後にコマンド‘M-x texinfo-format-buffer’を使用することもできます。

   ‘texinfo-format-buffer’と‘makeinfo’はどちらも実行結果のInfoファイルを
EmacsのInfoツリーにインストールしません。Infoファイルをインストールする
には以下の手順を行ってください:

  1. インストール済みEmacsディストリビューションの‘info’ディレクトリーに
     ファイルを移動する。場所が判らなければ*note File-name
     conventions::を参照のこと。

  2. メインのInfoディレクトリーメニュー更新のために、以下のようにして
     Texinfoディストリビューションの一部である‘install-info’コマンドを実
     行する。:

           install-info --info-dir=DIR-PATH DIR-PATH/FILE

     ここでDIR-PATHは生成したInfoファイルをコピーしたディレクトリーへの
     フルパス、FILEは生成してインストールしたいInfoファイルの名前。

     インストール済みの‘install-info’コマンドがなければインストール済み
     Emacsディストリビューションのファイル‘info/dir’を編集してインストー
     ルされているInfoパッケージ内のトップレベルノードに行を追加できる。
     このファイル内にある例にしたがえばよい。フォーマットは:

          * Topic: (relative-pathname).  Short description of topic.

   Infoファイルをインストールしたいが必要な権限がない場合にはいくつかの
オプションがあります:

   • 使用する前に実際にInfoファイルがインストールされている必要はない。
     ‘info’コマンドにプレフィクス引数を使用して、ミニバッファーでInfoフ
     ァイルの名前を指定できる。これによりそのInfoファイル内の‘Top’という
     名前のノードに移動する。たとえばホームディレクトリーにある
     ‘INFO-FILE’という名前のInfoファイルを閲覧するには、以下のようにタイ
     プできる:

          C-u C-h i ~/INFO-FILE <RET>

     かわりにファイルの名前を以下のようにカッコ内にタイプして(Infoモード
     で‘g’押下により呼び出される)‘Info-goto-node’コマンドにファイル名を
     与えることができる。

          C-h i g (~/INFO-FILE) <RET>

   • 自分用のInfoディレクトリーを作成できる。変数
     ‘Info-default-directory-list’の値にパス名を追加することによって
     EmacsにInfoディレクトリーの場所を伝えることができる。たとえばホーム
     ディレクトリーにある‘Info’という名前のサブディレクトリーを個人用の
     Infoディレクトリーとして使用するには以下を‘.emacs’ファイルに追加す
     ればよい:

          (add-to-list 'Info-default-directory-list "~/Info")

     このディレクトリーには‘dir’という名前のトップレベルInfoファイルが必
     要になるだろう。これはそのディレクトリーにあるInfoファイルのエント
     リーだけをリストする点を除き、システムの‘dir’がもつすべてをもつ。
     (偶然にも)このディレクトリー内のすべてのファイルが他の‘dir’ファイル
     から参照されていれば、これは必要ないかもしれない。
     ‘Info-default-directory-list’内のすべての‘dir’ファイルのノードリス
     トはInfoシステムによってマージされる。

3.6 Texinfoファイルをプリントするには?
======================================

Infoファイルから見栄えの良いプリント出力は得られません。マニュアルのプリ
ント用には、依然としてオリジナルのTexinfoソースファイルが不可欠です。

   システムにTeXがインストールされていれば以下のステップを行います:

  1. Texinfoファイルの先頭の行が以下のようになっていることを確認:

          \input texinfo

     ‘texinfo’を‘texinfo.tex’ファイルのフルパスに変更(またはカレントディ
     レクトリーにコピーまたはリンク)する必要があるかもしれない。これは
     Emacsに同梱されている‘doc/misc/texinfo.tex’である。

  2. ‘texi2dvi TEXINFO-SOURCE’とタイプする。ここでTEXINFO-SOURCEはプリン
     トしたコピーを生成したいTexinfoソースファイル名。‘texi2dvi’スクリプ
     トはGNU Texinfoディストリビューションの一部である。

     ‘texi2pdf’の場合には、かわりにPDFファイルを生成する。

  3. あなたのサイトでDVIファイルを通常プリントするのと同じ方法でDVIファ
     イル‘TEXINFO-SOURCE.dvi’をプリントする。たとえばPostScriptプリンタ
     ーをもっていれば、そのプリンターでDVIファイルをプリントするために
     ‘dvips’プログラムを実行する。

   より一般的な手順については最新のTexinfoパッケージを調べてください
(*note Installing Texinfo documentation::を参照)。

3.7 Emacsを使わずにInfoファイルを閲覧できる?
============================================

はい。以下はいくつかの候補プログラムです:

   • Texinfoパッケージに同梱されているInfoプログラムのスタンドアロンバー
     ジョンである‘info’。詳細は*note Installing Texinfo documentation::を
     参照のこと。

   • Tcl/Tkを使用する、X Window systemの下で実行されるInfoビューアーの
     Tkinfo。Tkinfoは<http://math-www.uni-paderborn.de/~axel/tkinfo/>で
     入手できる。

3.8 利用できるEmacs情報のファイルは?
====================================

これはよくある質問ではありませんが、そうあるべきなのです!  あなたに読ん
でもらうために、Emacsおよび関連するGNUプロジェクトの様相に関する様々な情
報ファイルが利用可能です。

   以下のファイル(やその他のファイルも)はEmacsディストリビューション(ど
こにあるか判らなければ*note File-name conventions::を参照)の‘etc’ディレ
クトリー内にあります。これらのファイルの多くはEmacsの‘Help’メニュー、あ
るいは‘C-h ?’ (‘M-x help-for-help’)とタイプして利用することができます。

‘COPYING’
     GNU 一般公衆利用許諾書(GNU GENERAL PUBLIC LICENSE)

‘DISTRIB’
     Emacsの可用性に関する情報

‘MACHINES’
     様々なマシンおよびシステムにおけるEmacsの状況

‘NEWS’
     Emacsのニュース、ユーザーの目に見える最新の変更履歴

   ‘GNU’s Bulletin’の未解決問題を含むより詳細なGNU情報については

   <https://www.gnu.org/bulletins/bulletins.html>、および

   <http://www.cs.pdx.edu/~trent/gnu/gnu.html>を参照してください。

3.9 Emacsのインストールでどこに助けを求めれば?
==============================================

インストールにおける基本的なヒントについては*note Installing Emacs::、イ
ンストールに何か問題がある場合には*note Problems building Emacs::を参照
してください。

   The GNU Service directory (https://www.fsf.org/resources/service/)に
はEmacsやその他のGNUソフトウェアのインストールや使用において有償による手
助けを提案する企業や個人が一覧されています。

3.10 このFAQの最新版はどこで入手できる?
=======================================

Emacs FAQはInfo形式としてEmacsに同梱されています。任意のEmacsフレームト
ップにあるEmacsメニューバーの‘Help’メニューから‘Emacs FAQ’オプションを選
択、あるいは‘C-h C-f’ (‘M-x view-emacs-FAQ’)とタイプしてこれを読むことが
できます。開発版の最新バージョンはEmacsの開発用レポジトリから利用できま
す(*note Latest version of Emacs::を参照)。

4 Emacsの状況について
*********************

このチャプターでは最新バージョンの状況も含めたEmacsに関する基本情報を提
供します。

4.1 “Emacs”という名前の由良は?
==============================

Emacsは元々はEditor MACroSの略語でした。RMSは“その時点ではITS上の略語と
して‘E’は使用されていなかったのでEmacsという名前を採用した”と述べていま
す。最初のEmacsは1976年にMITにおいてRMSがPDP-10上のITS (the Incompatible
Timesharing System)のエディターTECO (Text Editor and COrrector,
originally Tape Editor and COrrector)のために記述したマクロのセットでし
た。RMSはすでにTECOを再プログラム可能な“リアルタイム”のフルスクリーンモ
ードに拡張済みでした。Emacsは多くの異なるTECOコマンドセットとキーバイン
ディングを統合するプロジェクトとして、MITにおいてGuy Steeleによって開始
されて、RMSによって完成されました。

   TECOのコードは行がノイズのように見えると多くの人が言っています。これ
は<news:alt.lang.teco>で読むことができます。誰かがTECO実装をEmacs Lispで
記述しました(これを見つけるには*note Packages that do not come with
Emacs::を参照)。Emacsの内部でオリジナルのTECOを実行するのは興味深いプロ
ジェクトになるでしょう。

   Emacsという名前をもつ理由としてそれほど深刻ではない候補についてはファ
イル‘etc/JOKES’を調べてください(*note File-name conventions::を参照)。

4.2 Emacsの最新バージョンとは?
==============================

Emacs 27.2はこれが記述されたカレントのバージョンです。2つのコンポーネン
トからなるバージョンナンバーは、リリースバージョンであることを表します
(例: ‘24.5’)。3つのコンポーネントからなるバージョンナンバーは開発バージ
ョンを表します(たとえば‘28.0.50’、いずれ‘28.1’となる)。

   Emacsは活動的な開発の下にありSavannah
(https://savannah.gnu.org/projects/emacs/)でホスティングされています。そ
こで示された手順にしたがってプロジェクトレポジトリをクローンしてください
。

   リリース前にはEmacsにたいして多くの変更が施されるので、開発版のバージ
ョンナンバーに特別な意味はありません。開発レポジトリから取得した日付を参
考にするほうが良いでしょう。開発版は通常は日常的の使用にたいしてかなり堅
牢ですが、最新機能より安定性の方が重要ならリリース版に固執した方が良いか
もしれません。

   以降のセクションでは最近のEmacsのリリースにおける主要な新機能を一覧に
しました。Emacsのあるバージョンにおける変更の完全な詳細については‘C-h
C-n’とタイプしてください。Emacs 22以降では古いバージョンにおいて何が新機
能かうぃ読むために、このコマンドにプレフィクス引数を与えることができます
。

4.3 Emacs 27は何が違う?
=======================

   • ネイティブでは大き過ぎるサイズの整数をサポートするためにGMPライブラ
     リー(GNU Multiple Precision libraryl: GNU多倍長整数ライブラリー)を
     使用するようになった。ネイティブでサポートされる整数は“fixnums”、そ
     れより大きい整数は“bignum”とされる。bignumで意味をもつすべての数学
     、比較、および論理(“ビット”とも呼ばれる)の演算操作はfixnumと
     bignumの両方をサポートするようになった。

   • デフォルトのシェーピングエンジン(shaping engine: 整形エンジン)とし
     てEmacsはHarfBuzzを使用するようになった。

   • ‘json.el’による高速なJSON解析のネイティブサポート。

   • Cairoによる描画が実験的機能ではなくなった。

   • Emacsがunexecではなく“portable dumper”を使用するようになった。これ
     は現代的なシステムのメモリー割り当てにたいする互換性を向上して、と
     りわけ現代的なオペレーティングシステムのほとんどが使用している
     ASLR(Address Space Layout Randomization: アドレス空間配置のランダム
     化)のサポートが向上した。

   • initファイルにたいしてEmacsがXDG規約を使用可能になった。

   • 早期initファイル(early init file)を使用してEmacsを設定できるように
     なった。これの主要目的は正規initファイル(regular init file)のロード
     前に発生するパッケージシステムの初期化にたいして、その方法のカスタ
     マイズを可能にすることである。

   • タブ(タブバーとタブライン)にたいするビルトインサポート。

   • ImageMagickを必要としないイメージのリサイズおよびローテートのサポー
     ト。

   Emacs 27における変更の完全なリストは、Emacsの‘NEWS’ファイル (‘C-h
n’)を参照してください。

4.4 Emacs 26は何が違う?
=======================

   • EmacsがLispスレッドによる限定された並列処理を提供するようになった。

   • Emacsでの‘systemd’サポート。新たなコマンドラインオプション
     ‘--fg-daemon’はこのサポートの一部であり、forkせずにフォアグラウンド
     で‘--daemon’と同じように実行される。

   • 24ビットトゥルーカラーの機能を提供するテキスト端末上でのEmacsによる
     24ビットトゥルーカラーサポート。*note Colors on a TTY::を参照のこと
     。

   • X上のEmacsがほとんどの状況においてディスプレーのちらつきをなくすダ
     ブルバッファリングをサポートするようになった。

   • マウスやタッチパッドを使用してEmacsディスプレーを水平方向にスクロー
     ルできるようになった。

   • Emacsの表示において‘display-line-numbers-mode’コマンドを通じた行番
     号表示のためのオプション機能が含まれるようになった。この機能は
     ‘linum’のようなパッケージが提案するものと等価な表示をより高速に行い
     、更に相対的行番号など多くのオプション機能も提供する。

   • 行の切り詰め時にウィンドウディスプレーの自動的な水平スクロールが、
     Emacsがカーソルを表示するカレント行でのみオプションで有効にできるよ
     うになった。このモードでは他のすべてのウィンドウ行にたいして、表示
     領域外にある文字を表示するためのスクロールは行われない。

   • トルコ語とギリシャ語のスクリプトの特別ケースを大文字小文字変換が配
     慮するようになった。

   • EnchantサポートがEmacsのスペルチェックコマンドの一部となった。

   • TrampがGoogle Driveファイルシステムをサポートするようになった。

   • ビルドされたマシンの詳細を省いてEmacsをビルドできるようになり、これ
     により再現可能なビルドの生成が容易になった。

   • Enriched Textモードに関するセキュリティの脆弱性が削除された。以前の
     Enrichedモードではテキストの一部として‘display’プロパティの保存がで
     きた。これらのプロパティは任意のLispコードの評価をサポートしており
     、外部ソースからEnrichedテキストを受け取るEmacsユーザーを脆弱性に晒
     していた。Enriched Textモードがデコードした‘display’プロパティ内の
     任意のLispフォームの実行はデフォルトで無効になった。

   • Emacs 26.2には最新のUnicode標準バージョン11.0.0.からインポートされ
     たデータファイルが同梱される。

   Emacs 26における変更の完全なリストは、Emacsの‘NEWS’ファイル (‘C-h
n’)を参照してください。

4.5 Emacs 25は何が違う?
=======================

   • gtk3とwebkitgtk3がインストールされていればEmacsがバッファー内にネイ
     ティブウィジェットを埋め込めるようになった。たとえば埋め込みの
     webkitブラウザウィンドウにアクセスするには‘M-x
     xwidget-webkit-browse-url’とタイプすればよい。

   • 共有ライブラリーとしてコンパイルされた外部モジュールをEmacsが動的に
     ロード可能になった。

   • いくつかの一般的な文字にたいしする略記が‘C-x 8’に新規で追加された。
     略記のリストは‘C-x 8 C-h’とタイプする。

   • 新しいマイナーモード‘global-eldoc-mode’がデフォルトで有効になり、ポ
     イント位置にあるEmacs Lispフォームの引数をエコーエリアまたはモード
     ラインに表示するようになった。

   • “bracketed paste mode”をサポートするテキスト端末では、Emacsがそのモ
     ードをデフォルトで使用するようになった。このモードではEmacsはペース
     トされたテキストとユーザーがタイプしたテキストを区別できる。

   • Emacs 25には最新のUnicode標準バージョン9.0.0.からインポートされたデ
     ータファイルが同梱される。

   • 双方向編集のサポートは、最新のUnicode標準バージョン9.0.0.が要請する
     すべての機能を含むように更新された。

   • 検索コマンドがマッチでの文字フォールディング(folding: 折り畳み)を行
     うようになった。これはcaseフォールディング(大文字小文字を無視)と似
     ているが、case(大文字小文字)の違いを無視するのではなく、ダイアクリ
     ティカルマークを無視して二重引用符の様々な変種をマッチする等、類似
     した文字間のより広範な区別を無視する。

   • EmacsウェブブラウザEWWが可変ピッチフォントをレンダリングするように
     拡張され、それ以外にも新たな機能が加わった。

   • libxml2とともにEmacsをビルドした場合、あるいはLynxブラウザがインス
     トールされていれば、RmailがHTMLメールメッセージをレンダリングするよ
     うになった。

   • VCがBzr、Git、Hg用に実装された‘push’コマンドを基本的にサポートする
     ようになった。

   • Hide-IfDefモードがマクロ、マクロ引数展開、対話的マクロ評価、
     ‘#define’されたシンボルのスキャンにおいてすべてのC/C++式をサポート
     するようになった。

   • 新パッケージXrefがEtagsのフロントエンドとUIを置き換えた。Xrefは関数
     、マクロ、データ構造等の定義の検索や移動、そして定義に移動する前の
     場所に戻るための汎用フレームワークおよび新たなコマンドを提供する。
     バックエンドの1つとしてTAGSテーブルを読み込むetags.elのコードは依然
     として使用しているものの、Etagsコマンドの多くは置き換えられるか廃止
     された。結果としてポピュラーなキーバインディング‘M-.’および‘M-,’は
     Xrefコマンドを呼び出すように変更された。

   • 新パッケージProjectはプロジェクトを取り扱うたねの汎用インフラストラ
     クチャを提供する。

   • Emacsはツールキットのツールバーを提供するいくつかのプラットフォーム
     、すなわちGtk+、Lucid、Motif、Windowsにおいて水平スクロールバーを描
     画できるようになった。

   Emacs 25における変更の完全なリストは、Emacsの‘NEWS’ファイル (‘C-h
n’)を参照してください。

4.6 Emacs 24は何が違う?
=======================

   • Emacsにパッケージマネージャーが含まれるようになった。これを開始する
     には‘M-x list-packages’とタイプする。これを使用すれば更に多くの
     Lispパッケージをダウンロードして自動でインストールできる。

   • Emacs Lispがファイル単位にもとづくレキシカルバインディングをサポー
     トするようになった。_レキシカルバインディング(lexical binding)_では
     変数参照はバインディング構文内にテキスト的に配置されていなければな
     らない。これはローカルなテキストスコープ外部で定義された変数をプロ
     グラムが参照可能な_ダイナミックバインディング(dynamic binding)_とは
     対照的である。Lispファイルはファイルコンテンツがレキシカルバインデ
     ィング和使用していると解釈するよう示すために、ローカル変数セッティ
     ング‘lexical-binding: t’を使用できる。詳細についてはEmacs Lispリフ
     ァレンスマニュアルを参照のこと。

   • 英語のような自然言語のいくつかは左から右へと記述される。それ以外の
     アラビア語などは右から左に記述される。Emacsはこれらの形式が混交した
     、いわゆる“双方向テキスト(bidirectional text)”をサポートするように
     なった。

   • テキスト選択の処理が改善されて、外部クリップボードとの統合性が向上
     した。

   • 新たなコマンド‘customize-themes’によってEmacsの外観の変更が容易にな
     った。

   • GTK+ 3ツールキットとともにEmacsをコンパイルできるようになった。

   • コンパイル時に新たに複数の外部ライブラリーを含めることをサポートす
     る。

        • 従来の“Unixスタイル”より複雑なファイルアクセスコントロールを提
          供するLinuxカーネルの機能であるSELinux(“Security-Enhanced
          Linux”)

        • ImageMagickディスプレーライブラリー。これによりEmacsでより多く
          のイメージ形式を表示でき、ローテーションのような変換も行うこと
          ができるようになる。

        • 安全なネットワーク通信のためのGnuTLSライブラリー。メールサーバ
          ーがサポートしていれば、EmacsはEメールにたいしてこれを透過的に
          使用する。

        • XML構造解析のためのlibxml2ライブラリー。

   • ウィンドウおよびバッファー表示の処理における柔軟性の向上。

   いつも通り詳細については‘NEWS’ファイルを参照してください。

4.7 Emacs 23は何が違う?
=======================

   • Emacsにfreetype、fontconfigを含む複数のフォントバックエンドを使用可
     能なフォントコードが新たに追加された。Emacsはアンチエイリアスに
     Xftライブラリー、複雑なテキストレイアウトとテキストシェーピングに
     otfやm17nのライブラリーを使用できる。

   • Emacs文字セットがUnicodeのスーパーセットになった。新たに複数の言語
     環境が追加された。

   • Emacsが同一セッションでXディスプレーとttyの両方を使用できるようにな
     った(‘multi-tty’)。

   • Emacsをバックグラウンドでデーモンとして開始できるようになった。

   • 新たにEmacsのNeXTstepポートが登場した。これはGNUstepおよび(Cocoaラ
     イブラリーを介して)Mac OS Xをサポートする。Emacs 22においてMac OS
     XをサポートしていたEmacsのCarbonポートは削除された。

   • ファイルローカル変数と同様の方法でディレクトリーローカル変数を定義
     できるようになった。

   • Transient Markモードがデフォルトでオンになった。

他にもシリアルポートアクセスのサポート、D-Busバインディング、行移動にお
ける新たなVisual Lineモード、補完の改善、PDFやPostScript、DVIを閲覧する
ための新モード(‘DocView’)、(XMLドキュメント編集用の)nXMLモード、新しいバ
ージョンコントロールシステム用にVCを更新する等の変更が含まれます。

4.8 Emacs 22は何が違う?
=======================

   • GTK+ウィジェットとともにEmacsをビルドできるようになり、X上でのドラ
     ッグアンドドロップ操作がサポートされた。

   • Emacs 22ではS390およびx86-64マシン上のGNU/Linuxシステム、Mac OS Xお
     よびCygwinオペレーティングシステムにたいするサポートを提供する。

   • ネイティブのMS-WindowsおよびMac OS Xのビルドにイメージ、ツールバー
     、ツールチップの完全サポートが含められた。

   • Font Lockモード、Auto Compressionモード、File Name Shadowモードがデ
     フォルトで有効になった。

   • バッファーの最大サイズが増加した。32ビットマシンのEmacs 23.1では
     256MB、Emacs 23.2以降は512MB。

   • ‘mouse-2’に加えて‘mouse-1’でリンクをフォローできるようになった。

   • マウスホイールのサポートがデフォルトでオンになった。

   • ウィンドウフリンジがカスタマイズ可能になった。

   • 選択されたウィンドウのモードラインがハイライトされるようになった。

   • ミニバッファーのプロンプトは独自のフェイスで表示される。

   • abbrev定義を起動時に読み込む。

   • GrepモードがCompilationモードから切り離されて、新たにgrep特有のオプ
     ションおよびコマンドをもつようになった。

   • Emacsオリジナルのマクロシステムは、新たに多くのコマンドおよび機能、
     ファンクションキーF3とF4を使用するシンプルなインターフェイスを提供
     するKmacroパッケージに置き換えられた。マクロはマクロリングに格納さ
     れるとともに、対話的なデバッグと編集が可能になった。

   • GDBにたいする完全にグラフィカルなユーザーインターフェイスとして
     GUD(Grand Unified Debugger)が使用できるようになった。これは伝統的な
     開発環境で目にする多くの機能を提供するとともに、ブレークポイントの
     操作、ウォッチポイントの追加、コールスタック表示等を容易にする。ブ
     レークポイントはソースバッファー内に視覚的に示される。

   • Calc、TRAMP、URL、IDO、CUA、ERC、rcirc、Table、Image-Dired、SES、
     Ruler、Org、PGG、Flymake、Password、Printing、Reveal、wdired、
     t-mouse、longlines、savehist、Confモード、Pythonモード、DNSモードな
     ど新たに多くのモードとパッケージがEmacsに含められた。

   • LeimはEmacsの一部となった。Unicodeサポートが更に改善されて
     belarusian、bulgarian-bds、bulgarian-phonetic、chinese-sisheng、
     croatian、dutch、georgian、latin-alt-postfix、latin-postfix、
     latin-prefix、latvian-keyboard、lithuanian-numeric、
     lithuanian-keyboard、malayalam-inscript、rfc1345、
     russian-computer、sgml、slovenian、tamil-inscript、ucs、
     ukrainian-computer、vietnamese-telex、welshの入力メソッドが追加され
     た。

     Belarusian、Bulgarian、Chinese-EUC-TW、Croatian、French、Georgian、
     Italian、Latin-6、Latin-7、Latvian、Lithuanian、Malayalam、
     Russian、Slovenian、Swedish、Tajik、Tamil、UTF-8、Ukrainian、
     Welsh、Windows-1255の言語環境が追加された。

   • これらに加えてEmacs 22にはEmacs Lispリファレンスマニュアル(*note
     Emacs Lisp documentation::を参照)およびEmacs Lisp Introが含められた
     。

4.9 Emacs 21は何が違う?
=======================

Emacs 21ではディスプレーエンジンの徹底的な書き換えが行われました。新たな
ディスプレーエンジンは可変長フォント、イメージをサポートするとともに、サ
ウンドをサポートするプラットフォームでのサウンド再生が可能になりました。
結果としてウィンドウ化されたディスプレーで実行した際のEmacsの視覚的外観
はより現代的なGUIプログラムを想起させるものとなり、3Dウィジェット(モード
ラインとスクロールバーで使用)、設定と拡張が可能なツールバー、ツールチッ
プ(別名バルーンヘルプ)、その他が含められました。

   これらに加えてEmacs 21ではテキストオンリーの端末でのフェイスがサポー
トされました。これはGNU/Linuxコンソールや‘xterm’上でEmacsを‘emacs -nw’で
実行した際にカラー表示されることを意味しています。

4.10 Emacs 20は何が違う?
========================

Emacsのバージョン18から19への変更はより劇的なものでした。一般的なユーザ
ーのほとんどにとってもウィンドウシステムにおけるフレーム、フェイス、カラ
ーの導入は明白な変更でした。

   Emacsのバージョン19と20の間にも同様に変更はあるものの、その多くは軽微
であるか気付くのが難しいものでした。この変更の中には非ラテン文字を使用す
る言語用のMULEと同一ドキュメント内での複数言語の混合、Lispを使用せずに変
数を変更する“Customize”機能、Macintosh、Microsoft、Unixプラットフォーム
におけるファイルの自動変換が含まれます。

5 よくある要望
**************

5.1 ‘.emacs’ファイルを正しくセットアップするには?
=================================================

*note (emacs)Init File::を参照してください。

   一般的にEmacsの新規ユーザーは‘.emacs’ファイルを与えられるべきではあり
ません。なぜならこれによる非標準的な振る舞いが混乱を招くからです。その後
に彼らはなぜEmacsがドキュメント通りに振る舞わないか尋ねる質問をthe
help-gnu-emacs mailing list
(https://lists.gnu.org/mailman/listinfo/help-gnu-emacs)に送信するのです
。

   EmacsにはCustomize機能が含まれています(*note Using Customize::を参照
)。これによってEmacs Lispに親しみのないユーザーはLispコードよりもメニュ
ーを使い、比較的判りやすい方法で‘.emacs’ファイルを編集できます。

   Customizeは確かにEmacsの設定を容易にするかもしれませんが、Emacs Lispを
習得して‘.emacs’を直接編集するために少し時間を割くことを検討してみてくだ
さい。頻繁に求められる基本的なタスクを処理することに興味があるユーザーに
は、シンプルな設定オプションが*note (emacs)Init File::に完全に記述されて
います。

   ユーザーがどこで自分の‘.emacs’ファイルを見つけられるか判らない場合が
あります。Emacsから‘~/.emacs’としてファイルをvisitすることによって、正し
いファイルが見つかるでしょう。

5.2 Customizeを使い始めるには?
==============================

Customizeの主となるエントリーポイントは‘M-x customize <RET>’です。このコ
マンドにより利用可能なすべてのCustomizeグループを一覧するバッファーへと
導かれます。そこからカスタマイズ可能なすべてのオプションおよびフェイスに
アクセスして、それらの値の変更とinitファイルへの保存ができます。*note
(emacs)Easy Customization::を参照してください。

   (たとえば“shell”のように)あらかじめグループの名前が判っていれば‘M-x
customize-group <RET>’を使用してください。

   オプションを1つカスタマイズしたければ、‘M-x customize-option <RET>’を
使用します。このコマンドは補完付きでカスタマイズするオプション名の入力を
求めます。

5.3 TTYで色や構文ハイライトするには?
====================================

Emacs 21.1以降では非ウィンドウ化モード(UnixおよびGNU/Linuxテキストオンリ
ー端末やコンソール、またはXやMS-Windowsで‘emacs -nw’を呼び出した場合)で
カラーとフェイスがサポートされています(MS-DOSポートではEmacs 19.29以降で
カラーとフェイスがサポートされている)。Emacsは起動時に自動的にカラーサポ
ートを検出して、利用できるようならカラーを使用します。あなたの端末がカラ
ーをサポートしていると思えるのにEmacsがカラーを使用しない場合には、あな
たのディスプレータイプにたいするカラー関連能力について‘termcap’エントリ
ーをチェックしてください。

   コマンド‘M-x list-colors-display’はカレントディスプレーについて
Emacsが関知する全カラーを展覧するウィンドウをポップアップします。

   バージョン22.1以降ではシンタックスハイライトがデフォルトでオンです。

   Emacs 26.1以降は端末(訳注: 端末=terminalはtermcapのterm)でのダイレク
トカラーモードをサポートしています。EmacsがTerminfoで‘setb24’および
‘setf24’のケイパビリティ(訳注: capabilityはtermcapのcap)を見つけたら24ビ
ットダイレクトカラーモードを使用します。ケイパビリティ文字列は、引数とし
て1つの24ビットピクセル値を取り、24ビットカラーを端末に送信するために使
用できる文字列にピクセルを変換することが期待されます。

   標準の端末定義はこれらのケイパビリティをサポートせず、したがってカス
タム定義が必要になります。

     $ cat terminfo-custom.src

     xterm-emacs|xterm with 24-bit direct color mode for Emacs,
       use=xterm-256color,
       setb24=\E[48\:2\:\:%p1%{65536}%/%d\:%p1%{256}%/%{255}%&\
          %d\:%p1%{255}%&%dm,
       setf24=\E[38\:2\:\:%p1%{65536}%/%d\:%p1%{256}%/%{255}%&\
          %d\:%p1%{255}%&%dm,

     $ tic -x -o ~/.terminfo terminfo-custom.src

     $ TERM=xterm-emacs emacs -nw

   Emacs 27.1以降では24ビットダイレクトカラーモードの検出にたいする、
Terminfoの‘RGB’ケイパビリティをサポートしています。複数の標準的な端末定
義がこのケイパビリティをサポートしています。

     $ TERM=xterm-direct infocmp | grep seta[bf]

       setab=\E[%?%p1%{8}%<%t4%p1%d%e48\:2\:\:%p1%{65536}%/\
          %d\:%p1%{256}%/%{255}%&%d\:%p1%{255}%&%d%;m,
       setaf=\E[%?%p1%{8}%<%t3%p1%d%e38\:2\:\:%p1%{65536}%/\
          %d\:%p1%{256}%/%{255}%&%d\:%p1%{255}%&%d%;m,

     $ TERM=xterm-direct emacs -nw

   あなたの端末にXTermとの互換性がなければ、別の‘TERM’定義を使う必要があ
るかもしれません。名前に‘direct’が含まれるすべての端末が候補になり得ます
。それらのうちどれがシステムにインストールされているか調べるために
‘toe’コマンドを使用できます:

     $ toe | grep '\-direct'

     konsole-direct  konsole with direct-color indexing
     vte-direct      vte with direct-color indexing
     st-direct       st with direct-color indexing
     xterm-direct2   xterm with direct-color indexing (old)
     xterm-direct    xterm with direct-color indexing

   ‘RGB’ケイパビリティをもつ端末は、ダイレクトカラーモードを認識しないア
プリケーションにたいする後方互換性を保守するために、ピクセル#000001から
#000007をインデックス付けされたカラーとして扱います。したがってもっとも
暗い青い濃淡は利用できないかもしれません。これが問題となるようなら、
‘setb24’と‘setf24’のカスタム端末定義を使用することは常に可能です。

5.4 ‘.emacs’ファイルをデバッグするには?
=======================================

コマンドラインオプション‘-debug-init’でEmacsを開始してください。これは
‘.emacs’ファイルを評価する前にEmacs Lispデバッガを有効にして、何かうまく
行かなければあなたをデバッガ内へと導きます。‘trace-back’バッファーの上端
行はエラーメッセージ、2行目か3行目には問題を引き起こした‘.emacs’ファイル
のLispコードが表示されるでしょう。

   ‘.emacs’ファイル内の関数や引数の終端にカーソルを移動して‘C-x C-e’
(‘M-x eval-last-sexp’)をタイプすれば、関数や関数の引数を個別に評価するこ
ともできます。

   セットまたは使用を試みている変数の値をチェックするには‘C-h v’ (‘M-x
describe-variable’)を使用できます。

5.5 Emacsに現在の行(や列)の番号を表示させるには?
================================================

デフォルトではEmacsはポイント位置のカレント行番号をモードラインに表示し
ます。コマンド‘M-x line-number-mode’、または変数‘line-number-mode’でこの
機能のオンオフを切り替えることができます。バッファーのバイトサイズが変数
‘line-number-display-limit’の値より大きければ、Emacsは行番号を表示しない
ことに注意してください。

   ‘M-x column-number-mode’、または以下のフォーム

     (setq column-number-mode t)

を‘.emacs’ファイルに記述することにより、同じようにカレント列番号を表示で
きます。この機能はデフォルトではオフです。

   変数‘mode-line-format’内のフォーマット指定子‘"%c"’は、モードラインに
カレント列の値を挿入します。この変数のセット、および使用方法についての詳
細は‘mode-line-format’のドキュメントを参照してください(‘C-h v
mode-line-format <RET>’を使用する)。

   ‘display-line-numbers’パッケージ(Emacsのバージョン26.1で追加)は‘vi’の
“set number”機能のように、各行の前のテキストエリアに行番号を表示します。
このオプション表示をアクティブにするにはバッファーローカル変数
‘display-line-numbers’をカスタマイズします。かわりにマイナーモード
‘display-line-numbers-mode’やグローバル版の
‘global-display-line-numbers-mode’を使うこともできます。これらのモード使
用時には‘display-line-numbers’を使用するときと同じ値で
‘display-line-numbers-type’をカスタマイズしてください。

   ‘linum’パッケージ(バージョン23.1以降のEmacsに同梱)もありますが今後廃
止されます。ユーザーおよび開発者には、かわりに‘display-line-numbers’の使
用をお勧めします。(Emacsには同梱されていない)パッケージ‘setnu’と
‘wb-line-number’もこの機能を実装しています。

5.6 現在のファイル名をタイトルバーに含めるには?
===============================================

Emacsフレームのタイトルバーのコンテンツは、変数‘mode-line-format’と同じ
構造をもつ変数‘frame-title-format’によって制御されます(これらの変数につ
いて情報を得るには‘C-h v’または‘M-x describe-variable’を使用する)。

   デフォルトではフレームのタイトルバーには、1つのフレームしか存在しない
場合を除き、カレントでvisitされているバッファーの名前が表示されます。フ
レームが1つの場合には、タイトルバーにEmacsを呼び出したときの名前、および
Emacsを呼び出したマシン名が含まれます。これは‘frame-title-format’に以下
をデフォルト値としてセットすることにより行われます:

     (multiple-frames "%b" ("" invocation-name "@" (system-name)))

   存在するフレームの個数に関わらずフレームのタイトルバーにバッファー名
が含まれるように挙動を変更するには、以下を‘.emacs’に含めてください:

     (setq frame-title-format "%b")

5.7 モードMYMODEでデフォルトでabbrevをオンにするには?
=====================================================

Abbrevモードは略語をタイプするとそれを展開します。特定のバッファーでこれ
をオンにするには‘M-x abbrev-mode’を使用します。デフォルトですべてのバッ
ファーでオンにするには、以下を‘.emacs’ファイルに記述してください:

     (setq-default abbrev-mode t)

特定のモードでオンにするには以下を使用してください:

     (add-hook 'MYMODE-mode-hook
               (lambda ()
                (setq abbrev-mode t)))

Emacsのバージョンが22.1より古ければ、以下も使う必要があるでしょう:

     (condition-case ()
        (quietly-read-abbrev-file)
       (file-error nil))

5.8 特定のファイルに特定のモードをEmacsに使用させるには?
========================================================

名前が拡張子‘.BAR’で終わるファイルすべてにたいして特定のモードFOOを使用
したければ、以下でこれを行うことができるでしょう:

     (add-to-list 'auto-mode-alist '("\\.BAR\\'" . FOO-mode))

   またはかわりにモードFOOで編集したい任意のファイルの1行目のどこか(1行
目の先頭が‘#!’なら2行目)に以下を記述します:

     -*- FOO -*-

   変数‘interpreter-mode-alist’はインタープリター(shellやpythonなど)に解
釈されるスクリプトをロードする際にどのモードを使用するかを指定します。
Emacsはスクリプトの1行目を調べて、使用されるインタープリターを判断します
。詳細については‘interpreter-mode-alist’上で‘C-h v’ (または‘M-x
describe-variable’)を使用して調べてください。

5.9 ハイライトされたテキストをタイプしたテキストで置き換えるには?
=================================================================

以下のLispフォームを‘.emacs’ファイルに記述することにより自動的に開始でき
る‘delete-selection-mode’を使用します。

     (delete-selection-mode 1)

   ‘delete-selection-mode’のドキュメント文字列(‘M-x describe-function
<RET> delete-selection-mode <RET>’を使用して読むことができる)によると:

     Delete Selectionモードが有効な場合には選択がアクティブのときにテキ
     ストをタイプするとテキストで選択を置き換える。それ以外なら選択の有
     無に関わらずタイプしたテキストはポイント位置に挿入される。

   このモードにより<DEL>を押下してハイライトされているリージョンを削除
(killではない)することもできます。

5.10 検索や置換の際にEmacsによる大文字小文字の区別を制御するには?
=================================================================

変数‘case-fold-search’の値は検索がcase(大文字小文字)を区別するかどうかを
決定します:

     (setq case-fold-search nil) ; caseを区別
     (setq case-fold-search t)   ; 検索はcaseを区別しない

   同じように置換では変数‘case-replace’が置換においてcaseを維持するかど
うかを決定します。

   isearchでは‘M-c’で自由にcaseの区別を切り替えることもできます。

   あるメジャーモードにたいしてのみcaseの区別を変更するにはメジャーモー
ドのフックを使用します。たとえば:

     (add-hook 'FOO-mode-hook
               (lambda ()
                (setq case-fold-search nil)))

5.11 プリント不可文字(8ビット文字やコントロール文字)の検索、削除、置換を行うには?
=================================================================================

たとえばバッファーには‘\237’のように出現する単一文字は‘C-s C-q 2 3 7’と
タイプして検索できます。プリントできない*すべて*の文字を検索するには正規
表現(“regexp”)で行うのが最良です。プリント不可文字にたいするregexpは、プ
リント可能文字にたいする補集合を使用するのがもっとも簡単です。

   • プリント可能文字にたいするregexp: ‘[\t\n\r\f -~]’

   • プリント不可文字にたいするregexp: ‘[^\t\n\r\f -~]’

   ‘isearch-forward-regexp’や‘re-search-forward’にたいする対話的な引数と
してこれらのスペシャル文字をタイプするには‘C-q’を使う必要があります
(‘\t’、‘\n’、‘\r’、‘\f’はそれぞれ<TAB>、<LFD>、<RET>、‘C-l’を意味する)。
したがって‘re-search-forward’を使用してプリント不可文字を検索するには:

   ‘M-x re-search-forward <RET> [^ <TAB> C-q <LFD> C-q <RET> C-q C-l
<SPC> -~] <RET>’

   ‘isearch-forward-regexp’を使用する場合は:

   ‘C-M-s [^ <TAB> <LFD> C-q <RET> C-q C-l <SPC> -~]’

   すべてのプリント不可文字を削除するには単にreplace-regexpを使用します:

   ‘M-x replace-regexp <RET> [^ <TAB> C-q <LFD> C-q <RET> C-q C-l <SPC>
-~] <RET> <RET>’

   置換は上で述べたのと似ています。すべてのプリント不可文字をコロンで置
き換えるには以下を使用します:

   M-x replace-regexp <RET> [^ <TAB> C-q <LFD> C-q <RET> C-q C-l <SPC>
-~] <RET> : <RET>

5.12 isearchやquery-replaceで改行を入力するには?
================================================

‘C-q C-j’を使用してください。詳細については*note Special Input for
Incremental Search: (emacs)Special Isearch.を参照してください。

5.13 killリングから検索文字列にテキストをコピーするには?
========================================================

‘M-y’を使用します。*note (emacs)Isearch Yank::を参照してください。

5.14 自分用にEmacsに単語を折り返させるには?
===========================================

‘M-x auto-fill-mode’とタイプして‘auto-fill-mode’を有効にして使用してくだ
さい。デフォルトの最大行幅は70で、これは変数‘fill-column’により決定され
ます。これを自動でオンに切り替える方法については*note Turning on
auto-fill by default::を参照してください。

5.15 デフォルトで‘auto-fill-mode’をオンにするには?
==================================================

1つのバッファーだけで‘auto-fill-mode’をオンに切り替えるには‘M-x
auto-fill-mode’を使用します。

   特定のモードのすべてのバッファーでオンに切り替えるには、そのモードに
たいするフックを使用しなければなりません。たとえばテキストバッファーのす
べてで‘auto-fill’モードをオンに切り替えるには、以下を‘.emacs’ファイルサ
イ追加してください:

     (add-hook 'text-mode-hook 'turn-on-auto-fill)

   すべてのメジャーモードで‘auto-fill’モードをオンにするには以下を行いま
す:

     (setq-default auto-fill-function 'do-auto-fill)

5.16 ‘load-path’を変更するには?
===============================

一般的には‘load-path’へは追加のみにするべきです。以下のようにしてディレ
クトリー/DIR/SUBDIRをロードパスに追加できます:

     (add-to-list 'load-path "/dir/subdir/")

   ホームディレクトリーにたいして相対的にこれを行うには:

     (add-to-list 'load-path "~/mysubdir/")

5.17 別ウィンドウですでに実行中のEmacsを使用するには?
=====================================================

Emacsに同梱されている‘emacsclient’は新たなEmacsを開始せずに、すでに実行
中のEmacsを使用してファイルを編集するためのものです。これはすでに実行中
のEmacsにリクエストを送信することによって行われます。実行中のEmacsはリク
エストに応えなければなりません。

   • セットアップ:

     ‘emacsclient’が機能するにはEmacsが‘server-start’関数を実行済みでな
     ければならない。これはコマンドラインオプション:

          emacs -f server-start

     または‘.emacs’から‘server-start’を呼び出すことによって行うことがで
     きる:

          (if (SOME CONDITIONS ARE MET) (server-start))

     ニュースリーダーやメールリーダーなどが‘emacsclient’を呼び出すように
     するには、環境変数‘EDITOR’ (‘VISUAL’のときもあり)に値
     ‘emacsclient’を設定してみればよい。‘emacsclient’プログラムのかわり
     にプログラムのフルパス名を指定する必要があるかもしれない。たとえば:

          # cshの場合:
          setenv EDITOR emacsclient

          # フルパス名を使用
          setenv EDITOR /usr/local/emacs/etc/emacsclient

          # shの場合:
          EDITOR=emacsclient ; export EDITOR

   • 通常の使い方:

     ‘emacsclient’を実行するとソケットに接続してコマンドラインオプション
     をEmacsに渡す。そしてEmacsは次の機会に指定されたファイルをvisitする
     (Emacsで行うように行番号を指定できる)。ユーザーは手動でEmacsに切り
     替える必要がある。ユーザーがファイルの編集を終えたら‘C-x #’ (または
     ‘M-x server-edit’)とタイプしてそれを示すことができる。
     ‘emacsclient’に要求されたバッファーが別にある場合にはEmacsはそのバ
     ッファーに切り替えるだろう。それ以外の場合には‘emacsclient’はexitし
     て呼び出し元が継続できるようにシグナルを送る。

   詳細については*note (emacs)Emacs Server::を参照してください。

5.18 わたしのコンパイラーの変なエラーメッセージをEmacsに認識させるには?
=======================================================================

‘compilation-error-regexp-alist’変数をカスタマイズしてください。

5.19 ‘switch’のインデントを変更するには?
========================================

以下のように‘switch’ステートメントをインデントしたいと思う人は大勢います
:

     f()
     {
       switch(x) {
         case A:
           x1;
           break;
         case B:
           x2;
           break;
         default:
           x3;
       }
     }

これを行うには以下を‘.emacs’ファイルに追加してください:

     (c-set-offset 'case-label '+)

5.20 C、C++、Javaのバッファーのインデントをカスタマイズするには?
================================================================

Emacsの‘cc-mode’はインデントスタイルのカスタマイズ用に対話的な手順を提供
しています。これはEmacsディストリビューションに同梱されている‘CC Mode’マ
ニュアルに完全な説明があります。*note Customization Indentation:
(ccmode)Customizing Indentation.を参照してください。以下はそれの短い要約
です:

  1. 気に入らないインデントの最初の行の先頭に移動して‘C-c C-o’とタイプす
     る。Emacsが構文シンボル(syntactic symbol)の入力を求めるので、デフォ
     ルトを承諾するために<RET>をタイプする。

  2. Emacsがその構文シンボルのオフセットの入力を求める。その際にはカッコ
     内にデフォルト(現在の定義)が表示される。ここで以下のいずれかを選択
     できる:

     ‘0’
          余計なインデントなし。
     ‘+’
          基本オフセット1つ分インデントを加える。
     ‘-’
          基本オフセット1つ分インデントを戻す。
     ‘++’
          基本オフセット2つ分インデントを加える。
     ‘--’
          基本オフセット2つ分インデントを戻す。
     ‘*’
          基本オフセットの半分インデントを加える。
     ‘/’
          基本オフセットの半分インデントを戻す。

  3. これらのシンボルのいずれかを選んだ後に‘C-c C-q’をタイプして、指定し
     たインデントに行またはブロックを再インデントする。

  4. 結果が気に入らなければステップ1に戻る。そうでなければ以下の行を
     ‘.emacs’に追加する:

          (c-set-offset 'SYNTACTIC-SYMBOL OFFSET)

     ここでSYNTACTIC-SYMBOLは行頭で‘C-c C-o’をタイプした際にEmacsが表示
     した名前、OFFSETは上記のインデントシンボル(‘+’、‘/’、‘0’等)のいずれ
     かのうち対話的手順の間に選択したシンボル。

  5. インデントが気に入らない次の行へ移動してこれらの手順を繰り返す。

   以下のように‘(c-set-offset ...)’によるカスタマイズ結果すべてをCモード
のフック内に記述することをお勧めします:

     (defun my-c-mode-hook ()
       (c-set-offset ...)
       (c-set-offset ...))
     (add-hook 'c-mode-hook 'my-c-mode-hook)

‘cc-mode’をロードしていなければ‘c-set-offset’は利用できないので
‘.emacs’には‘(require 'cc-mode)’を記述する必要がありますが、
‘c-mode-hook’を使用すればこれを避けることができます。

   ‘c-mode-hook’はCソースファイルの場合のみ実行されることに注意してくだ
さい。C++には‘c++-mode-hook’、Javaソースには‘java-mode-hook’を使う等して
ください。同一のカスタマイズが、‘cc-mode’によってサポートされる_すべて
_の言語にたいして効力をもつようにしたければ‘c-mode-common-hook’を使用し
てください。

5.21 Emacsに挿入ではなく“上書き”させるには?
===========================================

‘M-x overwrite-mode’ (マイナーモード)です。これは‘overwrite-mode’のオン
オフを切り替えるので、もう一度‘M-x overwrite-mode’とタイプすれば簡単に
‘overwrite-mode’からexitできます。

   いくつかのシステムでは<Insert>で‘overwrite-mode’のオンオフが切り替わ
ります。

5.22 端末でEmacsのビープ音を止めるには?
=======================================

Martin R. Frank(訳注: Texinfoファイルには"martin@cc.gatech.edu"とコメン
トされてました)は記しています:

   可聴ベル(audible bell)のかわりに“視覚的なベル(visible bell)”を使うよ
うにEmacs伝えて、その視覚的ベルには何もセットしません。

   つまり(あなたがtermcapをもっていると仮定して)‘TERMCAP’環境変数に以下
を記述します:

     ... :vb=: ...

   そして以下のLispフォームを評価してください:

     (setq visible-bell t)

5.23 XでEmacsを実行中にベル音量を下げるには?
============================================

Xウィンドウシステムではシェルコマンド‘xset’のより、すべてのプログラムで
ベルの音量および間隔を調節できます。

   引数なしで‘xset’を呼び出すことによって、以下を含むいくつかの基本的な
情報が生成されます:

     usage:  xset [-display host:dpy] option ...
       To turn bell off:
           -b                b off               b 0
       To set bell volume, pitch and duration:
            b [vol [pitch [dur]]]          b on

5.24 新しい行を前の行に合わせて自動的にインデントするようEmacsに伝えるには?
===========================================================================

このような振る舞いはEmacs 20以降では(Textモードでは)自動で行われます。
Emacs 20.2の‘etc/NEWS’ファイルからの引用です:

     ** Textでパラグラフを分割するのは空行のみとなった。これによってAdaptive FillモードからTextモードやその他Textモードから派生した(Mailモードのような)モードが受ける恩恵を最大にすることが可能になる。Textモードでの<TAB>によってindent-relativeコマンドが実行されるようになった。これによって実際に違いが生じるのは、インデントされたパラグラフを使用している場合だけである。

     パラグラフ開始行の先頭にスペースが欲しければ、新しいモードのParagraph Indent Textモードを使用すること。

   ‘auto-fill-mode’ (*note Turning on auto-fill by default::を参照)をオ
ンに切り替えている場合には、“フィルプレフィクス(fill prefix)”として特定
の文字シーケンスをすべての行のプレフィクスとするようEmacsに指示すること
ができます。行頭でプレフィクスをタイプしてポイントをタイプしたプレフィク
スの後に移動、それから‘C-x .’ (‘set-fill-prefix’)とタイプしてフィルプレ
フィクスをセットします。それ以降はオートフィルが新たな行の先頭に自動的に
フィルプレフィクスを配置するとともに、‘M-q’ (‘fill-paragraph’)でパラグラ
フを再フィルする際にはすべてのフィルプレフィクスを保守するようになります
。

   異なるレベルのインデントをもつパラグラフがある場合には、新たなパラグ
ラフに移動するたびにフィルプレフィクスを正しい値にセットすることが必要に
なるでしょう。これを取り扱うためのパッケージが多数存在します(*note
Packages that do not come with Emacs::を参照)。手引きとして“fill”、およ
び“indent”のキーワードを調べてください。

5.25 自分が注目中のカッコに対応するカッコを表示するには?
========================================================

‘.emacs’ファイルで‘show-paren-mode’を呼び出します。

     (show-paren-mode 1)

   任意のEmacsフレーム上端にあるEmacsメニューバーの‘Options’メニューから
オプション‘Paren Match Highlighting’を選択してこのモードを有効にすること
もできます。

   このようなモードの代替となる手段として以下が含まれます:

   • あなたが右カッコ(または大カッコや角カッコ)に着目していたら、それを
     削除してから再度挿入する。Emacsは瞬時の間、マッチするカッコにカーソ
     ルを移動するだろう。

   • ‘C-M-f’ (‘forward-sexp’)および‘C-M-b’ (‘backward-sexp’)は釣り合いの
     とれたカッコを1セット分スキップするので、どのカッコがマッチするか確
     認できる(構文テーブルを修整して釣り合いのとれた大カッコおよび角カッ
     コもスキップするよう洗練することも可能)。

   • 以下は‘vi’のように‘%’キーでマッチするカッコを表示させるEmacs Lispコ
     ード。更にカーソルがカッコ上になければ通常通り単に%を挿入する。

          ;; 名無しの貢献者より

          (global-set-key "%" 'match-paren)

          (defun match-paren (arg)
            "カッコ上ならマッチするカッコへ移動、それ以外は%を挿入"
            (interactive "p")
            (cond ((looking-at "\\s(") (forward-list 1) (backward-char 1))
                  ((looking-at "\\s)") (forward-char 1) (backward-list 1))
                  (t (self-insert-command (or arg 1)))))

5.26 Cモードでコンパイラーが‘#ifdef’処理後に残る行だけを表示するには?
=====================================================================

‘M-x hide-ifdef-mode’ (マイナーモード)です。Emacsに同梱されている
‘cpp.el’も調べてみたいと思うかもしれません。

5.27 できるだけ沢山コマンドを繰り返すには?
==========================================

最後のコマンドを繰り返すには‘repeat’コマンド(‘C-x z’)を使用します。プレ
フィクス引数を前置すると、そのプレフィクスは繰り返すコマンドに適用されま
す。

   引数を取得するためにミニバッファーを使用するコマンドは、‘C-x <ESC>
<ESC>’ (‘repeat-complex-command’)とタイプしても再呼び出しができます。
‘repeat-complex-command’では‘M-p’と‘M-n’ (キーボードにあれば上矢印と下矢
印も)をタイプすることにより、様々なcomplexコマンドすべてでタイプしたもの
を走査することができます。

   一連のコマンドを繰り返すにはキーボードマクロを使用します。コマンドを
呼び出すキーボードマクロの作成には‘C-x (’と‘C-x )’を使い、その後に‘C-x
e’とタイプします。*note (emacs)Keyboard Macros::を参照してください。

   最後の挿入/削除を再実行する‘vi’の‘.’コマンドが本当に欲しくて堪らなけ
れば、それをサポートしているよう思われるVIPERというEmacsに同梱の‘vi’エミ
ュレーションモードを使ってください。

5.28 有効なXリソース(.Xdefaults内の項目)は?
===========================================

*note (emacs)X Resources::を参照してください。

   EmacsがXツールキットとともにコンパイルされていると仮定して、メニュー
バーのリソース名を確認するためにeditres(X11R5以降)のようなリソースエディ
ターを使用することもできます。

5.29 Emacs Lispのコード片を実行(“evaluate”)するには?
====================================================

Emacs Lispの“フォーム(form)”を実行(Lispスラングでは“evaluate: 評価”)する
には:

   • Emacsを実行する際に毎回評価させたければ、ホームディレクトリーにある
     ‘.emacs’という名前のファイルにそれを記述する。これは“あなたの
     ‘.emacs’ファイル”と呼ばれるものであり、あなたの個人的なカスタマイズ
     がすべて含まれている。

   • ‘*scratch*’バッファーでフォームをタイプしてから、それの後で<LFD> (ま
     たは‘C-j’)をタイプできる。フォームの評価結果はそのままバッファーに
     挿入される。

   • ‘emacs-lisp-mode’では‘C-M-x’とタイプすることでポイントの前、または
     周辺にあるトップレベルのフォームを評価する。

   • 任意のバッファーにおいて‘C-x C-e’とタイプするとポイント直前にある
     Lispフォームを評価して、その値をエコーエリアにプリントする。

   • ‘M-:’または‘M-x eval-expression’とタイプすることによりミニバッファ
     ーでタイプしたLispフォームが、<RET>押下により1回評価される。

   • ファイル内のすべてのLispフォームをEmacsにすべて評価させるには‘M-x
     load-file’を使用できる(これをLispから行うにはかわりに関数‘load’を使
     う)。

     関数‘load-library’、‘eval-region’、‘eval-buffer’、‘require’、
     ‘autoload’も有用。これらについての詳細は*note Emacs Lisp
     documentation::を参照のこと。

5.30 <TAB>文字の長さにたいするEmacsの解釈を変更するには?
========================================================

変数‘tab-width’のデフォルト値をセットします。たとえば10文字ごとに<TAB>ス
トップをセットするには、‘.emacs’ファイルに以下を挿入してください:

     (setq-default tab-width 10)

   変数‘tab-width’と変数‘tab-stop-list’を混同しないでください。前者はリ
テラルの<TAB>文字の表示に使用されます。一方後者は特定のモードにおいて
<TAB>文字を押下した際にどの文字が挿入されるかを制御します。

5.31 各行の先頭に<何らかのテキスト>を挿入するには?
==================================================

これをバッファー全体にたいして行う場合には‘M-< M-x replace-regexp <RET>
^ <RET> your text <RET>’とタイプします。

   リージョンにたいして行う場合には‘string-insert-rectangle’を使用します
。プレフィクスを付加したい1行目の先頭にマークをセット(‘C-<SPC>’)して、付
加したい最後の行へカーソルを移動、それから‘M-x string-insert-rectangle
<RET>’とタイプしてください。バッファー全体に行う場合には‘C-x h M-x
string-insert-rectangle <RET>’とタイプします。

   yankしたメールメッセージにプレフィクスとして‘>’の付加を試みているなら
、変数‘mail-yank-prefix’をセットしたいと思うかもしれません。Messageバッ
ファーではyankしたメッセージのメッセージの引用に‘M-;’ (これはリージョン
のコメントアウトという汎用用途メカニズムである関数‘comment-region’を実行
する)を使うことさえできます(*note Changing the included text prefix::を
参照)。

5.32 上下に移動した際にたとえ短すぎる行でも同じ列にカーソルが留まる; このようにEmacsを振る舞わせるには?
=======================================================================================================

‘M-x picture-mode’を使用します。

   変数‘track-eol’、および‘C-x C-n’にバインドされているコマンド
‘set-goal-column’ (*note (emacs)Moving Point::を参照)も確認してください
。

5.33 アイコン化するようEmacsに伝えるには?
=========================================

‘C-z’はEmacsをXで実行中ならアイコン化、それ以外ならEmacsをサスペンドしま
す。*note (emacs)Frame Commands::を参照してください。

5.34 Emacsでregexp(正規表現)わ使用するには?
===========================================

*note (emacs)Regexp Backslash::を参照してください。

   演算子‘or’は‘|’ではなく‘\|’、グルーピング演算子は‘\(’と‘\)’です。更に
バックスラッシュの文字列構文は‘\\’です。Lisp文字列で‘xxx\(foo\|bar\)’の
ような正規表現を指定するには‘xxx\\(foo\\|bar\\)’を使用します。

   バックスラッシュを2回記述することに注意してください!

   • Unixの‘grep’、‘sed’などとは異なり、文字の補集合(‘[^...]’)にマッチし
     ない文字として改行文字(<LFD>、‘C-j’、 または‘\n’)が記述されていなけ
     れば改行文字にマッチする。

   • 文字構文のregexp(たとえば‘\sw’)は文字セットにたいするregexp(たとえ
     ば‘[aeiou]’)の内部では意味をもたない(これは実際はregexp構文として典
     型的)。

5.35 複数ファイルを横断して置換操作を行うには?
==============================================

Diredモード(‘M-x dired <RET>’または‘C-x d’)は、コマンド
‘dired-do-find-regexp-and-replace’ (‘Q’)をサポートしています。これは複数
ファイルにおける正規表現の置換を可能にします。

   以下のステップにしたがうことにより、このコマンドで複数ファイルにたい
する検索/置換処理を行うことができます:

   • ‘find-dired’、‘find-name-dired’、‘find-grep-dired’のいずれかを使っ
     て、処理したいファイルのリストを用意する。

   • 結果として得られたDiredバッファーで‘t’を使用してすべてのファイルを
     マークする。

   • ‘Q’を使用して、マーク済みファイルにたいする‘query-replace-regexp’セ
     ッションを開始する。

   • それぞれのファイルにたいしてすべての置換を承諾するために‘!’を打鍵す
     る。

   Emacsの“tags”機能を使用して、別の方法で同じこと行うことができます。
tags機能に含まれているコマンド‘tags-query-replace’は‘TAGS’ファイルに記述
されたすべてのファイルを横断してquery-replace(問い合わせ付き置換)を行い
ます。*note (emacs)Identifier Search::を参照してください。

5.36 ‘etags’のドキュメントはどこ?
=================================

‘etags’のmanページは‘emacs’のmanページと同じ場所にあるはずです。

   たとえば‘etags -H’のように、コマンドラインスイッチで手早く読める説明
もあります。

5.37 バックアップファイルを無効にするには?
==========================================

何か不幸な出来事が起こったとき等は、特にバックアップが役立つので多分これ
を行いたいとは思わないでしょう。

   Diredでバックアップファイル(およびその他の“関心がない”ファイル)を目に
することを避けるには、‘.emacs’ファイルに以下を追加して‘dired-x’をロード
してください:

     (add-hook 'dired-load-hook
               (lambda ()
                (require 'dired-x)))

   ‘dired-x’のロードにより、‘M-o’でそれぞれのdiredバッファーでの(関心が
ないファイルの表示)の省略が切り替わります。以下を‘.emacs’に記述すれば、
新たなdiredバッファーで省略をデフォルトにできます:

     ; 訳注
     ; FAQ執筆時以降実装が更新されているので以下のように読み変えてください。
     ; (現時点最新開発版28.0.??にバグレポート投げときます)
     ;   dired-omit-toggle -> dired-omit-mode
     ;   M-o               -> C-x M-o
     (add-hook 'dired-mode-hook 'dired-omit-toggle)

   Unixシェルで‘ls’するたびにバックアップファイルが目障りでうんざりして
いたら、‘-B’オプションでGNU ‘ls’を試してみてください。GNU ‘ls’はGNU
Fileutilsパッケージの一部であり、<https://ftp.gnu.org>およびそのミラーサ
イトで利用可能です(*note Current GNU distributions::を参照)。

   バックアップ作成を無効にしたり作成方法を変更する場合には、*note
(emacs)Backup Names::を参照してください。

   Emacs 21.1から変数‘backup-directory-alist’をカスタマイズして、Emacsが
バックアップファイルを置く場所を制御できるようになりました。この変数の値
は特定のパターンの名前をもつファイルにたいして、バックアップファイルを特
定のディレクトリーに置くように指定します。*すべて*のバックアップファイル
をディレクトリー‘dir’に置くことをEmacsに強制する要素‘("." . DIR)’を追加
する等が典型的な使い方です。

5.38 ‘auto-save-mode’を無効にするには?
======================================

特にドキュメント編集中にEmacsやコンピューターがクラッシュしたとき等、オ
ートセーブは役に立つので多分これを行いたいとは思わないでしょう。

   そのかわりにEmacsがオートセーブを行う前に待機するキーストローク数を指
定する変数‘auto-save-interval’を変更したいと思うかもしれません。この値を
増加させることによって、その長さの間はEmacsにオートセーブの待機を強制し
ます。これによって煩わしさが減るかもしれません。

   Sebastian Kremerの‘auto-save’パッケージも調べたいと思うかもしれません
(*note Packages that do not come with Emacs::を参照)。このパッケージでは
すべてのauto-saveファイルを‘/tmp’のような1つのディレクトリーに置くことも
できます。

   ‘auto-save-mode’を無効にしたり動作を変更するには、*note (emacs)Auto
Save::を参照してください。

5.39 行番号で特定行に移動するには?
==================================

行番号で行に移動する必要があるのは確かですか?  もしかしたらコンパイラー
がエラーメッセージをプリントしたソースファイル行を表示するのがあなたの望
んでいることではありませんか?  もしそうならEmacsからコマンド‘M-x
compile’および‘M-x recompile’を使用してコンパイルすることで、より効率的
にこれを行うことができます。Emacsはコンパイルエラーメッセージを自動的に
インターセプトして、‘*compilation*’と呼ばれる特別なバッファーに挿入ます
。あなたはソース内の、各メッセージに対応する場所をvisitできます。問題の
ある行を1つずつステップスルーするには‘C-x `’とタイプします(Emacs 22から
は前または次のマッチへ直接移動する‘M-g M-p’および‘M-g M-n’でも使用できる
)。‘*compilation*’バッファーのメッセージテキスト上で‘mouse-2’をクリック
するか<RET>を押下することによって、そのメッセージ中に記された行番号へ移
動します。

   しかし特定のテキスト行へ移動する必要が本当にあるなら‘M-g M-g’ (Emacs
22からは‘goto-line’関数のデフォルトバインディング)をタイプしてください。
Emacsは行番号の入力を求めてその行に移動するでしょう。

   行番号を数引数として‘goto-line’を呼び出せば、これをより高速に行うこと
ができます。たとえば‘C-u 286 M-g M-g’はカレントバッファーの行番号286へジ
ャンプします。

5.40 プルダウンの新たなメニューオプションの作成や変更を行うには?
================================================================

メニュータイトル(‘File’、‘Edit’、‘Buffers’など)はそれぞれローカルキーマ
ップおよびグローバルキーマップを表しています。メニュータイトルをマウスで
選択することによって、メニューのフォーム内にそのキーマップの非‘nil’のコ
ンテンツが表示されます。

   したがって既存メニューにメニューオプションを追加するために行う必要が
あるのは、適切なキーマップへの新たな定義の追加だけです。つまり‘Edit’メニ
ューに‘Forward Word’アイテムを追加するためには、以下のLispコードが必要で
す:

     (define-key global-map
       [menu-bar edit forward]
       '("Forward word" . forward-word))

1行目ではグローバルメニューバーエントリーを含むグローバルキーマップにエ
ントリーを追加しています。‘global-map’への参照をローカルキーマップに置き
換えることにより、特定のモードだけにメニューオプションが追加されます。

   2行目ではメニューバーから新エントリーへのパスを記述しています。これは
このメニューエントリーを‘File’メニューの下に配置するには、2行目の
‘edit’という単語を‘file’に変更すればよいことを意味します。

   3行目は1つ目の要素が表示されるタイトル、2つ目の要素がメニューオプショ
ン呼び出し時に呼び出される関数であるようなコンスセルです。

   既存メニューへの新オプション追加で新たなメニューを追加するためには、
新たにキーマップ全体を定義しなければなりません。

     (define-key global-map [menu-bar words]
       (cons "Words" (make-sparse-keymap "Words")))

   上記のコードは新たに疎キーマップ(sparse keymap)を追加して名前
‘Words’を付与、それをグローバルメニューバーにアタッチしています。したが
ってこの新メニューへの‘Forward Word’アイテム追加には、以下のようなコード
が必要になるでしょう:

     (define-key global-map
       [menu-bar words forward]
       '("Forward word" . forward-word))

キーマップが機能する方法により、メニューオプションはより新しく定義された
アイテムがトップになるように表示されることに注意してください。したがって
メニューオプション‘foo’、‘bar’、‘baz’を(この順番で)定義するとメニューオ
プションは‘baz’がトップ、‘foo’がボトムに表示されます。

   これを回避する1つの方法として関数‘define-key-after’の使用があります。
これは‘define-key’と同様ですが、アイテムが出現する位置を変更することがで
きます。以下は‘Edit’メニューの‘Undo’アイテムの直後になるように、‘Forward
Word’アイテムを挿入します。

     (define-key-after
       (lookup-key global-map [menu-bar edit])
       [forward]
       '("Forward word" . forward-word)
       'undo)

   ‘define-key-after’にたいする2つ目と3つ目の引数が‘define-key’の場合と
は異なること、そして追加した新しい(3つ目の)引数がこの関数によってどのよ
うに定義されるかに注意してください。

   ある場所から別の場所にメニューオプションを移動するには、最後の引数を
適切に指定して‘define-key-after’を評価するだけです。

   より詳細な情報、およびメニューオプションの作成と変更にたいする更に多
くの例については、‘Emacs Lisp Reference Manual’の“Menu Keymaps”にありま
す(このマニュアル内の情報については*note Emacs Lisp documentation::を参
照)。

5.41 メニューやメニューオプションを削除するには?
================================================

メニューを削除するには、そのキーマップに‘nil’をセットするのがもっともシ
ンプルな方法です。たとえば‘Words’メニュー(*note Modifying pull-down
menus::を参照)を削除するには以下を使用します:

     (define-key global-map [menu-bar words] nil)

   同じようにメニューオプションを削除するには、キーマップエントリーを
‘nil’に再定義する必要があります。たとえば‘Edit’メニューから(*note
Modifying pull-down menus::で追加した)‘Forward word’メニューオプションを
削除するには以下を使用します:

     (define-key global-map [menu-bar edit forward] nil)

5.42 構文ハイライトをオンにするには?
====================================

‘font-lock-mode’はEmacsがカレントバッファーでシンタックスハイライトを行
う標準的な方法です。これはEmacs 22.1以降ではデフォルトで有効になっていま
す。

   ‘font-lock-mode’をオンに切り替えると、異なるタイプのテキストは違うカ
ラーで表示されます。たとえばプログラミング用のモードでは変数はあるフェイ
ス、キーワードはそれとは異なるフェイス、コメントは更に違うフェイスで表示
されるでしょう。

   既存バッファーで‘font-lock-mode’をオフに切り替えるには‘M-x
font-lock-mode <RET>’を使用してください。

   Emacs 21以前では以下のコードを‘.emacs’ファイルに記述して、
‘font-lock-mode’をグローバルにオンに切り替えることができます。

     (global-font-lock-mode 1)

   ‘font-lock-mode’によるバッファーのハイライトにはかなり時間がかかるた
めに、苛立たしい表示の遅延を引き起こすので、これに対処するための機能がい
くつかあります。

   Emacs 21では‘font-lock-mode’をオンに切り替えることによって、
‘jit-lock-mode’が提供する新たな“JITフォント表示(Just-In-Time
fontification)”が自動的にアクティブになります。‘jit-lock-mode’はバッファ
ーをユーザーに実際に見せる必要が生じるまで、そのバッファー範囲のフォント
表示を遅延させるとともに、Emacsがアイドル中にもフォント表示を行えます。
これによってバッファーの可視範囲はほとんど瞬時に表示されるようになります
。‘jit-lock-mode’のカスタマイズの詳細については‘C-h f jit-lock-mode
<RET>’とタイプしてください。

   21より前のバージョンのEmacsではささやかなものから派手なものまで、異な
るレベルの装飾が利用可能です。より多くの装飾にはバッファーがフォント表示
されるまで、より長い時間待機する必要があることを意味しています。バッファ
ーがどのように装飾されるべきかを制御するには、‘.emacs’ファイルで
‘font-lock-maximum-decoration’に値をセットします。‘nil’値はデフォルトの
(通常は最低限の)装飾、‘t’は最大限の装飾を意味します。できるだけ派手な外
観にするには‘.emacs’ファイルに以下の行を含めてください。

     (setq font-lock-maximum-decoration t)

異なるモードでは違う方法でハイライトするようにこの変数をセットすることも
できます。詳細については‘C-h v’ (または‘M-x describe-variable <RET>’)で
‘font-lock-maximum-decoration’のドキュメントを確認してください。

   更に‘C-h f font-lock-mode’ (‘M-x describe-function <RET>
font-lock-mode <RET>’)で利用できる関数‘font-lock-mode’のドキュメントも参
照してください。

   バッファーをフェイス(カラーとフォント)付きでそのままプリントするため
には、‘M-x ps-print-buffer-with-faces’または‘M-x
ps-print-region-with-faces’を使用します。あなたにはPostScriptプリンター
にテキストを送信する方法、あるいはGhostscriptのようなPostScriptインター
プリターが必要になるでしょう。詳細については変数‘ps-printer-name’、
‘ps-lpr-command’、‘ps-lpr-switches’のドキュメントを参照してください。

5.43 画面下端に移動した際にEmacsが1行だけスクロールするよう強制するには?
========================================================================

‘M-x customize-variable <RET> scroll-conservatively <RET>’で
‘scroll-conservatively’をカスタマイズして大きな値、たとえば10000にセット
してください。これが何を意味するかについては、*note (emacs)Auto
Scrolling::の説明を参照してください。

   かわりに‘.emacs’で以下のLispフォームを使うこともできます:

     (setq scroll-conservatively most-positive-fixnum)

5.44 EmacsでMS-DOSファイルを編集するには?
=========================================

MS-DOS (およびWindows)のファイルの検出と処理は透過的に行われます。Unixシ
ステム上でファイルフォーマットについて心配するなくMS-DOSファイルのオープ
ン、編集、保存を行うことができます。

   MS-DOS形式ファイルの編集時には、それがDOSファイルであることが示されま
す。UnixとGNU/Linuxシステム、およびMacintoshでもモードライン左端付近に文
字列‘(DOS)’が表示されるでしょう。DOSのEOLフォーマットをデフォルトとして
使用するDOSおよびWindowsでは、モードラインにバックスラッシュ(‘\’)が表示
されます。

5.45 ピリオドごとにその後の単一スペースでパラグラフをフィルするようEmacsに伝えるには?
=====================================================================================

以下の行を‘.emacs’ファイルに追加してください:

     (setq sentence-end-double-space nil)

5.46 なぜShellモード‘ls’は奇妙なエスケープシーケンスを出力するのか?
===================================================================

多くのシステムでは、‘ls’はANSIカラーエスケープシーケンスを使用してプリン
トを行う‘ls --color’にエイリアスされています。Emacsのバージョン21.1以降
には、これらのエスケープシーケンスをShellモードに認識させる
‘ansi-color’パッケージが含まれています。Emacs 23.2以降では、このパッケー
ジはデフォルトで有効になっています。これより前のバージョンではShellバッ
ファーで‘M-x ansi-color-for-comint-mode’とタイプするか、あるいはinitファ
イルに‘(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)’を追加
することで有効にできます。

5.47 MS-WindowsでフルスクリーンモードでEmacsを開始するには?
===========================================================

Emacs 24からはコマンドラインオプション‘--maximized’でEmacsを開始するか、
あるいは‘.emacs’ファイルに以下のフォームを記述します:

     (add-hook 'emacs-startup-hook 'toggle-frame-maximized)

   これより古いバージョンでは関数‘w32-send-sys-command’を使用してくださ
い。たとえば以下を‘.emacs’ファイルに記述できます:

     (add-hook 'emacs-startup-hook
               (lambda () (w32-send-sys-command ?\xF030)))

   Emacsの開始におけるデフォルトのフレームサイズからフルスクリーンに拡が
る、若干惑わされる視覚効果を回避するにはWindowsのレジストリ文字列に
‘Emacs.Geometry’エントリーを追加できます。*note (emacs)X Resources::を参
照してください。

   幅と高さの正しい値を計算するためには、まずEmacsフレームを最大化してか
ら‘M-:’で‘(frame-height)’および‘(frame-width)’を評価してください。

6 バグやトラブル
****************

Emacsマニュアルにはユーザーが陥りやすい類の一般的なトラブルのリストがあ
るので、このチャプターに記述されていない問題に遭遇したら、*note Dealing
with Emacs Trouble: (emacs)Lossage.を参照してください。バグを見つけたと
判断したら、それをどうすればよいかについては*note Reporting Bugs:
(emacs)Bugs.を参照してください。

   Emacsディストリビューションに同梱されているファイル‘etc/PROBLEMS’は特
定プラットフォームでのEmacsのビルド、使用にたいする既知の様々な問題のリ
ストがあります。これを読むには‘C-h C-p’とタイプしてください。

6.1 Emacsにとって大きなファイルは問題になるか?
==============================================

Emacsのバッファーサイズには固定された固有の制限があります。これは同一プ
ラットフォームで他のプログラムがサポートするオブジェクトの最大サイズと比
較すると厳しい制限です。

   バッファーの最大サイズはバージョン23.2からは32ビットマシンで512MBです
。‘--with-wide-int’フラグを使用してEmacsをビルドした場合には、バッファー
の最大サイズは32ビットマシンで2GBです。

   64ビットマシンでコンパイルしたEmacsはより大きい‘most-positive-fixnum’
(2.3EB)までのバッファーを扱うことができます(訳注: 1E=1exaは10の18乗)。

   マルチバイト文字のデコーディングのような事柄のために、visitできるのは
バッファーのサイズ制限の概ね半分のサイズのファイルだけです。圧縮されたア
ーカイブをvisitする際には、解凍のためにファイルサイズの制限はより小さく
なります。

6.2 Shellバッファーから‘^M’やエコーされるコマンドを取り除くには?
================================================================

それらを取り除くには‘M-x comint-strip-ctrl-m <RET>’を試してください。こ
れが機能しない場合にはいくつかのオプションがあります。

   ‘tcsh’では以下を‘.cshrc’ (または‘.tcshrc’)ファイルに記述してください:

     if ($?INSIDE_EMACS && $?tcsh)
         unset edit
         stty -icrnl -onlcr -echo susp ^Z
     endif

   あるいは以下をファイル‘.emacs_tcsh’または‘~/.emacs.d/init_tcsh.sh’に
記述してください:

     unset edit
     stty -icrnl -onlcr -echo susp ^Z

   Shellバッファーで‘tcsh’のかわりに‘csh’を使用してください。1つ目の方法
は:

     (setq explicit-shell-file-name "/bin/csh")

別に‘.cshrc’ (または‘.tcshrc’)ファイルでこれを行う方法があります:

     setenv ESHELL /bin/csh

(環境変数を正しくセットした後は、これが効果をもつようにEmacsを再起動しな
ければなりません。)

   以下のLispフォームでEmacs Lispにより‘ESHELL’環境変数をセットすること
もできます:

     (setenv "ESHELL" "/bin/csh")

   上記の解決策は最初にシェルが‘^M’文字を生成するのを防ぐ試みです。これ
が不可能(たとえばWindowsシェルを使用している)なら、‘.emacs’に追加するこ
とによってEmacsにそれらの文字をバッファーから削除させることができます。

     (add-hook 'comint-output-filter-functions #'comint-strip-ctrl-m)

   関連する注意: あなたのシェルが入力行をShellバッファーでエンコードする
場合には、Shellバッファーで‘comint-process-echoes’変数をカスタマイズする
か、あるいはシェルの起動ファイルで以下のコマンドの実行を試みたいと思うか
もしれません:

     stty -icrnl -onlcr -echo susp ^Z

6.3 ‘M-x shell’を実行するとエラーメッセージを返されるのはなぜ?
==============================================================

これはEmacsが間違った場所でシェルを探そうとして起こるかもしれません。シ
ェル実行形式の場所をあなたが知っていたら、‘.emacs’ファイルで変数
‘explicit-shell-file-name’がそのフルファイル名を指し示すようにセットして
ください。

   MS-Windows上のShellモードでお節介なアンチウイルスソフトウェアによりト
ラブルに遭う人がいます。このようなケースでは常駐アンチウイルスプログラム
を無効にすると問題は解決するでしょう。

6.4 端末タイプ‘emacs’用のtermcap/terminfoエントリーはどこ?
==========================================================

端末タイプ‘emacs’にたいするtermcapエントリーは、通常はサブシェルの環境変
数‘TERMCAP’にセットされます。これは特定の状況下(たとえばShellバッファー
からのrlogin)において、システムワイドなtermcapファイルにエントリーを追加
する助けになるかもしれません。以下は‘emacs’にたいする正しいtermcapエント
リーです:

     emacs:tc=unknown:

   ‘emacs’にたいするterminfoエントリーを作成するには‘tic’または
‘captoinfo’を使用します。‘/usr/lib/terminfo/e/emacs’を生成する必要があり
ますが、これは単に‘/usr/lib/terminfo/d/dumb’を
‘/usr/lib/terminfo/e/emacs’にコピーすれば大丈夫です。

   termcap/terminfoエントリーがあってもShellバッファーでのフルスクリーン
プログラムの使用は有効になりません。かわりに‘M-x term’を使用してください
。

   termcap/terminfo不在による問題を回避するためには、シェルのスタートア
ップファイルで端末タイプを‘emacs’から‘dumb’か‘unknown’に変更します。
‘csh’ユーザーは以下を‘.cshrc’ファイルに記述できます:

     if ("$term" == emacs) set term=dumb

6.5 Emacsが‘Error in init file’と言うのはなぜ?
==============================================

あなたの‘.emacs’ファイル、あるいはシステムワイドファイル
‘site-lisp/default.el’のロード中にエラーが発生したためです。Emacs 21.1以
降では‘*Messages*’バッファーがポップアップして、そこにデバッグ用のヒント
を与えるためのエラーに関する追加情報を書き込みます。

   あなたの‘.emacs’ファイルをデバッグする方法については*note Debugging a
customization file::を参照してください。

   まず何らかのパッケージのロードが必要だったり、そあるいはパッケージの
ロード後に評価されるフックを使用したのかもしれません。このよくあるケース
については*note Terminal setup code works after Emacs has begun::に記述
があります。

6.6 EmacsがXリソース(わたしの.Xdefaultsファイル)を無視するのはなぜ?
===================================================================

Emacsは以下の環境変数が指定するファイルからXリソースを検索します。

   • ‘XFILESEARCHPATH’
   • ‘XUSERFILESEARCHPATH’
   • ‘XAPPLRESDIR’

   これはXツールキットを使用して記述されたプログラムが提供する機能をエミ
ュレートします。

   ‘XFILESEARCHPATH’と‘XUSERFILESEARCHPATH’はコロンで区切られたファイル
名のリスト、‘XAPPLRESDIR’はコロンで区切られたディレクトリーのリストです
。

   Emacsは以下のようにXリソースを検索します:

  1. コマンドラインで‘-xrm RESOURCESTRING’オプションによって指定された値

  2. 環境変数‘XENVIRONMENT’の値

        − これがセットされていなければ、‘~/.Xdefaults-HOSTNAME’という名
          前のファイルがあればその中から(HOSTNAMEはEmacsが実行中のマシン
          の名前)

  3. サーバーが提供するスクリーン固有のシステムワイドなリソースプロパテ
     ィ

        − これがセットされていなければ、‘~/.Xdefaults’という名前のファイ
          ルがあればその中から

  4. ‘XUSERFILESEARCHPATH’にリストされたファイル

        − 環境変数‘LANG’がセットされていれば‘XAPPLRESDIR’にリストされた
          ディレクトリーにある‘LANG/Emacs’という名前のファイルの中から
          (LANGは環境変数‘LANG’の値)
        − ‘XAPPLRESDIR’にリストされたディレクトリーにあるEmacsという名前
          のファイルの中から
        − (環境変数‘LANG’がセットされていれば) ‘~/LANG/Emacs’の中から
        − ‘~/Emacs’の中から

  5. ‘XFILESEARCHPATH’にリストされたファイルの中から

6.7 わたしがカスタマイズしたフレームパラメーターが機能しないのはなぜ?
=====================================================================

これが発生したのは恐らく変数‘initial-frame-alist’でフレームパラメーター
をセットしたからです。この変数にはEmacs起動時に作成された最初のフレーム
に使用されたパラメーターだけが保持されています。すべてのフレームのパラメ
ーターをカスタマイズするためには、かわりに‘default-frame-alist’を変更し
てください。

   これらの2つの変数が存在するのは、多くのユーザーが特別な方法で初期フレ
ームをカスタマイズするからです。たとえば初期フレームの位置とサイズを判断
することができ、かつ他のフレームについてはそれぞれを個別に配置してジオメ
トリを制御したいような場合です。

6.8 名前に‘$’があるファイルを編集するには?
==========================================

ミニバッファーでファイル名を入力する際に単語の前に‘$’があると、Emacsは環
境変数としてそれの展開を試みます。この挙動を抑止するにはかわりに‘$$’とタ
イプしてください。

6.9 Shellモードがシェルのカレントディレクトリーを見失うのはなぜ?
================================================================

Emacsには実際にシェルが自身のディレクトリーを変更したタイミングを知る手
段がありません。これはUnixに内部の制限です。そのためにEmacsは‘cd’コマン
ドを識別して推測を試みます。変数リファレンスを含むディレクトリーが後に続
く‘cd’ (‘cd $HOME/bin’)やシェルのメタ文字を含むディレクトリー(‘cd
../lib*’)をタイプすると、Emacsはシェルの新たなカレントディレクトリーの正
確な推測に失敗するでしょう。Shellモードにおけるこの問題を処理するために
、膨大な数の様々な訂正や改善が記述されてきました(*note Finding a package
with particular functionality::を参照)。

   コマンド‘M-x dirs’でシェルのカレントディレクトリーをEmacsに伝えること
ができます。

6.10 Emacsにセキュリティリスクはある?
=====================================

   • サードパーティのパッケージ。

     Emacsにインストールされた任意のパッケージはEmacs自身のプロセスと同
     じ権限で任意のコードを実行できる。サードパーティのアーカイブをパッ
     ケージシステム(‘M-x list-packages’など)で使用する際には注意を要する
     。信頼可能なサードパーティだけを使用すること!

   • ‘file-local-variable’機能(確かに危険だが容易に変更できる)。

     Emacsにはファイル終端付近に特別にフォーマットされたテキストを含むフ
     ァイルを編集する際に、変数にたいするローカル値のセットを許す機能が
     ある。この機能にはファイルをvisitする際に任意のEmacs Lispコードを評
     価する能力も含まれる。当然、トロイの木馬がこの機能を悪用する可能性
     がある。

     Emacsにはバージョン22の時点において、セットしても安全だと判っている
     ローカル変数のリストがある。このリスト以外の変数のセットをファイル
     が試みると、その変数をセットするべきかどうかユーザーに確認を求める
     。変数‘enable-local-eval’をセットすることにより、ファイル下部で見つ
     けたEmacs Lispコードの評価を許すか否かをEmacsに伝えることもできる。

     *note (emacs)File Variables::を参照のこと。

   • 合成Xイベント(確かに危険なので‘MIT-MAGIC-COOKIE-1’以上を使用するこ
     と)。

     Emacsは‘SendEvent’リクエストが生成した合成Xイベント(synthetic X
     event)を、通常イベントであるかのように受け入れる。結果として簡単な
     ホストベースの認証を使用していると、XワークステーションへのX接続を
     オープン可能な他のユーザーは、Emacsプロセスに(特権での他プロセス実
     行を含む)何でも実行させることができる。

     他のユーザーによるX接続のオープンができないように防ぐことが、これに
     たいする唯一の修整である。‘MIT-MAGIC-COOKIE-1’のような本物の認証メ
     カニズムを使用することが、これを防ぐ標準的な方法である。‘xauth’プロ
     グラムの使用に何らかの効果があるなら、恐らく‘MIT-MAGIC-COOKIE-1’を
     使用しているだろう。あなたのサイトは上位の認証方式を使用しているか
     もしれない。システム管理者に尋ねてみて欲しい。

     本物の認証が利用できなければ、Xプログラム起動中の短い時間内だけホス
     トへのアクセスを許可して、その後にアクセスを削除することで満足でき
     るかもしれない。これは敵対的ユーザーがアクセス可能な時間枠が縮小さ
     れるのでリスクは幾分低減するものの、_排除はされていない_。

     UnixおよびXを実行中のコンピューターのほとんどでは‘xhost’コマンドを
     使用してアクセスを有効または無効にできる。すべてのホストにXサーバー
     へのアクセスを許可するには、

          xhost +

     をシェルプロンプトで使用する。これは(少なくともHPマシンでは)以下の
     メッセージを生成する:

          access control disabled, clients can connect from any host

     (名前により明示的に許可されたホストを除き)すべてのホストにたいして
     Xサーバーへのアクセスを拒絶するには以下を使用する

          xhost -

     HPのテスト機では、このコマンドは以下のメッセージを生成した:

          access control enabled, only authorized clients can connect

6.11 何かしようとするとDiredが‘no file on this line’と言う。
============================================================

Diredはファイル名の先頭を見つけるために正規表現を使用します。Unix形式の
長いディレクトリーリスト(‘ls -l’)では、ファイル名は日時の後で始まります
。したがってこのregexpは日時を探すように記述されています。デフォルトでは
言語に関わらず日付と時刻を認識して然るべきですが、あなたのディレクトリー
リストが通常のフォーマットでなければDiredが混乱するかもしれません。

   これを解決するには2つのアプローチがあります。1つ目には‘ls -l’の出力が
より標準的なフォーマットになるように設定を行うことです。詳細はあなたの
OSのマニュアルを参照してください。

   2つ目のアプローチはDiredが使用する正規表現
‘directory-listing-before-filename-regexp’を変更することです。

7 Emacsのコンパイルとインストール
*********************************

7.1 Emacsをインストールするには?
================================

この回答はUnixおよびUnix風システムを使用するユーザーを意図しています。他
のオペレーティングシステムのユーザーは*note Emacs for MS-DOS::で始まる一
連の問いを確認する必要があります。これらにはUnix以外のソースおよびバイナ
リーを取得する場所、それらのシステムでEmacsをインストールする方法が記さ
れています。

   GNU/Linuxディストリビューションのほとんどでは、事前ビルドされた
Emacsパッケージが提供されています。Emacsがすでにインストール済みでなけれ
ば‘dnf install emacs’ (Red Hatとその派生物の場合。古いディストリビューシ
ョンは‘yum’を使用)、または‘apt-get install emacs’ (Debianとその派生物の
場合)のようなコマンドを(rootとして)実行することでインストールできます。

   自分でEmacsをコンパイルしたい場合には、ソースディストリビューションの
ファイル‘INSTALL’を読んでください。要約すると:

   • まずEmacsのソースをダウンロードする。ダウンロードできるサイトのリス
     トは*note Current GNU distributions::を参照のこと。GNUディストリビ
     ューションのメインサイト<https://ftp.gnu.org>では以下からダウンロー
     ド可能

     <https://ftp.gnu.org/pub/gnu/emacs/emacs-VERSION.tar.gz>

     (‘VERSION’は‘23.1’のように適切なバージョン番号に置き換えること。)

   • 次にソースファイルを解凍、抽出する。これには標準ユーティリティー
     ‘gzip’と‘tar’が必要。これらがシステムになければ
     <https://ftp.gnu.org>からダウンロードできる。

     GNU ‘tar’なら一度に解凍抽出ができる:

          tar -zxvf emacs-VERSION.tar.gz

   • この時点でEmacsのソースファイルは‘emacs-VERSION’というディレクトリ
     ーにあるはず。UnixおよびUnix風システムのほとんどでは、以下のコマン
     ドでEmacsをコンパイルできるだろう。

          cd emacs-VERSION
          ./configure         # 特定システム向けにEmacsをconfigure
          make                # Makefileを使ってコンポーネントをビルド、Emacsを使用する

     ‘make’が正常に完了したら、ビルドがうまくいった公算はかなり高い(不成
     功なら*note Problems building Emacs::を参照)。

   • デフォルトではEmacsは‘/usr/local’にインストールされる。実際にファイ
     ルをインストールするには特権ユーザーになって以下をタイプする

          make install

     ‘make install’によって‘/usr/local/bin/emacs’や
     ‘/usr/local/share/info/’にあるかもしれないEmacs Infoファイルは上書
     きされることに注意。

7.2 Emacsのビルドでトラブルに逢ったらどうすれば?
================================================

まずはあなたの問題にたいする解決策があるかを確認するために、(Emacsソース
を解凍した場所にある)ファイル‘etc/PROBLEMS’調べてください。次にこのFAQか
らEmacsのインストールやコンパイルの問題に関連する他の問答を探してくださ
い。

   あなたの問題を誰かに見てもらって解決の助けとしたいなら、*note Help
installing Emacs::を参照してください。

   ドキュメントから解決策が見つからない場合には、どうかその問題をレポー
トしてください(*note Reporting bugs::を参照)。

8 Emacsおよび関連パッケージの見つけ方
*************************************

8.1 ネットショップのどこでEmacsを入手できる?
============================================

Emacsのダウンロードに関する情報はthe Emacs home-page
(https://www.gnu.org/software/emacs/)で利用可能です。

   Emacsの入手およびEmacs最新バージョンをビルドする方法については*note
Installing Emacs::、GNUソフトウェアが利用可能なアーカイブサイトのリスト
は*note Current GNU distributions::を参照してください。

8.2 XXXを行うEmacs Lispパッケージを見つけるには?
================================================

何よりまずはパッケージが本当にまだ利用できないか確認しましょう。たとえば
‘M-x apropos <RET> python <RET>’とタイプすれば、文字列‘python’を含むすべ
ての関数と変数が一覧されます。

   パッケージはシステム上にあってもロードされていない可能性もあります。
ロード用に利用できるパッケージを確認するために、あなたのコンピューターの
lispディレクトリーを見てみましょう(*note File-name conventions::を参照
)。ほとんどのパッケージのLispソースには、それらをどのようにロード、呼び
出し、設定するべきかに関する短い説明が含まれているので、作成者がソースコ
ード内でヒントを提供していたら、Lispパッケージの使用や変更を行う前にそれ
を確認しましょう。

   コマンド‘C-h p’ (‘finder-by-keyword’)でEmacsのパッケージ構成を閲覧で
きます。

   Emacsの一部ではない追加パッケージを探す方法に関する助言は*note
Packages that do not come with Emacs::を参照してください。

8.3 Emacsに同梱されていないEmacs Lispパッケージはどこで入手できるのか?
======================================================================

あなたのEmacsに更に機能を追加するには、コマンド‘M-x list-packages’を使用
するのがもっとも簡単な方法です。これはGNU ELPA (https://elpa.gnu.org)
(“Emacs Lisp Package Archive”)サーバーに接続して、それが提案する追加パッ
ケージのリストを取得します。これらはEmacsでの使用が可能ですが、スペース
等の理由によりEmacs自体とは別に配布されているGNUパッケージです。コマンド
の結果として得られた‘*Packages*’を閲覧して何が利用可能なのか確認、それか
らあなたが選択したパッケージのダウンロードとインストールを自動的に行いま
す。*note (emacs)Packages::を参照してください。

   Emacs Lispパッケージアーカイブは他にもあります。追加アーカイブを使用
するには変数‘package-archives’をカスタマイズしてください。これらのアーカ
イブはGNU Emacsとは提携しておらず、わたしたちはそれらがどのように保守さ
れているかを監視していません。彼らはコードの正確さち安全性に細心の注意を
払うかもしれないし、あるいはぞんざいに注意するだけかもしれません。

   更にこれらの他のアーカイブでホストされるパッケージは、他の非フリーな
プログラムのインストールや使用を推奨、あるいは必須としているかもしれませ
ん。パッケージがフリーソフトウェアであり、非フリーなソフトウェアをインス
トールせずに機能するか検証できないのであれば、あなたの自由を危うくしない
ために近寄らないことを推奨します。

   Emacs sources newsgroup (news:gnu.emacs.sources)にゲートウェイされて
いるGNU Emacs sources mailing list
(https://lists.gnu.org/mailman/listinfo/gnu-emacs-sources)は、(たとえ2点
間の通信が不確かなものであったとしても)人々が彼らのEmacs拡張をアナウンス
する公の場です。

   Emacs Wiki (https://emacswiki.org)にはいくつかの追加拡張への指標が含
まれています。WikEmacs (https://wikemacs.org)はEmacs用の代替えwikiです。

   The Emacs Lisp List (ELL)
(http://www.damtp.cam.ac.uk/user/sje30/emacs/ell.html)には多くのEmacs
Lispファイルへの指標がありますが、これを記述している時点ではすでに更新さ
れていません。

   Emacs Lispパッケージを提供するすべてのサイトをここで一覧することは、
わたしたちには不可能です。もしも特定の機能に興味があるならEmacs自身とGNU
ELPAをチェックした後は、ウェブ検索が結果を見い出す最良の手段であることが
多々あります。

8.4 スペルチェッカー
====================

以下を含む様々なスペルチェッカーにはEmacsとの互換性があります:

Hunspell
     <http://hunspell.sourceforge.net/>

GNU Aspell
     <http://aspell.net/>

Ispell
     <http://fmg-www.cs.ucla.edu/geoff/ispell.html>

Enchant
     <https://abiword.github.io/enchant/>

8.5 その他の最新のGNUスタッフはどこで入手できる?
================================================

GNU公式ソフトウェアのほとんどは通常は以下で保持されています

   <https://ftp.gnu.org/pub/gnu>

   ‘ftp.gnu.org’のミラーサイト一覧は以下で見つけられます

   <https://www.gnu.org/prep/ftp>

8.6 EmacsとXEmacs(以前はLucid Emacs)の違いは?
=============================================

XEmacsとはもはや活発に開発されなくなったEmacsのブランチバージョンです。
当初XEmacsはLucid Emacsと呼ばれており、初版はEmacs 19のプレリリースバー
ジョンから派生しました。このFAQでは公式バージョンにたいしてのみ“Emacs”と
いう名前を使用します。

   XEmacsは2009年1月30に新たにリリースされたバージョンが最新であり、それ
にはEmacsに存在する多くの重要な機能が欠落していました。過去においては、
EmacsパッケージにXEmacsとの互換性のためのコードを含めるのは珍しいことで
はありませんでした。現在ではたとえそのような互換性コードをまだ保守してい
るパッケージがあったとしても、より人気のあるビルトインおよびサードパーテ
ィーのパッケージのいくつかはXEmacsのサポートを止めるか、あるいはEmacs専
用に開発されています。

   いくつかのXEmacsコードはEmacsに提供されており、他の部分についてもわた
したちは使用したいと考えていますが、初期のXEmacsメンテナーは提供されたコ
ードの作成者を常に追跡してはおらず、FSFによるそのコードの署名済みコピー
ライトペーパー取得を不可能にしています(FSFはEmacsのコードに正しく統合さ
れていない個別に身元を保つ汎用Cサポートパッケージを除き、Emacsリリースに
含まれるすべてのコードにたいしてこれらのペーパーを要求している)。

   これらの2つのバージョンを区別して議論をする場合には、どうかそれらを
“Emacs”および“XEmacs”と呼ぶようにしてください。XEmacsもまたGNUプロジェク
トの作業を元としているので、“XEmacs”と“GNU Emacs”の対比は誤解を招きかね
ません。“Emacsen”や“(X)Emacs”のような用語も悪くはありませんが、非常に明
快とは言えないので“Emacs and XEmacs”と記述するほうが良いでしょう。

8.7 Emacsをインストールするための空き容量が不十分
=================================================

GNU ZileはEmacsの軽量クローンです。Zileは‘Zile Is Lossy Emacs’を短縮した
ものです。これにはEmacsの基本的な編集機能がすべて含まれています。Zileの
バイナリーは通常は約130kBのサイズなので、非常にスペースに制限がある環境
で有用かもしれません。詳細は以下で利用できます

   <https://www.gnu.org/software/zile/>

8.8 MS-DOS用のEmacsはどこ?
==========================

MS-DOS用のEmacsをソースからビルドするには、ディストリビューションに同梱
のファイル‘msdos/INSTALL’の手順を参照してください。DOSポートはプレーン
DOS、更にWindows XPとVistaを含むバージョン3.X以降のすべてのバージョンの
MS-Windowsでビルド、実行されています。

   ファイル‘etc/PROBLEMS’にはMS-DOS下のEmacsに関する追加情報が含まれてい
ます。

   Emacs 24の事前ビルドされたバイナリーの配布は以下から利用できます

   <http://www.delorie.com/pub/djgpp/current/v2gnu/emacs.README>

   Emacs(およびEmacs類似物)のその他のMS-DOS実装については、以下で利用可
能な“Emacs implementations and literature,”のリストを参照してください。

   <http://www.finseth.com/emacs.html>

   これらのプログラムの多くはEmacsと同じように見えますが、それらには
Emacs Lisp拡張言語のような特定の機能が欠落していることが多々あります。

8.9 Microsoft Windows用のEmacsはどこ?
=====================================

MS-WindowsでのEmacsには別個にFAQがあります。*note (efaq-w32)Top::を参照
してください。MS-DOSの場合には*note Emacs for MS-DOS::を参照してください
。

8.10 GNUstep用のEmacsはどこ?
============================

バージョン23.1からEmacsはGNUstepをネイティブでサポートしています。ディス
トリビューション内のファイル‘nextstep/INSTALL’を参照してください。

8.11 macOS用のEmacsはどこ?
==========================

バージョン22.1からEmacsはmacOSをネイティブでサポートしています。ディスト
リビューション内のファイル‘nextstep/INSTALL’を参照してください。

9 キープバインディング
**********************

9.1 キー(ファンクションキー含む)をコマンドにインストールするには?
=================================================================

対話的に、あるいは‘.emacs’ファイルでキーをコマンドにバインドできます。す
べてのモードにたいしてキーを対話的にバインドするには、‘M-x
global-set-key <RET> KEY CMD <RET>’とタイプします。

   カレントのメジャーモードだけでキーをバインドするには‘M-x
local-set-key <RET> KEY CMD <RET>’とタイプします。

   *note (emacs)Key Bindings::を参照してください。

   対話的にキーをバインドするプロセスを容易にするために次の“trick”を使用
できます:
まず対話的にキーをバインドしてからすぐに‘C-x <ESC> <ESC> C-a C-k C-g’と
タイプ、
これでキーバインドを要するコマンドがkillリングに取り込まれたので
‘.emacs’ファイルにyankできるようになった。

グローバルなキーバインディングの場合にはコマンドの変更は不要です。たとえ
ば、

     (global-set-key [f1] 'help-for-help)

これは‘.emacs’ファイルに直接記述できます。ローカルなキーバインディングの
場合には、コマンドは‘add-hook’関数と組み合わせて使用されます。たとえば
TeXモードでのローカルバインディングは以下のようになるでしょう

     (add-hook 'tex-mode-hook
       (lambda ()
        (local-set-key [f1] 'help-for-help)))

   • killリングからyankしたキーシーケンス内でのコントロール文字の形式は
     グラフィック形式 — つまり<CTRL>は‘^’、<TAB>はいくつかのスペース(通
     常は8)で示されるでしょう。これらをベクターや文字列形式に変換したい
     と思うかもしれません。

   • プレフィクスキーとしてある文字シーケンスをバインドする場合に、それ
     がすでにコンプリートキーとしてバインドされていたら、新しいバインデ
     ィングの前にコンプリートキーのバインドを解除しなければならない。た
     とえば‘ESC {’がバインド済みなら:

          (global-unset-key [?\e ?{])   ;; または
          (local-unset-key [?\e ?{])

   • コマンドや“lambdaリスト”は別として、ベクターや文字列もキーにバイン
     ドできるのでマクロとして扱うことができる。たとえば:

          (global-set-key [f10] [?\C-x?\e?\e?\C-a?\C-k?\C-g])  ;; または
          (global-set-key [f10] "\C-x\e\e\C-a\C-k\C-g")

9.2 Emacsが‘Key sequence XXX uses invalid prefix characters’と言うのはなぜ?
===========================================================================

通常は2つのうちいずれかが発生したからです。1つ目はキーシーケンス内のコン
トロール文字の指定誤りです(Lisp式で‘\C-f’のかわりに‘C-f’を使用した)。2つ
目はバインドを試みているキーストロークシーケンス内の“プレフィクスキー
(prefix key)”がすでに“コンプリートキー(complete key)”としてバインドされ
ているからです。歴史的な理由により‘ESC [’は通常は問題になります。この場
合にはキーシーケンスのバインドを試みる前に、以下のフォームのいずれかを評
価する必要があります:

     (global-unset-key [?\e ?[])  ;; または
     (global-unset-key "\e[")

9.3 Emacs起動後でなければ‘.emacs’ファイルの[端末やウィンドウシステム]のセットアップコードが機能しないのはなぜ?
==============================================================================================================

スタートアップの間、Emacsは与えられたコード/ファイルの順番に応じて自身を
初期化します。端末またはウィンドウシステムのセットアップコードが実行され
るまで、‘.emacs’ファイル内のあるコードを延期する必要があるのにセットアッ
プが終わっていないと、この問題を体験することになるでしょう(このコード/フ
ァイルの実行順はスタートアップ後は強制されない)。

   端末またはウィンドウシステムのセットアップ後までEmacs Lispコードの実
行を延期するには、コードを“lambdaリスト(lambda list)”として
‘emacs-startup-hook’ (またはEmacs 24.4は‘tty-setup-hook’)に追加してくだ
さい。たとえば、

     (add-hook 'emacs-startup-hook
               (lambda ()
                (when (string-match "\\`vt220" (or (getenv "TERM") ""))
                  ;; vt220の"Do"キーをM-xのように振る舞わせる:
                  (global-set-key [do] 'execute-extended-command))))

   起動のたびにEmacsが何を行っているかについては‘lisp/startup.el’を参照
してください。

9.4 ファンクションキーや矢印キーが発する文字やシンボルを確認するには?
=====================================================================

‘C-h c’の後にファンクションキーか矢印キーをタイプしてください。コマンド
はファンクションキーシンボルか文字シーケンスをリターンするでしょう(説明
はEmacsドキュメントを参照)。これは他のキーでも同様に機能します。

9.5 Xのキー変換をEmacs用に設定するには?
=======================================

EmacsはデフォルトではXtライブラリーを使用するように記述されていないので
、何の“変換(translation)”もセットされていません(XtとともにEmacsをビルド
した場合にそのような変換をどのようにセットするかわたしたちには定かではな
いので、これを行うことができたらどうか知らせてください!)。

   Emacs内でのキーの挙動に影響を与えるには‘xmodmap’ (Emacs外部)、あるい
は‘define-key’ (Emacs内部)を通じて行う方法だけです。‘define-key’コマンド
は‘local-function-key-map’と組み合わせて使用する必要があります。たとえば
、

     (define-key function-key-map [M-<TAB>] [?\M-\t])

これはキーシーケンス‘M-<TAB>’を定義します。

9.6 <Backspace>キーがヘルプを呼び出すのはなぜ?
==============================================

(ほとんどのキーボードでは)<Backspace>キーはASCIIコードの8を生成します。
‘C-h’が送信するコードも同じです。Emacsではデフォルトでは‘C-h’は
help-commandを呼び出します。これは‘help’の最初の文字が‘h’なので簡単に覚
えられることを意図したものです。この問題のもっとも簡単な解決策はヘルプに
は‘C-h’ (と<Backspace>)を使い、前の文字の削除には<DEL>(<Delete>キー)を使
うことです。

   多くの人たちにとって、この解決策は問題があるかもしれません:

   • 彼らはEmacs外部では前の文字の削除に通常は<Backspace>を使用する。こ
     れはEmacs外部で前の文字を削除するコマンドを<DEL>にすれば解決できる
     。多くのUnixシステムでは、以下のコマンドは<DEL>をリマップするだろう
     :

          stty erase '^?'

   • ユーザーはキーボード上でより使いやすい位置にある、あるいは別個に
     <Delete>キーがないという理由によって、前の文字の削除に<Backspace>キ
     ーを使うことを好むかもしれない。この場合には<Backspace>キーに
     <Delete>のように振る舞わせる必要がある。いくつかの方法がある。

        − いくつかの端末(例: VT3##端末)や端末エミュレータ(例: TeraTerm)で
          は、セットアップメニューから<Backspace>キーが生成する文字を変
          更できる。

        − 完全にプログラム可能なキーボードや、任意のキーから別の任意のキ
          ーへのリマップをサポートする端末エミュレータを入手できるかもし
          れない。

        − Emacs 21.1以降ではオプション‘normal-erase-is-backspace-mode’の
          カスタマイズ、または‘M-x normal-erase-is-backspace’呼び出しに
          より、ダム端末およびウィンドウ化されたディスプレーの両方におい
          て、<Backspace>キーおよび<Delete>キーの効果を制御できる。これ
          らのシンボルのドキュメントについては*note Emacs Lisp
          documentation::を参照のこと。

        − Emacs内部では<Backspace>キーと<DEL>キーを交換できる:

               (keyboard-translate ?\C-h ?\C-?)

          これはたとえ<DEL>を‘delete-backward-char’以外の何かにバインド
          するモードでも機能するので、<Backspace>を<DEL>のように動作させ
          る際の推奨方法である。

          同じように<DEL>が‘C-d’ (デフォルトでは前方に削除)のように振る
          舞うようにリマップできる:

               (keyboard-translate ?\C-? ?\C-d)

          ‘keyboard-translate’についての詳細は*note Swapping keys::を参
          照のこと。

        − 別のアプローチとしては、キーバインディングを切り替えてかわりに
          ‘C-x h’をヘルプにする:

               (global-set-key "\C-h" 'delete-backward-char)

               ;; mark-whole-bufferをオーバーライドする
               (global-set-key "\C-xh" 'help-command)

          とはいえこの手法は推奨しない。これは<DEL>を
          ‘delete-backward-char’にバインドするモードにたいしてのみ問題を
          解決する。‘view-mode’モードのように<DEL>を別の何かにバインドす
          るモードは、<Backspace>キーを押下した際に期待通り動作しないだ
          ろう。この理由により、わたしたちは上述した
          ‘keyboard-translate’手法をお勧めする。

          ヘルプ用として他に人気のあるキーバインディングは‘M-?’と‘C-x
          ?’である。

     <DEL>にたいしてローカルバインディングをもつモードが多数あり、それら
     と干渉するかもしれないので、<DEL>に‘help-command’をバインドしようと
     してはならない。

   ウィンドウ化されたディスプレーでEmacs 21以降を実行する場合には、これ
らのシステムでのキーボード操作とEmacsの矛盾が少なくなるように、
<Delete>をポイント位置の文字を削除するコマンドにバインドします。

   この問題の解決についての詳細は*note If <DEL> Fails to Delete:
(emacs)DEL Does Not Delete.を参照してください。

9.7 2つのキーを入れ替えるには?
==============================

‘keyboard-translate’を使用して2つのキー(またはキーシーケンス)を交換でき
ます。たとえば‘C-h’を<DEL>、<DEL>を‘C-h’にするには、

     (keyboard-translate ?\C-h ?\C-?)  ; 'C-h'をDELに変換
     (keyboard-translate ?\C-? ?\C-h)  ; DELを'C-h'に変換

関数の後のキーシーケンスの1つ目はキーボードが何を生成するかを識別、2つ目
はキーマップでそれが何にマッチするかを指定します。

   しかし‘C-h’と<DEL>の特別なケースにおいては、‘keyboard-translate’呼び
出しではなく‘normal-erase-is-backspace-mode’を切り替えるべきです。*note
(emacs)DEL Does Not Delete::を参照してください。

   キーボードの変換(translation)はキーマップのキーバインディングと同じで
はありません。Emacsには異なる状況に適用するために数々のキーマップがあり
ますが、キーボード変換は1セットしかなく、Emacsが端末から文字を読み取るた
びにそれが適用されます。キーボード変換は入力プロセスのもっとも低いレベル
で行われます。キーマップに照合される文字にはキーボード変換された結果の文
字が含まれています。

9.8 キーボードでC-XXXを生成するには?
====================================

(X配下ではない)端末で一般的ないくつかの“エイリアス”です:

‘C-2’や‘C-<SPC>’
     ‘C-@’

‘C-6’
     ‘C-^’

‘C-7’や ‘C-S--’
     ‘C-_’

‘C-4’
     ‘C-\’

‘C-5’
     ‘C-]’

‘C-/’
     ‘C-?’

   多くの場合は他にもエイリアスが存在します。あなたのキーボードで‘C-h
c’コマンドを使って、<CTRL>とすべての数字を試して何が生成されるか確認して
みてください。コマンド名が判っていれば‘C-h w’コマンドを試してみることも
できます。

9.9 <Meta>キーがない、どうすれば?
=================================

多くのキーボードでは、<Alt>キーは<Meta>のように振る舞うので試してみてく
ださい。

   ‘M-a’のかわりに‘<ESC> a’とタイプすることができます。実際のところ、い
ずれにせよEmacsは内部で‘M-a’を‘<ESC> a’に変換しています
(‘meta-prefix-char’の値による)。<Meta>と‘a’は一緒に押しますが、<ESC>の場
合には<ESC>を押して離した後に‘a’を押下することに注意してください。

9.10 <Escape>キーがない、どうすれば?
====================================

かわりに‘C-[’をタイプしてください。これはエスケープキーのようにASCIIコー
ドの27を送信するはずです。‘C-3’でも機能する端末もあります(X配下でないこ
と)。多くの端末(特にDEC)では、<F11>が<ESC>を生成します。そうでなければ以
下のフォームを使用してこれをバインドできます:

     ;; DEC端末ではF11はESCの置き換えとドキュメントされている
     (define-key function-key-map [f11] [?\e])

9.11 <Compose Character>キーを<Meta>キーのように機能させるには?
===============================================================

VT220のようなダム端末ではできません。噂では特定のVT220クローンは、この方
法で設定することによって独自に<Compose>キーをもてるようです。Xを使用して
いれば‘xmodmap’コマンドでこれを行うことができるかもしれません。

9.12 修飾キーとファンクションキーの組み合わせをバインドするには?
================================================================

ファンクションキーのシンボルにプレフィクスを追加することによって、ベクタ
ーフォーマットで修飾されたファンクションキーを表すことができます。たとえ
ば(Emacsドキュメントより):

     (global-set-key [?\C-x right] 'forward-page)

ここで‘?\C-x’は文字‘C-x’にたいするLisp文字定数です。

   ファンクションキーとともに<Control>、<Meta>、<Hyper>、<Super>、
<Alt>、<Shift>の修飾キーが使用できます。これらの修飾キーを表現するにはシ
ンボル名の前に‘C-’、‘M-’、‘H-’、‘s-’、‘A-’、‘S-’を前置します。以下は
‘H-M-RIGHT’を単語1つ前方に移動にする方法です:

     (global-set-key [H-M-right] 'forward-word)

   • すべての修飾キーがどんな状況でも許されている訳ではありません。
     Unix文字端末では<Hyper>、<Super>、<Alt>は利用できません。この種の状
     況下では非ASCIIキーとマウスイベント(たとえば‘C-=’や‘mouse-1’)も失敗
     します。

   キーバインディングについての一般的な説明については*note Binding keys
to commands::を参照してください。

9.13 ‘xterm’ウィンドウで<Meta>キーが機能しないのはなぜ?
=======================================================

*note Single-Byte Character Set Support: (emacs)Unibyte Mode.を参照して
ください。

   Emacsマニュアルのアドバイスが失敗した場合には、更なる助けを求める前に
以下の方法すべてを試してみてください:

   • ウィンドウマネージャーに‘mwm’を使用することによって大きな問題を抱え
     ているのかもしれない(‘mwm’のEmacsで<Meta>キーが使用できるようにする
     汎用的で優れた解決策を知る人は居るのだろうか?)。

   • X11ではそれが本当に<Meta>キーなのか確認してほしい。あなたの<Meta>キ
     ーがどんなkeysymを生成するか確認するには‘xev’を使用する。‘Meta_L’か
     ‘Meta_R’のいずれかのはずだが、もし違うならこの状況を修整するために
     ‘xmodmap’を使用できる。<Meta>は‘Meta_L’や‘Meta_R’を生成せず、
     ‘M-x’は非ASCII文字を生成するようなら以下を‘~/.Xdefaults’ファイルに
     記述する:

           XTerm*eightBitInput:   false
           XTerm*eightBitOutput:  true

   • ‘xterm’が使用している‘pty’が8ビット文字を通すか確認すること。‘stty
     -a’ (あるいは‘stty everything’)がどこかに‘cs8’と表示するはずである
     。かわりに‘cs7’が表示されたら、これを修整するために‘stty cs8
     -istrip’ (あるいは‘stty pass8’)を使用する。

   • ‘xterm’とEmacsの間に‘rlogin’接続が存在する場合には、各文字の8ビット
     目をすべて渡すようにrloginに‘-8’引数を与える必要があるかもしれない
     。

   • UltrixでEmacsを実行しているなら、‘(set-input-mode t nil)’の評価が助
     けになると報告されている。

   • 他のすべてが失敗したら、‘M-W’のタイプ時に‘xterm’に‘<ESC> W’を生成さ
     せることができる。これはいずれにせよ‘M-W’を受け取ったときにEmacsが
     行うであろう変換と同じである。X11R4では以下のリソース仕様でこれを行
     うことができるだろう:

          XTerm.VT100.EightBitInput: false

     (これは‘insert-eight-bit’アクションの振る舞いを変更する。)

     古い‘xterm’ではtranslationでこの挙動を指定できる:

          XTerm.VT100.Translations: #override \
            Meta<KeyPress>: string(0x1b) insert()

     ‘Meta’を‘Alt’に置き換える必要があるかもしれない。

9.14 HP-UX 8.0および9.xで<ExtendChar>キーが<Meta>キーのように機能しないのはなぜ?
================================================================================

これはX11R4における国際化拡張の結果であるとともに、HPが現在はこの拡張を
使用しているという事実を示しています。Emacsは<Meta>キーの状態に関わらず
‘XLookupString’関数が同じ結果をリターンするという、もはや必ずしも真とは
言えない前提にもとづいています。Emacsが修整されるまでは、その場しのぎの
一時的な修整ですがXサーバー起動後に毎回、できればxtermクライアント開始前
に以下のコマンドを実行してください:

     xmodmap -e 'remove mod1 = Mode_switch'

   これはシステムワイドで追加のkeysymを無効にします。これはあなたが実際
にそれらを使用つもりなら不本意かもしれません。

9.15 <SPC>でファイル名が他の人されなくなった、なぜ?
===================================================

Emacs 22.1から‘SPC’はミニバッファーでファイル名の補完を行わなくなったの
で、スペースが埋め込まれたファイル名のタイプにおいてスペースをクォートす
る必要がなくなりました。

   以下のようにミニバッファーで‘SPC’を‘minibuffer-complete-word’にバイン
ドすることによって古い挙動に戻すことができます:

     (define-key minibuffer-local-filename-completion-map (kbd "SPC")
       'minibuffer-complete-word)

     (define-key minibuffer-local-must-match-filename-map (kbd "SPC")
       'minibuffer-complete-word)

10 代替文字集合
***************

10.1 Emacsで8ビット文字を表示するには?
======================================

*note Single-byte Character Set Support: (emacs)Unibyte Mode.を参照して
ください。Unixのテキストのみの端末ディスプレー、あるいは‘emacs -nw’呼び
出しでEmacsを実行する際には、たとえ言語環境を設定後であっても、通常は
‘set-terminal-coding-system’を使用してその端末で表示可能なものをEmacsに
伝える必要があります。さもないと非ASCII文字は‘?’と表示されるでしょう。他
のMS-DOSやMS-Windowsのようなオペレーティングシステムでは、ディスプレーが
サポートする文字についてEmacsがOSに問い合わせて、必要となる端末コーディ
ングシステムを自動的にセットアップします。

10.2 8ビット文字を入力するには?
===============================

8ビット文字の入力には様々なメソッドが利用できます。*note Single-byte
Character Set Support: (emacs)Unibyte Mode.を参照してください。より洗練
されたメソッドについては*note (emacs)Input Methods::を参照してください。

10.3 セム語アルファベット(右から左に記述)を扱えるEmacsを入手できるのはどこ?
===========================================================================

バージョン24.1以降のEmacsではアラビア語、ペルシア語、ヘブライ語のような
双方向スクリプト(bidirectional script)の表示と編集がサポートされています
。*note bidirectional display: New in Emacs 24.を参照してください。

10.4 Emacsで使うフォントを追加するには?
=======================================

まずBDFフォントファイル、およびそれらが必要とするすべての補助パッケージ
をダウンロードしてインストールしてください。GNU Intlfontsディストリビュ
ーションはthe GNU Software Directory Web site
(https://directory.fsf.org/localization/intlfonts.html)で見つけることが
できます。

   次にXウィンドウシステムの場合には、シェルプロンプトから以下の2つのコ
マンドを実行してください:

       xset +fp /usr/local/share/emacs/fonts
       xset fp rehash

(‘/usr/local/share/emacs/fonts’以外の場所にフォントをインストールしてい
たら1つ目のコマンドは変更が必要。) たとえば‘~/.xsessionrc’や
‘~/.gnomerc’のようなウィンドウシステムのスタートアップファイルに追加する
等、ログイン時いつでもこれら2つのコマンドが実行されるようにアレンジも必
要でしょう。

   それでは以下の行をinitファイル‘~/.emacs’に追加してください:

       (add-to-list 'bdf-directory-list "/usr/share/emacs/fonts/bdf")

(繰り返しになるが、別の場所にフォントをインストールしていたらファイル名
は変更すること。)

   最後に‘ps-print’でインストール済みフォントを使用したければ、以下の行
を‘~/.emacs’に追加してください:

       (setq ps-multibyte-buffer 'bdf-font-except-latin)

   MS-Windowsでは追加でいくつかのステップが必要です。以下にリストします
。

   まずBDFフォントファイルがある_すべて_のディレクトリーが
‘bdf-directory-list’に記述されていることを確認してください。Unixおよび
GNU/Linuxシステムでは同一ディレクトリーにBDFフォントをインストールするた
めに‘make install’を実行します。それとは対照的にWindowsユーザーは通常は
Intlfontsインストールコマンドは実行せずに、どこかのディレクトリーにディ
ストリビューションを解凍してください。このディレクトリーにはBDFフォント
があるサブディレクトリーが含まれています。たとえば‘C:/Intlfonts’に
Intlfontsを解凍したとすると、以下のように‘bdf-directory-list’をセットす
る必要があります:

       (setq bdf-directory-list
         '("C:/Intlfonts/Asian"
           "C:/Intlfonts/Chinese" "C:/Intlfonts/Chinese.X"
           "C:/Intlfonts/Chinese.BIG" "C:/Intlfonts/Ethiopic"
           "C:/Intlfonts/European" "C:/Intlfonts/European.BIG"
           "C:/Intlfonts/Japanese" "C:/Intlfonts/Japanese.X"
           "C:/Intlfonts/Japanese.BIG" "C:/Intlfonts/Korean.X"
           "C:/Intlfonts/Misc"))

   次は変数‘w32-bdf-filename-alist’にBDFフォントのエイリアスとそれらに応
じたファイル名をセットする必要があります。BDFフォントファイルのすべての
ディレクトリーを‘bdf-directory-list’にセットしたとすると、以下のLispコー
ドで‘w32-bdf-filename-alist’がセットアップされるはずです:

       (setq w32-bdf-filename-alist
          (w32-find-bdf-fonts bdf-directory-list))

   今度はBDFフォント用にフォントセットを作成します:

       (create-fontset-from-fontset-spec
        "-*-fixed-medium-r-normal-*-16-*-*-*-c-*-fontset-bdf,
        japanese-jisx0208:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1983-*,
        katakana-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*,
        latin-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*,
        japanese-jisx0208-1978:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1978-*,
        thai-tis620:-misc-fixed-medium-r-normal--16-160-72-72-m-80-tis620.2529-1,
        lao:-misc-fixed-medium-r-normal--16-160-72-72-m-80-MuleLao-1,
        tibetan-1-column:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-80-MuleTibetan-1,
        ethiopic:-Admas-Ethiomx16f-Medium-R-Normal--16-150-100-100-M-160-Ethiopic-Unicode,
        tibetan:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-160-MuleTibetan-0")

   Intlfontsの国際化BDFフォントの多くはタイプ0なので、
font-encoding-alistに追加する必要があります:

       (setq font-encoding-alist
             (append '(("MuleTibetan-0" (tibetan . 0))
                       ("GB2312"        (chinese-gb2312 . 0))
                       ("JISX0208"      (japanese-jisx0208 . 0))
                       ("JISX0212"      (japanese-jisx0212 . 0))
                       ("VISCII"        (vietnamese-viscii-lower . 0))
                       ("KSC5601"       (korean-ksc5601 . 0))
                       ("MuleArabic-0"  (arabic-digit . 0))
                       ("MuleArabic-1"  (arabic-1-column . 0))
                       ("MuleArabic-2"  (arabic-2-column . 0)))
                     font-encoding-alist))

   これでEmacsのフォントメニュー、あるいは‘~/.emacs’でデフォルトフォント
を設定することにより、‘bdf: 16-dot medium’の選択ができるようになりました
。

       (set-frame-font "fontset-bdf")

11 メールとニュース
*******************

11.1 メール/ニュースのフォローアップにふくまるテキストプレフィクスを変更するには?
=================================================================================

メールをRmailで読んでいる場合には変数‘mail-yank-prefix’、Gnusなら
‘message-yank-prefix’、VMなら‘vm-included-text-prefix’、mh-eなら
‘mh-ins-buf-prefix’をセットしてください。

   より装飾的に引用を制御するにはSupercite(*note the Supercite Manual:
(sc)Top.を参照)を使用してください。

   Emacsが返信先メッセージの様々なヘッダーを含めないようにするには、
‘mail-yank-ignored-headers’の値に適切な正規表現をセットしてください。

11.2 送信メールのコピーを保存するには?
======================================

メールメッセージの‘BCC’ヘッダーに自分を含めて自分にコピーをメールしたり
、あるいは‘FCC’ヘッダーにファイルを含めてメッセージのコピーを直接保存で
きます。

   標準的なメールを使用しているなら、以下を‘.emacs’ファイル記述して自分
への‘BCC’を自動的に作成できます。

     (setq mail-self-blind t)

以下のような行を‘.emacs’ファイルに記述すれば、自動的に‘FCC’フィールドを
含めることができます:

     (setq mail-archive-file-name (expand-file-name "~/outgoing"))

   出力ファイルは Unixのメール形式になります。

   ‘mh-e’を使用しているなら‘FCC’と‘BCC’のフィールドをコンポーネントファ
イルに加えてください。

   ‘.mailrc’に‘set record filename’を記述しても機能しません。

11.3 送信時にEmacsがエイリアスを展開しない、なぜ?
=================================================

*note The Emacs Manual: (emacs)Mail Aliases.を参照してください。

   • Emacsは通常はメール送信の際にエイリアスを展開する。送信前に展開する
     には‘M-x expand-mail-aliases’を使用する。

   • Emacsは通常はセッションごとに1回、最初のメールメッセージを作成する
     ときしか‘.mailrc’ファイルを読み込まない。その後にファイルを編集した
     ら‘M-x build-mail-aliases’を使用してEmacsに再読み込みさせることがで
     きる。これはEmacs 24.1以前は対話的なコマンドではないので、かわりに
     ‘M-: (build-mail-aliases) <RET>’とタイプしなければならない。

   • もしも望むならabbrevとしてタイプすればすぐにメールエイリアスを展開
     できる。この機能を有効にするには以下を実行する:

          (add-hook 'mail-mode-hook 'mail-abbrevs-setup)

     エイリアスは単語区切り文字(<RET>や‘,’)をタイプした後でのみ自動的に
     展開される。エイリアス終端にポイントを移動して‘C-x a e’ (‘M-x
     expand-abbrev’)をタイプして強制的に展開させることができる。

11.4 Rmailフォルダーｎメッセージを並び替えるには?
=================================================

Rmailでソート関数とそれらのキーバインディングのリストを得るには‘C-c C-s
C-h’とタイプします。

11.5 Rmailが‘/var/spool/mail’への書き込みを必要とするのはなぜ?
==============================================================

これはRmailが使用する‘movemail’プログラムの振る舞いです。これは
‘movemail’がロックファイルを使うように設定されていることを示しています。

   RMSは記しています:

     特定のシステムではメールファイルへのアクセスをインターロックするた
     めにロックファイルが必要です。これらのシステムでは‘movemail’はロッ
     クファイルに書き込まなければなりません。さもないとメールを失うリス
     クがあるからです。あなたはただ‘movemail’にロックファイルを書き込ま
     せるようアレンジしなければなりません。

     他のシステムではインターロックアクセスのために‘flock’システムコール
     を使用します。これらのシステムでは‘flock’を使用するように
     ‘movemail’を設定するべきです。

11.6 他の受信者を除き送信者だけにRmailが返信するよう強制するには?
=================================================================

Ron Isaacson(訳注: Texinfoファイルには"isaacson@seas.upenn.edu"とコメン
トされていました)は述べています: Rmailで返信するために‘r’をタイプすると
デフォルトでは元の受信者すべて(元の‘To’と‘CC’のリスト全員)にCCされます。
(‘r’の前に‘C-u’をタイプして)プレフィクス引数を指定すると送信者だけに返信
します。とはいえ返信したいときに全体を通して‘C-u’作業を行うのは苦痛です
。以下はわたしがこれに対処した中では最良の修整です。

     (defun rmail-reply-t ()
       "カレントメッセージの送信者だけに返信する(rmail-replyを参照)"
       (interactive)
       (rmail-reply t))

     (add-hook 'rmail-mode-hook
       (lambda ()
         (define-key rmail-mode-map "r" 'rmail-reply-t)
         (define-key rmail-mode-map "R" 'rmail-reply)))

11.7 メール/ニュースリーダーをEmacsに自動的に開始させるには?
============================================================

EmacsをGnusで開始するには:

     emacs -f gnus

Rmailでは:

     emacs -f rmail

   Gnusでより便利に開始するには:

     alias gnus 'emacs -f gnus'
     gnus

   ‘.emacs’ファイルから自動的にメールやニュースを開始するのは、恐らく賢
明ではないでしょう。これは同時に2つのEmacsを実行する必要がある場合には問
題を起こすかもしれません。更に必要な際に素早くEmacsを開始するのが困難に
なるかもしれません。

11.8 Emacsでニュースを読むには?
===============================

‘M-x gnus’を使用します。*note the Gnus FAQ: (gnus)Frequently Asked
Questions.に含まれている*note the Gnus Manual: (gnus)Top.を参照してくだ
さい。

11.9 Gnusわ高速にするには?
==========================

Gnus FAQ(*note Reading news with Emacs::を参照)から引用します:

     古いマシンの場合、あるいは実際にじれったいだけなら、Gnusの実行を高
     速にするためにできることがあります。

     起動をより高速にするためには‘gnus-check-new-newsgroups’と
     ‘gnus-check-bogus-newsgroups’に‘nil’をセットしてください。

     summaryバッファーへの出入りをより高速にするために
     ‘gnus-show-threads’、‘gnus-nov-is-evil’、
     ‘gnus-use-cross-reference’に‘nil’をセットしてください。

11.10 Gnusの全ニュースグループをキャッチアップするには?
=======================================================

‘*Newsgroup*’バッファーで‘M-< C-x ( c y C-x ) M-0 C-x e’とタイプします。

   ‘*Newsgroup*’バッファーのポイント位置からバッファー終端までを確認した
いだけなら、先頭の‘M-<’は省略してください。

Concept Index
*************

* Menu:

* #ifdef, selective display of:          Hiding #ifdef lines.
                                                             (line 1743)
* $ in file names:                       Editing files with $ in the name.
                                                             (line 2398)
* -debug-init option:                    Debugging a customization file.
                                                             (line 1264)
* ., equivalent to vi command:           Repeating commands. (line 1749)
* .emacs debugging:                      Debugging a customization file.
                                                             (line 1264)
* .emacs file, errors in:                Errors with init files.
                                                             (line 2324)
* .emacs file, locating:                 Setting up a customization file.
                                                             (line 1150)
* .emacs file, setting up:               Setting up a customization file.
                                                             (line 1150)
* .Xdefaults:                            Emacs ignores X resources.
                                                             (line 2340)
* /var/spool/mail and Rmail:             Rmail writes to /var/spool/mail.
                                                             (line 3344)
* 24-bit direct color mode:              Colors on a TTY.    (line 1229)
* Abbrevs, turning on by default:        Turning on abbrevs by default.
                                                             (line 1335)
* Acronyms, definitions for:             Common acronyms.    (line  321)
* add fonts for use with Emacs:          How to add fonts.   (line 3177)
* Adding to load-path:                   Changing load-path. (line 1486)
* Alternate character sets:              Alternate character sets.
                                                             (line 3148)
* Alternative Info file viewers:         Viewing Info files outside of Emacs.
                                                             (line  699)
* Anti-aliased fonts:                    New in Emacs 23.    (line 1022)
* Antivirus programs, and Shell Mode:    Problems with Shell Mode.
                                                             (line 2291)
* Apple computers, Emacs for:            Emacs for macOS.    (line 2755)
* Apropos:                               Learning how to do something.
                                                             (line  517)
* Arabic:                                Right-to-left alphabets.
                                                             (line 3170)
* Archived postings from gnu.emacs.help: Newsgroup archives. (line  400)
* Arrow keys, symbols generated by:      Working with function and arrow keys.
                                                             (line 2852)
* Aspell:                                Spell-checkers.     (line 2652)
* Associating modes with files:          Associating modes with files.
                                                             (line 1356)
* auto-fill-mode, activating automatically: Turning on auto-fill by default.
                                                             (line 1468)
* auto-fill-mode, introduction to:       Wrapping words automatically.
                                                             (line 1460)
* auto-mode-alist, modifying:            Associating modes with files.
                                                             (line 1356)
* Auto-saving:                           Disabling auto-save-mode.
                                                             (line 1951)
* automatic display of Lisp APIs:        New in Emacs 25.    (line  916)
* Automatic entry to auto-fill-mode:     Turning on auto-fill by default.
                                                             (line 1468)
* Automatic filing of outgoing mail:     Saving a copy of outgoing mail.
                                                             (line 3291)
* <Backspace> key invokes help:          Backspace invokes help.
                                                             (line 2876)
* Backup files in a single directory:    Disabling backups.  (line 1941)
* Backups, disabling:                    Disabling backups.  (line 1911)
* Basic editing with Emacs:              Basic editing.      (line  478)
* Basic keys:                            Basic keys.         (line  201)
* Bazaar repository, Emacs:              Latest version of Emacs.
                                                             (line  790)
* Beeping, turning off:                  Turning off beeping.
                                                             (line 1648)
* Beginning editing:                     Basic editing.      (line  478)
* Bell, visible:                         Turning off beeping.
                                                             (line 1648)
* Bell, volume of:                       Turning the volume down.
                                                             (line 1666)
* bidirectional display:                 New in Emacs 24.    (line  985)
* bidirectional editing:                 New in Emacs 25.    (line  927)
* bidirectional scripts:                 Right-to-left alphabets.
                                                             (line 3170)
* bignum support:                        New in Emacs 27.    (line  815)
* Binding keys to commands:              Binding keys to commands.
                                                             (line 2764)
* Binding modifiers and function keys:   Binding combinations of modifiers and function keys.
                                                             (line 3040)
* bracketed paste mode:                  New in Emacs 25.    (line  920)
* Bug reporting:                         Reporting bugs.     (line  410)
* Bugs and problems:                     Bugs and problems.  (line 2205)
* Building Emacs from source:            Installing Emacs.   (line 2506)
* C-h, definition of:                    Basic keys.         (line  201)
* C-M-h, definition of:                  Basic keys.         (line  201)
* Case sensitivity in replacements:      Controlling case sensitivity.
                                                             (line 1399)
* Case sensitivity of searches:          Controlling case sensitivity.
                                                             (line 1393)
* case-fold-search:                      Controlling case sensitivity.
                                                             (line 1393)
* case-replace:                          Controlling case sensitivity.
                                                             (line 1399)
* Catching up all newsgroups in Gnus:    Catching up in all newsgroups.
                                                             (line 3425)
* character folding in searches:         New in Emacs 25.    (line  930)
* Character sets:                        New in Emacs 23.    (line 1027)
* Checking spelling:                     Spell-checkers.     (line 2652)
* Colorizing text:                       Turning on syntax highlighting.
                                                             (line 2081)
* Colors on a TTY:                       Colors on a TTY.    (line 1192)
* Colors on text-only terminals:         New in Emacs 21.    (line 1127)
* Column, displaying the current:        Displaying the current line or column.
                                                             (line 1280)
* Command description in the manual:     Learning how to do something.
                                                             (line  520)
* Commands, binding keys to:             Binding keys to commands.
                                                             (line 2764)
* Commands, extended:                    Extended commands.  (line  253)
* Commands, repeating many times:        Repeating commands. (line 1749)
* Common acronyms, definitions for:      Common acronyms.    (line  321)
* Common requests:                       Common requests.    (line 1147)
* Compilation error messages:            Going to a line by number.
                                                             (line 1970)
* Compiler error messages, recognizing:  Compiler error messages.
                                                             (line 1545)
* Compiling and installing Emacs:        Compiling and installing Emacs.
                                                             (line 2503)
* Compiling Emacs for DOS:               Emacs for MS-DOS.   (line 2719)
* <Compose Character> key, using as <Meta>: Compose Character.
                                                             (line 3033)
* Console, colors:                       Colors on a TTY.    (line 1192)
* Contracting the FSF:                   Contacting the FSF. (line  463)
* Control characters, generating:        Producing C-XXX with the keyboard.
                                                             (line 2983)
* Control characters, working with:      Working with unprintable characters.
                                                             (line 1414)
* Control key, notation for:             Basic keys.         (line  201)
* Control-Meta characters, notation for: Basic keys.         (line  201)
* Conventions for file names:            File-name conventions.
                                                             (line  297)
* Copying outgoing mail to a file:       Saving a copy of outgoing mail.
                                                             (line 3291)
* COPYING, description of file:          Informational files for Emacs.
                                                             (line  712)
* Copyleft, real meaning of:             Real meaning of copyleft.
                                                             (line  349)
* Creating new menu options:             Modifying pull-down menus.
                                                             (line 1994)
* Crosspostings make Gnus catching up slow: Making Gnus faster.
                                                             (line 3410)
* Current directory and shell-mode:      Shell mode loses the current directory.
                                                             (line 2405)
* Current GNU distributions:             Current GNU distributions.
                                                             (line 2669)
* Customization file, setting up:        Setting up a customization file.
                                                             (line 1150)
* Customize groups:                      Using Customize.    (line 1176)
* Customize indentation:                 Customizing C and C++ indentation.
                                                             (line 1574)
* Customizing faces:                     Using Customize.    (line 1176)
* Customizing variables:                 Using Customize.    (line 1176)
* Daemon mode:                           New in Emacs 23.    (line 1033)
* Debugging .emacs file:                 Debugging a customization file.
                                                             (line 1264)
* Debugging .emacs file <1>:             Errors with init files.
                                                             (line 2324)
* Decoration level, in font-lock-mode:   Turning on syntax highlighting.
                                                             (line 2111)
* <DEL> key does not delete:             Backspace invokes help.
                                                             (line 2876)
* <DEL>, definition of:                  Basic keys.         (line  201)
* delete-selection-mode:                 Replacing highlighted text.
                                                             (line 1375)
* Deleting menus and menu options:       Deleting menus and menu options.
                                                             (line 2065)
* Development, Emacs:                    Latest version of Emacs.
                                                             (line  790)
* Difference Emacs and XEmacs:           Difference between Emacs and XEmacs.
                                                             (line 2680)
* Differences between Emacs 19 and Emacs 20: New in Emacs 20.
                                                             (line 1134)
* Differences between Emacs 20 and Emacs 21: New in Emacs 21.
                                                             (line 1119)
* Differences between Emacs 21 and Emacs 22: New in Emacs 22.
                                                             (line 1052)
* Differences between Emacs 22 and Emacs 23: New in Emacs 23.
                                                             (line 1022)
* Differences between Emacs 23 and Emacs 24: New in Emacs 24.
                                                             (line  971)
* Differences between Emacs 24 and Emacs 25: New in Emacs 25.
                                                             (line  905)
* Differences between Emacs 25 and Emacs 26: New in Emacs 26.
                                                             (line  853)
* Differences between Emacs 26 and Emacs 27: New in Emacs 27.
                                                             (line  815)
* Differences between Unix and Emacs regexps: Using regular expressions.
                                                             (line 1857)
* direct color in terminals:             Colors on a TTY.    (line 1206)
* Directories and files that come with Emacs: File-name conventions.
                                                             (line  297)
* Directory, current in shell-mode:      Shell mode loses the current directory.
                                                             (line 2405)
* Directory-local variables:             New in Emacs 23.    (line 1039)
* Dired does not see a file:             Dired claims that no file is on this line.
                                                             (line 2487)
* Disabling auto-save-mode:              Disabling auto-save-mode.
                                                             (line 1951)
* Disabling backups:                     Disabling backups.  (line 1911)
* Discussion of the GPL:                 Real meaning of copyleft.
                                                             (line  349)
* Displaying eight-bit characters:       Emacs does not display 8-bit characters.
                                                             (line 3151)
* Displaying the current line or column: Displaying the current line or column.
                                                             (line 1280)
* DISTRIB, description of file:          Informational files for Emacs.
                                                             (line  712)
* <Do> key:                              Extended commands.  (line  263)
* Documentation:                         New in Emacs 22.    (line 1112)
* Documentation for etags:               Documentation for etags.
                                                             (line 1903)
* Documentation on Emacs Lisp:           Emacs Lisp documentation.
                                                             (line  570)
* Documentation, installing new Texinfo files: Installing Texinfo documentation.
                                                             (line  588)
* DOS, Emacs for:                        Emacs for MS-DOS.   (line 2719)
* double-buffering:                      New in Emacs 26.    (line  863)
* Downloading and installing Emacs:      Installing Emacs.   (line 2506)
* Downloading Emacs:                     Finding Emacs on the Internet.
                                                             (line 2578)
* Drag-and-drop:                         New in Emacs 22.    (line 1052)
* early init file:                       New in Emacs 27.    (line  837)
* Echoed commands in shell-mode:         ^M in the shell buffer.
                                                             (line 2237)
* Editing files with $ in the name:      Editing files with $ in the name.
                                                             (line 2398)
* Editing MS-DOS files:                  Editing MS-DOS files.
                                                             (line 2151)
* Eight-bit characters, displaying:      Emacs does not display 8-bit characters.
                                                             (line 3151)
* Eight-bit characters, entering:        Inputting eight-bit characters.
                                                             (line 3163)
* Eight-bit characters, working with:    Working with unprintable characters.
                                                             (line 1414)
* Emacs 20, new features in:             New in Emacs 20.    (line 1134)
* Emacs 21, new features in:             New in Emacs 21.    (line 1119)
* Emacs 22, new features in:             New in Emacs 22.    (line 1052)
* Emacs 23, new features in:             New in Emacs 23.    (line 1022)
* Emacs 24, new features in:             New in Emacs 24.    (line  971)
* Emacs 25, new features in:             New in Emacs 25.    (line  905)
* Emacs 26, new features in:             New in Emacs 26.    (line  853)
* Emacs 27, new features in:             New in Emacs 27.    (line  815)
* Emacs entries for termcap/terminfo:    Termcap/Terminfo entries for Emacs.
                                                             (line 2298)
* Emacs for MS-DOS:                      Emacs for MS-DOS.   (line 2719)
* Emacs for MS-Windows:                  Emacs for MS-Windows.
                                                             (line 2742)
* Emacs Lisp Archive:                    Packages that do not come with Emacs.
                                                             (line 2609)
* Emacs Lisp List:                       Packages that do not come with Emacs.
                                                             (line 2609)
* Emacs Lisp Manual:                     New in Emacs 22.    (line 1112)
* Emacs Lisp Reference Manual:           Emacs Lisp documentation.
                                                             (line  570)
* Emacs manual, obtaining a printed or HTML copy of: Getting a printed manual.
                                                             (line  550)
* Emacs manual, reading topics in:       Emacs manual.       (line  273)
* Emacs name origin:                     Origin of the term Emacs.
                                                             (line  768)
* Emacs server functions:                Using an already running Emacs process.
                                                             (line 1498)
* emacsclient:                           Using an already running Emacs process.
                                                             (line 1498)
* Enchant:                               Spell-checkers.     (line 2652)
* Enchant support:                       New in Emacs 26.    (line  882)
* Entering eight-bit characters:         Inputting eight-bit characters.
                                                             (line 3163)
* Epoch:                                 Difference between Emacs and XEmacs.
                                                             (line 2680)
* Error in .emacs:                       Errors with init files.
                                                             (line 2324)
* Error in init file:                    Errors with init files.
                                                             (line 2324)
* Errors when building Emacs:            Problems building Emacs.
                                                             (line 2561)
* Errors, recognizing compiler:          Compiler error messages.
                                                             (line 1545)
* <ESC>, definition of:                  Basic keys.         (line  201)
* Escape key, lacking:                   No Escape key.      (line 3022)
* Escape sequences in ls output:         Escape sequences in shell output.
                                                             (line 2171)
* etags, documentation for:              Documentation for etags.
                                                             (line 1903)
* Evaluating Lisp code:                  Evaluating Emacs Lisp code.
                                                             (line 1779)
* eww:                                   New in Emacs 25.    (line  936)
* Expanding aliases when sending mail:   Expanding aliases when sending mail.
                                                             (line 3315)
* explicit-shell-file-name:              Problems with Shell Mode.
                                                             (line 2286)
* <ExtendChar> key as <Meta>:            ExtendChar key does not work as Meta.
                                                             (line 3117)
* Extended commands:                     Extended commands.  (line  253)
* FAQ for Emacs on MS-Windows:           Emacs for MS-Windows.
                                                             (line 2742)
* FAQ for Gnus:                          Reading news with Emacs.
                                                             (line 3403)
* FAQ notation:                          FAQ notation.       (line  194)
* FAQ, font-lock-mode:                   Turning on syntax highlighting.
                                                             (line 2081)
* FAQ, obtaining the:                    Obtaining the FAQ.  (line  753)
* Farsi:                                 Right-to-left alphabets.
                                                             (line 3170)
* Faster, starting Gnus:                 Making Gnus faster. (line 3410)
* File extensions and modes:             Associating modes with files.
                                                             (line 1356)
* File name, displaying in the titlebar: Displaying the current file name in the titlebar.
                                                             (line 1315)
* File names containing $, editing:      Editing files with $ in the name.
                                                             (line 2398)
* file-local-variable and security:      Security risks with Emacs.
                                                             (line 2420)
* File-name conventions:                 File-name conventions.
                                                             (line  297)
* Files included with Emacs:             Informational files for Emacs.
                                                             (line  712)
* Files, maximum size:                   Problems with very large files.
                                                             (line 2218)
* Files, replacing strings across multiple: Replacing text across multiple files.
                                                             (line 1876)
* Filing outgoing mail:                  Saving a copy of outgoing mail.
                                                             (line 3291)
* Fill prefix:                           Automatic indentation.
                                                             (line 1688)
* fill-column, default value:            Wrapping words automatically.
                                                             (line 1460)
* Filling automatically:                 Turning on auto-fill by default.
                                                             (line 1468)
* Finding an Emacs Lisp package:         Finding a package with particular functionality.
                                                             (line 2588)
* Finding commands and variables:        Learning how to do something.
                                                             (line  524)
* Finding current GNU software:          Current GNU distributions.
                                                             (line 2669)
* Finding Emacs and related packages:    Finding Emacs and related packages.
                                                             (line 2575)
* Finding Emacs on the Internet:         Finding Emacs on the Internet.
                                                             (line 2578)
* Finding other packages:                Packages that do not come with Emacs.
                                                             (line 2609)
* Finding topics in the Emacs manual:    Emacs manual.       (line  273)
* Folder, sorting messages in an Rmail:  Sorting the messages in an Rmail folder.
                                                             (line 3338)
* font-lock-mode:                        Turning on syntax highlighting.
                                                             (line 2081)
* Frame parameters:                      Emacs ignores frame parameters.
                                                             (line 2384)
* frame-title-format:                    Displaying the current file name in the titlebar.
                                                             (line 1315)
* Free Software Foundation, contacting:  Contacting the FSF. (line  463)
* Freetype fonts:                        New in Emacs 23.    (line 1022)
* FSF, definition of:                    Common acronyms.    (line  321)
* Fullscreen mode:                       Fullscreen mode on MS-Windows.
                                                             (line 2183)
* Function documentation:                Emacs Lisp documentation.
                                                             (line  570)
* Function keys and modifiers:           Binding combinations of modifiers and function keys.
                                                             (line 3040)
* Function keys, symbols generated by:   Working with function and arrow keys.
                                                             (line 2852)
* Functionality, finding a particular package: Finding a package with particular functionality.
                                                             (line 2588)
* General Public License, real meaning of: Real meaning of copyleft.
                                                             (line  349)
* General questions:                     General questions.  (line  343)
* Generating control characters:         Producing C-XXX with the keyboard.
                                                             (line 2983)
* Getting help:                          Getting help.       (line  473)
* GNU mailing lists:                     Guidelines for newsgroup postings.
                                                             (line  371)
* GNU newsgroups, appropriate messages for: Guidelines for newsgroup postings.
                                                             (line  371)
* GNU, definition of:                    Common acronyms.    (line  321)
* Gnus FAQ:                              Reading news with Emacs.
                                                             (line 3403)
* Gnus is slow when catching up:         Making Gnus faster. (line 3410)
* Gnus newsreader:                       Reading news with Emacs.
                                                             (line 3403)
* Gnus, Catching up all newsgroups in:   Catching up in all newsgroups.
                                                             (line 3425)
* Gnus, starting faster:                 Making Gnus faster. (line 3410)
* GNUstep port:                          New in Emacs 23.    (line 1035)
* GNUstep, Emacs for:                    Emacs for GNUstep.  (line 2749)
* Going to a line by number:             Going to a line by number.
                                                             (line 1970)
* Good bug reports:                      Reporting bugs.     (line  410)
* GPL, definition of:                    Common acronyms.    (line  321)
* GPL, real meaning of:                  Real meaning of copyleft.
                                                             (line  349)
* GTK+ Toolkit:                          New in Emacs 22.    (line 1052)
* HarfBuzz:                              New in Emacs 27.    (line  822)
* Hebrew, handling with Emacs:           Right-to-left alphabets.
                                                             (line 3170)
* Help for Emacs:                        Learning how to do something.
                                                             (line  503)
* Help installing Emacs:                 Help installing Emacs.
                                                             (line  742)
* Help invoked by <Backspace>:           Backspace invokes help.
                                                             (line 2876)
* Help system, entering the:             Basic editing.      (line  478)
* hide-ifdef, C/C++ expressions in macros: New in Emacs 25.  (line  946)
* hide-ifdef-mode:                       Hiding #ifdef lines.
                                                             (line 1743)
* Hiding #ifdef text:                    Hiding #ifdef lines.
                                                             (line 1743)
* Highlighting and replacing text:       Replacing highlighted text.
                                                             (line 1375)
* Highlighting based on syntax:          Turning on syntax highlighting.
                                                             (line 2081)
* Highlighting matching parentheses:     Matching parentheses.
                                                             (line 1707)
* horizontal scroll bars:                New in Emacs 25.    (line  961)
* horizontal scrolling of current line:  New in Emacs 26.    (line  874)
* How to submit a bug report:            Reporting bugs.     (line  410)
* HP-UX, the <ExtendChar> key:           ExtendChar key does not work as Meta.
                                                             (line 3117)
* Hunspell:                              Spell-checkers.     (line 2652)
* Iconification under the X Window System: Forcing Emacs to iconify itself.
                                                             (line 1851)
* Ignored X resources:                   Emacs ignores X resources.
                                                             (line 2340)
* Ignoring case in searches:             Controlling case sensitivity.
                                                             (line 1393)
* Included text prefix, changing:        Changing the included text prefix.
                                                             (line 3278)
* Indentation, how to customize:         Customizing C and C++ indentation.
                                                             (line 1574)
* Indenting new lines:                   Automatic indentation.
                                                             (line 1681)
* Indenting of switch:                   Indenting switch statements.
                                                             (line 1550)
* Index search in a manual:              Learning how to do something.
                                                             (line  510)
* Info file viewers:                     Viewing Info files outside of Emacs.
                                                             (line  699)
* Info files, how to install:            Installing Texinfo documentation.
                                                             (line  588)
* Info, finding topics in:               Emacs manual.       (line  273)
* Informational files included with Emacs: Informational files for Emacs.
                                                             (line  712)
* Init file debugging:                   Debugging a customization file.
                                                             (line 1264)
* Init file, errors in:                  Errors with init files.
                                                             (line 2324)
* Init file, setting up:                 Setting up a customization file.
                                                             (line 1150)
* Input, 8-bit characters:               Inputting eight-bit characters.
                                                             (line 3163)
* <Insert>:                              Overwrite mode.     (line 1638)
* Installation help:                     Help installing Emacs.
                                                             (line  742)
* Installing Emacs:                      Installing Emacs.   (line 2506)
* Installing Texinfo documentation:      Installing Texinfo documentation.
                                                             (line  588)
* intlfonts:                             How to add fonts.   (line 3177)
* Invalid prefix characters:             Invalid prefix characters.
                                                             (line 2815)
* isearch yanking:                       Yanking text in isearch.
                                                             (line 1455)
* Ispell:                                Spell-checkers.     (line 2652)
* JSON, native parsing:                  New in Emacs 27.    (line  825)
* Just-In-Time syntax highlighting:      Turning on syntax highlighting.
                                                             (line 2102)
* Key bindings:                          Key bindings.       (line 2761)
* Key translations under X:              X key translations for Emacs.
                                                             (line 2859)
* keyboard-translate:                    Swapping keys.      (line 2960)
* Keymaps and menus:                     Modifying pull-down menus.
                                                             (line 1994)
* Keys, binding to commands:             Binding keys to commands.
                                                             (line 2764)
* Keys, swapping:                        Swapping keys.      (line 2960)
* Lacking an Escape key:                 No Escape key.      (line 3022)
* Large files, opening:                  Problems with very large files.
                                                             (line 2218)
* Latest FAQ version, obtaining the:     Obtaining the FAQ.  (line  753)
* Latest version of Emacs:               Latest version of Emacs.
                                                             (line  790)
* Learning more about Gnus:              Reading news with Emacs.
                                                             (line 3403)
* Learning to do something in Emacs:     Learning how to do something.
                                                             (line  503)
* Length of tab character:               Changing the length of a Tab.
                                                             (line 1811)
* Levels of syntax highlighting:         Turning on syntax highlighting.
                                                             (line 2111)
* lexical binding:                       New in Emacs 24.    (line  975)
* <LFD>, definition of:                  Basic keys.         (line  201)
* line number display:                   New in Emacs 26.    (line  869)
* Line number, displaying the current:   Displaying the current line or column.
                                                             (line 1280)
* Line wrap:                             Wrapping words automatically.
                                                             (line 1460)
* line-number-mode:                      Displaying the current line or column.
                                                             (line 1280)
* Lisp forms, evaluating:                Evaluating Emacs Lisp code.
                                                             (line 1779)
* Lisp packages that do not come with Emacs: Packages that do not come with Emacs.
                                                             (line 2609)
* load-path, modifying:                  Changing load-path. (line 1486)
* loadable modules:                      New in Emacs 25.    (line  910)
* Lookup a subject in a manual:          Learning how to do something.
                                                             (line  510)
* ls in Shell mode:                      Escape sequences in shell output.
                                                             (line 2171)
* Lucid Emacs:                           Difference between Emacs and XEmacs.
                                                             (line 2680)
* M-x, meaning of:                       Extended commands.  (line  253)
* MACHINES, description of file:         Informational files for Emacs.
                                                             (line  712)
* Macintosh, Emacs for:                  Emacs for macOS.    (line 2755)
* macOS Cocoa:                           New in Emacs 23.    (line 1035)
* macOS, Emacs for:                      Emacs for macOS.    (line 2755)
* Mail alias expansion:                  Expanding aliases when sending mail.
                                                             (line 3315)
* Mail and news:                         Mail and news.      (line 3275)
* Mail reader, starting automatically:   Automatically starting a mail or news reader.
                                                             (line 3382)
* Mail replies, inserting a prefix character: Inserting text at the beginning of each line.
                                                             (line 1823)
* Mail, saving outgoing automatically:   Saving a copy of outgoing mail.
                                                             (line 3291)
* mail-yank-prefix:                      Inserting text at the beginning of each line.
                                                             (line 1823)
* Mailing lists, appropriate messages for: Guidelines for newsgroup postings.
                                                             (line  371)
* Major mode for shell scripts:          Associating modes with files.
                                                             (line 1366)
* Manual, obtaining a printed or HTML copy of: Getting a printed manual.
                                                             (line  550)
* Matching parentheses:                  Matching parentheses.
                                                             (line 1707)
* Maximize frame:                        Fullscreen mode on MS-Windows.
                                                             (line 2183)
* Maximum file size:                     Problems with very large files.
                                                             (line 2218)
* Maximum line width, default value:     Wrapping words automatically.
                                                             (line 1460)
* Menus and keymaps:                     Modifying pull-down menus.
                                                             (line 1994)
* Menus, creating or modifying:          Modifying pull-down menus.
                                                             (line 1994)
* Menus, deleting:                       Deleting menus and menu options.
                                                             (line 2065)
* <Meta> key and xterm:                  Meta key does not work in xterm.
                                                             (line 3066)
* <Meta> key, notation for:              Basic keys.         (line  201)
* <Meta> key, what to do if you lack it: No Meta key.        (line 3011)
* <Meta>, using <Compose Character> for: Compose Character.  (line 3033)
* <Meta>, using <ExtendChar> for:        ExtendChar key does not work as Meta.
                                                             (line 3117)
* Microsoft files, editing:              Editing MS-DOS files.
                                                             (line 2151)
* Microsoft Windows, Emacs for:          Emacs for MS-Windows.
                                                             (line 2742)
* Misspecified key sequences:            Invalid prefix characters.
                                                             (line 2815)
* mode-line-format:                      Displaying the current line or column.
                                                             (line 1280)
* Modes, associating with file extensions: Associating modes with files.
                                                             (line 1356)
* Modifiers and function keys:           Binding combinations of modifiers and function keys.
                                                             (line 3040)
* Modifying load-path:                   Changing load-path. (line 1486)
* Modifying pull-down menus:             Modifying pull-down menus.
                                                             (line 1994)
* Mouse wheel:                           New in Emacs 22.    (line 1069)
* movemail and security:                 Security risks with Emacs.
                                                             (line 2420)
* MS-DOS files, editing:                 Editing MS-DOS files.
                                                             (line 2151)
* MS-DOS, Emacs for:                     Emacs for MS-DOS.   (line 2719)
* Multi-tty support:                     New in Emacs 23.    (line 1030)
* Multilingual Environment:              New in Emacs 22.    (line 1098)
* Multiple files, replacing across:      Replacing text across multiple files.
                                                             (line 1876)
* New lines, indenting of:               Automatic indentation.
                                                             (line 1681)
* New modes:                             New in Emacs 22.    (line 1093)
* New Texinfo files, installing:         Installing Texinfo documentation.
                                                             (line  588)
* News reader, starting automatically:   Automatically starting a mail or news reader.
                                                             (line 3382)
* News replies, inserting a prefix character: Inserting text at the beginning of each line.
                                                             (line 1823)
* NEWS, description of file:             Informational files for Emacs.
                                                             (line  712)
* Newsgroups, appropriate messages for:  Guidelines for newsgroup postings.
                                                             (line  371)
* NeXTstep port:                         New in Emacs 23.    (line 1035)
* No Escape key:                         No Escape key.      (line 3022)
* No <Meta> key:                         No Meta key.        (line 3011)
* Not enough disk space to install Emacs: Emacs for minimalists.
                                                             (line 2709)
* Notation for keys:                     Basic keys.         (line  201)
* Official GNU software sites:           Current GNU distributions.
                                                             (line 2669)
* Old Usenet postings for GNU groups:    Newsgroup archives. (line  400)
* One space following periods:           Filling paragraphs with a single space.
                                                             (line 2164)
* Opening very large files:              Problems with very large files.
                                                             (line 2218)
* Ordering GNU software:                 Contacting the FSF. (line  467)
* Origin of the term “Emacs”:            Origin of the term Emacs.
                                                             (line  768)
* Original version of Emacs:             Origin of the term Emacs.
                                                             (line  768)
* Overview of help systems:              Learning how to do something.
                                                             (line  503)
* overwrite-mode:                        Overwrite mode.     (line 1638)
* Overwriting existing text:             Overwrite mode.     (line 1638)
* Package, finding:                      Finding a package with particular functionality.
                                                             (line 2588)
* packages, installing more:             New in Emacs 24.    (line  971)
* Packages, those that do not come with Emacs: Packages that do not come with Emacs.
                                                             (line 2609)
* Pairs of parentheses, highlighting:    Matching parentheses.
                                                             (line 1707)
* paren.el:                              Matching parentheses.
                                                             (line 1707)
* Parentheses, matching:                 Matching parentheses.
                                                             (line 1707)
* pasting text on text terminals:        New in Emacs 25.    (line  920)
* Periods, one space following:          Filling paragraphs with a single space.
                                                             (line 2164)
* picture-mode:                          Forcing the cursor to remain in the same column.
                                                             (line 1842)
* portable dumper:                       New in Emacs 27.    (line  829)
* Posting messages to newsgroups:        Guidelines for newsgroup postings.
                                                             (line  371)
* Prefix character, inserting in mail/news replies: Inserting text at the beginning of each line.
                                                             (line 1823)
* Prefix characters, invalid:            Invalid prefix characters.
                                                             (line 2815)
* Prefix in mail/news followups, changing: Changing the included text prefix.
                                                             (line 3278)
* Prefixing a region with some text:     Inserting text at the beginning of each line.
                                                             (line 1823)
* Prefixing lines:                       Automatic indentation.
                                                             (line 1688)
* Previous line, indenting according to: Automatic indentation.
                                                             (line 1681)
* Printed Emacs manual, obtaining:       Getting a printed manual.
                                                             (line  550)
* Printing a Texinfo file:               Printing a Texinfo file.
                                                             (line  669)
* Printing documentation:                Printing a Texinfo file.
                                                             (line  669)
* Problems building Emacs:               Problems building Emacs.
                                                             (line 2561)
* Producing control characters:          Producing C-XXX with the keyboard.
                                                             (line 2983)
* project:                               New in Emacs 25.    (line  958)
* Pull-down menus, creating or modifying: Modifying pull-down menus.
                                                             (line 1994)
* Quoting in mail messages:              Changing the included text prefix.
                                                             (line 3278)
* Reading news under Emacs:              Reading news with Emacs.
                                                             (line 3403)
* Reading the Emacs manual:              Learning how to do something.
                                                             (line  505)
* Reading topics in the Emacs manual:    Emacs manual.       (line  273)
* Recognizing non-standard compiler errors: Compiler error messages.
                                                             (line 1545)
* Recompilation:                         Going to a line by number.
                                                             (line 1970)
* Recursive search/replace operations:   Replacing text across multiple files.
                                                             (line 1876)
* Reducing the increment when scrolling: Scrolling only one line.
                                                             (line 2139)
* Reference card for Emacs:              Learning how to do something.
                                                             (line  503)
* Reference cards, in other languages:   Learning how to do something.
                                                             (line  533)
* Reference manual for Emacs Lisp:       Emacs Lisp documentation.
                                                             (line  570)
* Regexps:                               Using regular expressions.
                                                             (line 1857)
* Regexps and unprintable characters:    Working with unprintable characters.
                                                             (line 1414)
* Regexps for recognizing compiler errors: Compiler error messages.
                                                             (line 1545)
* Regular expressions:                   Using regular expressions.
                                                             (line 1857)
* Remaining in the same column, regardless of contents: Forcing the cursor to remain in the same column.
                                                             (line 1842)
* Removing yourself from GNU mailing lists: Unsubscribing from Emacs lists.
                                                             (line  454)
* Repeating commands many times:         Repeating commands. (line 1749)
* Replacing highlighted text:            Replacing highlighted text.
                                                             (line 1375)
* Replacing newlines:                    Searching for/replacing newlines.
                                                             (line 1449)
* Replacing strings across files:        Replacing text across multiple files.
                                                             (line 1876)
* Replacing, and case sensitivity:       Controlling case sensitivity.
                                                             (line 1399)
* Replies to mail/news, inserting a prefix character: Inserting text at the beginning of each line.
                                                             (line 1823)
* Replying only to the sender of a message: Replying to the sender of a message.
                                                             (line 3362)
* Reporting bugs:                        Reporting bugs.     (line  410)
* Repository, Emacs:                     Latest version of Emacs.
                                                             (line  790)
* Resources, X:                          Valid X resources.  (line 1770)
* <RET>, definition of:                  Basic keys.         (line  201)
* Richard Stallman, acronym for:         Common acronyms.    (line  321)
* Right-to-left alphabets:               Right-to-left alphabets.
                                                             (line 3170)
* right-to-left languages:               New in Emacs 24.    (line  985)
* Rmail and /var/spool/mail:             Rmail writes to /var/spool/mail.
                                                             (line 3344)
* rmail, and HTML mails:                 New in Emacs 25.    (line  939)
* Rmail, replying to the sender of a message in: Replying to the sender of a message.
                                                             (line 3362)
* Rmail, sorting messages in:            Sorting the messages in an Rmail folder.
                                                             (line 3338)
* RMS, definition of:                    Common acronyms.    (line  321)
* Saving a copy of outgoing mail:        Saving a copy of outgoing mail.
                                                             (line 3291)
* Saving at frequent intervals:          Disabling auto-save-mode.
                                                             (line 1951)
* Scrolling only one line:               Scrolling only one line.
                                                             (line 2139)
* Searching for newlines:                Searching for/replacing newlines.
                                                             (line 1449)
* Searching for unprintable characters:  Working with unprintable characters.
                                                             (line 1414)
* Searching without case sensitivity:    Controlling case sensitivity.
                                                             (line 1393)
* Security with Emacs:                   Security risks with Emacs.
                                                             (line 2420)
* Selectively displaying #ifdef code:    Hiding #ifdef lines.
                                                             (line 1743)
* Self-paced tutorial, invoking the:     Basic editing.      (line  478)
* Semitic alphabets:                     Right-to-left alphabets.
                                                             (line 3170)
* Sender, replying only to:              Replying to the sender of a message.
                                                             (line 3362)
* Sending mail with aliases:             Expanding aliases when sending mail.
                                                             (line 3315)
* Set number capability in vi emulators: Displaying the current line or column.
                                                             (line 1298)
* Setting the included text character:   Changing the included text prefix.
                                                             (line 3278)
* Setting X resources:                   Valid X resources.  (line 1770)
* Shell buffer, echoed commands and ^M in: ^M in the shell buffer.
                                                             (line 2237)
* Shell Mode, problems:                  Problems with Shell Mode.
                                                             (line 2286)
* shell-mode and current directory:      Shell mode loses the current directory.
                                                             (line 2405)
* Show matching paren as in vi:          Matching parentheses.
                                                             (line 1726)
* Single space following periods:        Filling paragraphs with a single space.
                                                             (line 2164)
* Slow catch up in Gnus:                 Making Gnus faster. (line 3410)
* Sorting messages in an Rmail folder:   Sorting the messages in an Rmail folder.
                                                             (line 3338)
* Source code, building Emacs from:      Installing Emacs.   (line 2506)
* Sources for current GNU distributions: Current GNU distributions.
                                                             (line 2669)
* SPC file name completion:              SPC no longer completes file names.
                                                             (line 3132)
* <SPC>, definition of:                  Basic keys.         (line  201)
* Spell-checker:                         Spell-checkers.     (line 2652)
* Stallman, Richard, acronym for:        Common acronyms.    (line  321)
* Starting Gnus faster:                  Making Gnus faster. (line 3410)
* Starting mail/news reader automatically: Automatically starting a mail or news reader.
                                                             (line 3382)
* Status of Emacs:                       Status of Emacs.    (line  762)
* Stuff, current GNU:                    Current GNU distributions.
                                                             (line 2669)
* support for push commands in VC:       New in Emacs 25.    (line  943)
* Supported systems:                     New in Emacs 22.    (line 1055)
* Suspending Emacs:                      Forcing Emacs to iconify itself.
                                                             (line 1851)
* Swapping keys:                         Swapping keys.      (line 2960)
* switch, indenting:                     Indenting switch statements.
                                                             (line 1550)
* Symbols generated by function keys:    Working with function and arrow keys.
                                                             (line 2852)
* Syntax highlighting:                   Turning on syntax highlighting.
                                                             (line 2081)
* Syntax highlighting on a TTY:          Colors on a TTY.    (line 1192)
* Synthetic X events and security:       Security risks with Emacs.
                                                             (line 2420)
* systemd support:                       New in Emacs 26.    (line  855)
* Tab length:                            Changing the length of a Tab.
                                                             (line 1811)
* <TAB>, definition of:                  Basic keys.         (line  201)
* tabs:                                  New in Emacs 27.    (line  842)
* TECO:                                  Origin of the term Emacs.
                                                             (line  768)
* Termcap:                               Termcap/Terminfo entries for Emacs.
                                                             (line 2298)
* Terminal setup code in .emacs:         Terminal setup code works after Emacs has begun.
                                                             (line 2829)
* Terminfo:                              Termcap/Terminfo entries for Emacs.
                                                             (line 2298)
* Texinfo documentation, installing:     Installing Texinfo documentation.
                                                             (line  588)
* Texinfo file, printing:                Printing a Texinfo file.
                                                             (line  669)
* Text indentation:                      Automatic indentation.
                                                             (line 1681)
* Text strings, putting regexps in:      Using regular expressions.
                                                             (line 1857)
* themes:                                New in Emacs 24.    (line  993)
* threads:                               New in Emacs 26.    (line  853)
* Titlebar, displaying the current file name in: Displaying the current file name in the titlebar.
                                                             (line 1315)
* Toggling overwrite-mode:               Overwrite mode.     (line 1638)
* Toolbar support:                       New in Emacs 21.    (line 1119)
* Translations for keys under X:         X key translations for Emacs.
                                                             (line 2859)
* TTY colors:                            New in Emacs 21.    (line 1127)
* Tutorial, invoking the:                Basic editing.      (line  478)
* Unbundled packages:                    Packages that do not come with Emacs.
                                                             (line 2609)
* Unicode:                               New in Emacs 23.    (line 1027)
* Unicode 11.0.0:                        New in Emacs 26.    (line  896)
* Unicode 9.0.0:                         New in Emacs 25.    (line  924)
* Unicode characters, typing easily:     New in Emacs 25.    (line  913)
* Unix regexps, differences from Emacs:  Using regular expressions.
                                                             (line 1857)
* Unix systems, installing Emacs on:     Installing Emacs.   (line 2506)
* Unprintable characters, working with:  Working with unprintable characters.
                                                             (line 1414)
* Unsubscribing from GNU mailing lists:  Unsubscribing from Emacs lists.
                                                             (line  454)
* Up-to-date GNU stuff:                  Current GNU distributions.
                                                             (line 2669)
* Usenet archives for GNU groups:        Newsgroup archives. (line  400)
* Usenet groups, appropriate messages for: Guidelines for newsgroup postings.
                                                             (line  371)
* Usenet reader in Emacs:                Reading news with Emacs.
                                                             (line 3403)
* Using an existing Emacs process:       Using an already running Emacs process.
                                                             (line 1498)
* Variable documentation:                Emacs Lisp documentation.
                                                             (line  570)
* Variable-size fonts:                   New in Emacs 21.    (line 1119)
* Version, latest:                       Latest version of Emacs.
                                                             (line  790)
* Vertical movement in empty documents:  Forcing the cursor to remain in the same column.
                                                             (line 1842)
* Very large files, opening:             Problems with very large files.
                                                             (line 2218)
* Viewing Info files:                    Viewing Info files outside of Emacs.
                                                             (line  699)
* Visible bell:                          Turning off beeping.
                                                             (line 1648)
* Volume of bell:                        Turning the volume down.
                                                             (line 1666)
* w32-bdf-filename-alist:                How to add fonts.   (line 3229)
* w32-find-bdf-fonts:                    How to add fonts.   (line 3229)
* Why Emacs?:                            Origin of the term Emacs.
                                                             (line  784)
* Windows files, editing:                Editing MS-DOS files.
                                                             (line 2151)
* Working with arrow keys:               Working with function and arrow keys.
                                                             (line 2852)
* Working with function keys:            Working with function and arrow keys.
                                                             (line 2852)
* Working with unprintable characters:   Working with unprintable characters.
                                                             (line 1414)
* Wrapping lines:                        Wrapping words automatically.
                                                             (line 1460)
* Wrapping word automatically:           Wrapping words automatically.
                                                             (line 1460)
* X and tty displays:                    New in Emacs 23.    (line 1030)
* X events and security:                 Security risks with Emacs.
                                                             (line 2420)
* X key translations:                    X key translations for Emacs.
                                                             (line 2859)
* X resources:                           Valid X resources.  (line 1770)
* X resources being ignored:             Emacs ignores X resources.
                                                             (line 2340)
* X Window System and iconification:     Forcing Emacs to iconify itself.
                                                             (line 1851)
* XDG convention:                        New in Emacs 27.    (line  835)
* XEmacs:                                Difference between Emacs and XEmacs.
                                                             (line 2680)
* xref:                                  New in Emacs 25.    (line  950)
* Xterm and <Meta> key:                  Meta key does not work in xterm.
                                                             (line 3066)
* xwidgets:                              New in Emacs 25.    (line  905)
* Yanking text into the search string:   Yanking text in isearch.
                                                             (line 1455)
* Zile:                                  Emacs for minimalists.
                                                             (line 2709)
```
</div></details>

# 感想
読んだ感想としては、単純に結構タメになりました。ワークアラウンドだけでなく調べ方とかも記されているので、似た問題に遭遇したときの手がかりとして重宝しそうです。