[表紙] [目次] [索引] [検索] [上端 / 下端]

GNU Emacs Lispリファレンスマニュアル

検索全文Elisp

このinfoファイルは、GNU Emacs Lispマニュアル 2.9版であり、 GNU Emacs 21.3版に対応します。

旧版の翻訳である elisp-manual-20-2.5-jp.tgz を参考に最新版の変更点を追加しています。元文書の翻訳をされた方々に深く 感謝いたします。

また、「コメント」と書いてある部分は私が追加した部分です。また、分かり にく部分などは原文の意味を曲げない範囲で、加筆を行っています。

分かりにくい、意味不明だ、用語が統一されていないなどありましたら、 akihisa@mail.ne.jpまでメールにて連 絡をお願いいたします。あるいは、各章の右上にあるコメントからWikiに書き 込みをお願いします。

またこの文書は原文のライセンスを継承しますので、再配布、コピー、変更な どはすべて自由にしていただいて構いません。

1. はじめに  Introduction and conventions used.
B.1 Emacs Lispのコーディングの慣習  Coding conventions for Emacs Lisp.

2. Lispのデータ型  Data types of objects in Emacs Lisp.
3. 数  Numbers and arithmetic functions.
4. 文字列と文字  Strings, and functions that work on them.
5. リスト  Lists, cons cells, and related functions.
6. シーケンス、配列、ベクトル  Lists, strings and vectors are called sequences. Certain functions act on any kind of sequence. The description of vectors is here as well.
7. シンボル  Symbols represent names, uniquely.

8. 評価  How Lisp expressions are evaluated.
9. 制御構造  Conditionals, loops, nonlocal exits.
10. 変数  Using symbols in programs to stand for values.
11. 関数  A function is a Lisp program that can be invoked from other functions.
12. マクロ  Macros are a way to extend the Lisp language.
13. カスタマイズ定義の書き方  Writing customization declarations.

14. ロード  Reading files of Lisp code into Lisp.
15. バイトコンパイル  Compilation makes programs run faster.
16. Emacs Lisp関数のアドバイス (2003/10/30)  Adding to the definition of a function.
17. Lispプログラムのデバッグ  Tools and tips for debugging Lisp programs.

18. Lispオブジェクトの読み取りと表示  Converting Lisp objects to text and back.
19. ミニバッファ  Using the minibuffer to read input.
20. コマンドループ  How the editor command loop works, and how you can call its subroutines.
21. キーマップ  Defining the bindings from keys to commands.
22. メジャーモードとマイナモード  Defining major and minor modes.
23. 説明文  Writing and using documentation strings.

24. ファイル  Accessing files.
25. バックアップと自動保存 (2003/10/30)  Controlling how backups and auto-save files are made.
26. バッファ (2003/10/30)  Creating and using buffer objects.
27. ウィンドウ  Manipulating windows and displaying buffers.
28. フレーム  Making multiple X windows.
29. バッファ内の位置  Buffer positions and motion functions.
30. マーカ  Markers represent positions and update automatically when the text is changed.

31. テキスト  Examining and changing text in buffers.
32. 非ASCII文字  Non-ASCII text in buffers and strings.
33. 探索と一致  Searching buffers for strings or regexps.
34. 構文テーブル  The syntax table controls word and list parsing.
35. 略語と略語の展開 (2003/10/30)  How Abbrev mode works, and its data structures.

36. プロセス  Running and communicating with subprocesses.
37. Emacsの画面表示  Features for controlling the screen display.
38. カレンダーと日誌のカスタマイズ  Customizing the calendar and diary.
39. オペレーティングシステムとのインターフェイス  Getting the user id, system type, environment variables, and other such things.

付録

A. Emacs 20 Antinews (2003/10/30)  Info for users downgrading to Emacs 20.
B. ヒントと慣習  Advice and coding conventions for Emacs Lisp.
C. GNU Emacsの内部  Building and dumping Emacs; internal data structures.
D. 標準のエラー  List of all error symbols.
E. バッファローカルな変数  List of variables buffer-local in all buffers.
F. 標準のキーマップ  List of standard keymaps.
G. 標準のフック  List of standard hook variables.

Index  Index including concepts, functions, variables, and other terms.

旧版以降の新しいシンボル  New functions and variables in Emacs 21.

      −−− 詳細ノード一覧 −−−

以下は、上にあげたノードの下位ノードです。
直接移動できるように掲載しておきます。

導入

1.1 警告  Flaws and a request for help.
1.2 Lispの歴史  Emacs Lisp is descended from Maclisp.
1.3 表記法  How the manual is formatted.
1.5 謝辞  The authors, editors, and sponsors of this manual.

慣習

1.3.1 用語  Explanation of terms we use in this manual.
1.3.2 nilt  How the symbols nil and t are used.
1.3.3 評価の表記法  The format we use for examples of evaluation.
1.3.4 結果表示の表記法  The format we use for examples that print output.
1.3.5 エラーメッセージ  The format we use for examples of errors.
1.3.6 バッファ内のテキストの表記法  The format we use for buffer contents in examples.
1.3.7 記述形式  Notation for describing functions, variables, etc.

ヒントと慣習

B.1 Emacs Lispのコーディングの慣習  Conventions for clean and robust programs.
B.2 コンパイル済みコードを速くするヒント  Making compiled code run fast.
B.3 説明文字列に関するヒント  Writing readable documentation strings.
B.4 コメントの書き方のヒント  Conventions for writing comments.
B.5 Emacsライブラリのヘッダの慣習  Standard headers for library packages.

記述形式

1.3.7.1 関数の記述例  
1.3.7.2 変数の記述例  

Lispデータ型

2.1 表示表現と入力構文  How Lisp objects are represented as text.
2.2 コメント  Comments and their formatting conventions.
2.3 プログラミング向けの型  Types found in all Lisp systems.
2.4 編集向けの型  Types specific to Emacs.
2.5 型述語  Tests related to types.
2.6 同値述語  Tests of equality between any two objects.

プログラミング向けの型

2.3.1 整数型  Numbers without fractional parts.
2.3.2 浮動小数点数  Numbers with fractional parts and with a large range.
2.3.3 文字型  The representation of letters, numbers and control characters.
2.3.5 シーケンス型  Both lists and arrays are classified as sequences.
2.3.6 コンスセルとリスト型  Cons cells, and lists (which are made from cons cells).
2.3.7 配列型  Arrays include strings and vectors.
2.3.8 文字列型  An (efficient) array of characters.
2.3.9 ベクトル型  One-dimensional arrays.
2.3.4 シンボル型  A multi-use object that refers to a function, variable, property list, or itself.
2.3.12 関数型  A piece of executable code you can call from elsewhere.
2.3.13 マクロ型  A method of expanding an expression into another expression, more fundamental but less pretty.
2.3.14 基本関数型  A function written in C, callable from Lisp.
2.3.15 バイトコード関数型  A function written in Lisp, then compiled.
2.3.16 自動ロード型  A type used for automatically loading seldom-used functions.

リスト型

2.3.6.1 ドット対記法  An alternative syntax for lists.
2.3.6.2 連想リスト型  A specially constructed list.

編集向けの型

2.4.1 バッファ型  The basic object of editing.
2.4.3 ウィンドウ型  What makes buffers visible.
2.4.5 ウィンドウ構成型  Save what the screen looks like.
2.4.2 マーカ型  A position in a buffer.
2.4.7 プロセス型  A process running on the underlying OS.
2.4.8 ストリーム型  Receive or send characters.
2.4.9 キーマップ型  What function a keystroke invokes.
2.4.10 オーバレイ型  How an overlay is represented.



3.1 整数の基本  Representation and range of integers.
3.2 浮動小数点数の基本  Representation and range of floating point.
3.3 数向けの型述語  Testing for numbers.
3.4 数の比較  Equality and inequality predicates.
3.6 算術演算  How to add, subtract, multiply and divide.
3.8 整数のビット演算  Logical and, or, not, shifting.
3.5 数の変換  Converting float to integer and vice versa.
3.9 標準数学関数  Trig, exponential and logarithmic functions.
3.10 乱数  Obtaining random integers, predictable or not.

文字列と文字

4.1 文字列と文字の基本  Basic properties of strings and characters.
4.2 文字列向けの述語  Testing whether an object is a string or char.
4.3 文字列の作成  Functions to allocate new strings.
4.5 文字と文字列の比較  Comparing characters or strings.
4.6 文字と文字列の変換  Converting characters or strings and vice versa.
4.7 文字列の書式付け  format: Emacs's analogue of printf.
4.8 Lispの大文字小文字変換  Case conversion functions.

リスト

5.1 リストとコンスセル  How lists are made out of cons cells.
5.2 箱の対を連ねたリスト  Graphical notation to explain lists.
5.3 リスト向け述語  Is this object a list? Comparing two lists.
5.4 リストの要素の参照  Extracting the pieces of a list.
5.5 コンスセルとリストの構築  Creating list structure.
5.6 既存のリスト構造の修正  Storing new pieces into an existing list.
5.7 集合としてのリストの利用  A list can represent a finite mathematical set.
5.8 連想リスト  A list can represent a finite relation or mapping.

既存リスト構造の変更

5.6.1 setcarによるリスト要素の変更  Replacing an element in a list.
5.6.2 リストのCDRの変更  Replacing part of the list backbone. This can be used to remove or add elements.
5.6.3 リストの順序を変更する関数  Reordering the elements in a list; combining lists.

シーケンス、配列、ベクトル

6.1 シーケンス  Functions that accept any kind of sequence.
6.2 配列  Characteristics of arrays in Emacs Lisp.
6.3 配列操作関数  Functions specifically for arrays.
6.4 ベクトル  Functions specifically for vectors.

シンボル

7.1 シンボルの構成要素  Symbols have names, values, function definitions and property lists.
7.2 シンボルを定義する  A definition says how a symbol will be used.
7.3 シンボルの作成とインターン  How symbols are kept unique.
7.4 属性リスト  Each symbol has a property list for recording miscellaneous information.

評価

8.1 評価とは  Evaluation in the scheme of things.
8.4 評価(eval)  How to invoke the Lisp interpreter explicitly.
8.2 フォームの種類  How various sorts of objects are evaluated.
8.3 クォート  Avoiding evaluation (to put constants in the program).

フォームの種類

8.2.1 自己評価型フォーム  Forms that evaluate to themselves.
8.2.2 シンボルフォーム  Symbols evaluate as variables.
8.2.3 リストフォームの分類  How to distinguish various sorts of list forms.
8.2.5 関数フォームの評価  Forms that call functions.
8.2.6 Lispマクロの評価  Forms that call macros.
8.2.7 スペシャルフォーム  "Special forms" are idiosyncratic primitives, most of them extremely important.
8.2.8 自動ロード  Functions set up to load files containing their real definitions.

制御構造

9.1 逐次実行  Evaluation in textual order.
9.2 条件付き実行  if, cond.
9.3 条件の組み合わせ  and, or, not.
9.4 繰り返し  while loops.
9.5 非ローカル脱出  Jumping out of a sequence.

非ローカル脱出

9.5.1 明示的な非ローカル脱出: catchthrow  Nonlocal exits for the program's own purposes.
9.5.2 catchthrowの例  Showing how such nonlocal exits can be written.
9.5.3 エラー  How errors are signaled and handled.
9.5.4 非ローカル脱出時の後始末  Arranging to run a cleanup form if an error happens.

エラー

9.5.3.1 エラーの通知方法  How to report an error.
9.5.3.2 Emacsのエラー処理方法  What Emacs does when you report an error.
9.5.3.3 エラーハンドラの書き方  How you can trap errors and continue execution.
9.5.3.4 エラーシンボルと条件名  How errors are classified for trapping them.

変数

10.1 グローバル変数  Variable values that exist permanently, everywhere.
10.2 変更不可能な変数  Certain "variables" have values that never change.
10.3 ローカル変数  Variable values that exist only temporarily.
10.4 変数が『空』であるとき  Symbols that lack values.
10.5 グローバル変数を定義する  A definition says a symbol is used as a variable.
10.7 変数値の参照  Examining values of variables whose names are known only at run time.
10.8 変数値の変更  Storing new values in variables.
10.9 変数束縛のスコープルール  How Lisp chooses among local and global values.
10.10 バッファローカルな変数  Variable values in effect only in one buffer.

スコープルールと変数束縛

10.9.1 スコープ  Scope means where in the program a value is visible. Comparison with other languages.
10.9.2 存続期間  Extent means how long in time a value exists.
10.9.3 動的スコープの実装  Two ways to implement dynamic scoping.
10.9.4 動的スコープの正しい使い方  How to use dynamic scoping carefully and avoid problems.

バッファローカルな変数

10.10.1 バッファローカルな変数の紹介  Introduction and concepts.
10.10.2 バッファローカルな束縛の作成と削除  Creating and destroying buffer-local bindings.
10.10.3 バッファローカル変数のデフォルト値  The default value is seen in buffers that don't have their own buffer-local values.

関数

11.1 関数とはなにか  Lisp functions vs primitives; terminology.
11.2 ラムダ式  How functions are expressed as Lisp objects.
11.3 関数を命名する  A symbol can serve as the name of a function.
11.4 関数を定義する  Lisp expressions for defining functions.
11.5 関数呼び出し  How to use an existing function.
11.6 マップ関数  Applying a function to each element of a list, etc.
11.7 無名関数  Lambda-expressions are functions with no names.
11.8 関数セルの内容の参照  Accessing or setting the function definition of a symbol.
11.10 関数に関連したその他の話題  Cross-references to specific Lisp primitives that have a special bearing on how functions work.

ラムダ式

11.2.1 ラムダ式の構成要素  The parts of a lambda expression.
11.2.2 簡単なラムダ式の例  A simple example.
11.2.3 引数リストのその他の機能  Details and special features of argument lists.
11.2.4 関数の説明文字列  How to put documentation in a function.

マクロ

12.1 マクロの簡単な例  A basic example.
12.2 マクロ呼び出しの展開  How, when and why macros are expanded.
12.3 マクロとバイトコンパイル  How macros are expanded by the compiler.
12.4 マクロ定義  How to write a macro definition.
12.5 バッククォート  Easier construction of list structure.
12.6 マクロ使用時の一般的な問題  Don't evaluate the macro arguments too many times. Don't hide the user's variables.

ロード

14.1 プログラムからのロード方法  The load function and others.
14.4 自動ロード  Setting up a function to autoload.
14.6 機能  Loading a library if it isn't already loaded.
14.5 ロードの繰り返し  Precautions about loading a file twice.

バイトコンパイル

15.2 コンパイル関数  Byte compilation functions.
15.7 バイトコードの逆アセンブル  Disassembling byte-code; how to read byte-code.

関数のアドバイス

16.1 単純なアドバイスの例 (2003/10/30)  A simple example to explain the basics of advice.
16.2 アドバイス定義 (2003/10/30)  Detailed description of defadvice.
16.4 計算アドバイス (2003/10/30)  ...is to defadvice as fset is to defun.
16.5 アドバイスの活性化 (2003/10/30)  Advice doesn't do anything until you activate it.
16.6 アドバイスの有効化と無効化 (2003/10/30)  You can enable or disable each piece of advice.
16.7 予約活性 (2003/10/30)  Preactivation is a way of speeding up the loading of compiled advice.
16.8 アドバイスからの引数の参照 (2003/10/30)  How advice can access the function's arguments.
16.9 subr引数リストの定義 (2003/10/30)  Accessing arguments when advising a primitive.
16.10 結合定義 (2003/10/30)  How advice is implemented.

Lispプログラムのデバッグ

17.1 Lispデバッガ  How the Emacs Lisp debugger is implemented.
17.3 不正なLisp構文のデバッグ  How to find syntax errors.
17.4 コンパイル時の問題のデバッグ  How to find errors that show up in byte compilation.
17.2 edebug  A source-level Emacs Lisp debugger.
                                
Lispデバッガ

17.1.1 エラーによるデバッガの起動  Entering the debugger when an error happens.
17.1.3 関数呼び出し時のデバッガの起動  Entering it when a certain function is called.
17.1.4 デバッガの明示的な起動  Entering it at a certain point in the program.
17.1.5 デバッガの使い方  What the debugger does; what you see while in it.
17.1.6 デバッガコマンド  Commands used while in the debugger.
17.1.7 デバッガの起動  How to call the function debug.
17.1.8 デバッガの内部  Subroutines of the debugger, and global variables.

不正なLisp構文のデバッグ

17.3.1 開き括弧の過剰  How to find a spurious open paren or missing close.
17.3.2 閉じ括弧の過剰  How to find a spurious close paren or missing open.

Lispオブジェクトの読み取りと表示

18.1 読み取りと表示の概要  Overview of streams, reading and printing.
18.2 入力ストリーム  Various data types that can be used as input streams.
18.3 入力関数  Functions to read Lisp objects from text.
18.4 出力ストリーム  Various data types that can be used as output streams.
18.5 出力関数  Functions to print Lisp objects as text.

ミニバッファ

19.1 ミニバッファの紹介  Basic information about minibuffers.
19.2 ミニバッファでのテキスト文字列の読み取り  How to read a straight text string.
19.3 ミニバッファでのLispオブジェクトの読み取り  How to read a Lisp object or expression.
19.5 補完  How to invoke and customize completion.
19.6 Yes/Noの問い合わせ  Asking a question with a simple answer.
19.9 ミニバッファに関するその他  Various customization hooks and variables.

補完

19.5.1 基本補完関数  Low-level functions for completing strings.
                              (These are too low level to use the minibuffer.)
19.5.2 補完とミニバッファ  Invoking the minibuffer with completion.
19.5.3 補完を行うミニバッファコマンド  Minibuffer commands that do completion.
19.5.4 高レベルの補完関数  Convenient special cases of completion
                              (reading buffer name, file name, etc.)
19.5.5 ファイル名の読み取り  Using completion to read file names.
19.5.6 プログラム補完  Finding the completions for a given file name.

コマンドループ

20.1 コマンドループの概要  How the command loop reads commands.
20.2 コマンドの定義  Specifying how a function should read arguments.
20.3 対話的呼び出し  Calling a command, so that it will read arguments.
20.4 コマンドループからの情報  Variables set by the command loop for you to examine.
20.5 入力イベント  What input looks like when you read it.
20.6 入力の読み取り  How to read input events from the keyboard or mouse.
20.8 時間待ちと入力待ち  Waiting for user input or elapsed time.
20.9 中断  How C-g works. How to catch or defer quitting.
20.10 前置コマンド引数  How the commands to set prefix args work.
20.11 再帰編集  Entering a recursive edit, and why you usually shouldn't.
20.12 コマンドを禁止する  How the command loop handles disabled commands.
20.13 コマンド履歴  How the command history is set up, and how accessed.
20.14 キーボードマクロ  How keyboard macros are implemented.

コマンドの定義

20.2.1 interactiveの使い方  General rules for interactive.
20.2.2 interactiveのコード文字  The standard letter-codes for reading arguments in various ways.
20.2.3 interactiveの使用例  Examples of how to read interactive arguments.

キーマップ

21.1 キーマップの用語  Definitions of terms pertaining to keymaps.
21.2 キーマップの形式  What a keymap looks like as a Lisp object.
21.3 キーマップの作成  Functions to create and copy keymaps.
21.4 継承とキーマップ  How one keymap can inherit the bindings of another keymap.
21.5 プレフィックスキー  Defining a key with a keymap as its definition.
21.12 メニューキーマップ  A keymap can define a menu for X or for use from the terminal.
21.6 活性なキーマップ  Each buffer has a local keymap to override the standard (global) bindings. Each minor mode can also override them.
21.7 キー探索  How extracting elements from keymaps works.
21.8 キー探索関数  How to request key lookup.
21.9 キーバインディングの変更  Redefining a key in a keymap.
21.10 キーをバインドするためのコマンド  Interactive interfaces for redefining keys.
21.11 キーマップの走査  Looking through all keymaps, for printing help.

メジャーモードとマイナモード

22.1 メジャーモード  Defining major modes.
22.2 マイナモード  Defining minor modes.
22.3 モード行の書式  Customizing the text that appears in the mode line.
22.6 フック  How to use hooks; how to write code that provides hooks.

メジャーモード

22.1.1 メジャーモードの慣習  Coding conventions for keymaps, etc.
22.1.2 メジャーモードの例  Text mode and Lisp modes.
22.1.3 メジャーモードの選択方法  How Emacs chooses the major mode automatically.
22.1.4 メジャーモードに関するヘルプ  Finding out how to use a mode.

マイナモード

22.2.1 マイナモードを書くための慣習  Tips for writing a minor mode.
22.2.2 キーマップとマイナモード  How a minor mode can have its own keymap.

モード行の書式

22.3.1 モード行のデータ構造  The data structure that controls the mode line.
22.3.2 モード行に使われる変数  Variables used in that data structure.
22.3.3 モード行の%記法  Putting information into a mode line.

説明文

23.1 説明文の基本  Good style for doc strings. Where to put them. How Emacs stores them.
23.2 説明文字列の参照  How Lisp programs can access doc strings.
23.3 説明文内のキーバインディングの置換  Substituting current key bindings.
23.4 ヘルプメッセージ用の文字変換  Making printable descriptions of non-printing characters and key sequences.
23.5 ヘルプ機能  Subroutines used by Emacs help facilities.

ファイル

24.1 ファイルの訪問  Reading files into Emacs buffers for editing.
24.2 バッファの保存  Writing changed buffers back into files.
24.3 ファイルの読み込み  Reading files into other buffers.
24.4 ファイルへの書き出し  Writing new files from parts of buffers.
24.5 ファイルロック  Locking and unlocking files, to prevent simultaneous editing by two people.
24.6 ファイルに関する情報  Testing existence, accessibility, size of files.
24.9 ディレクトリの内容  Getting a list of the files in a directory.
24.7 ファイルの名前と属性の変更  Renaming files, changing protection, etc.
24.8 ファイル名  Decomposing and expanding file names.

ファイルを訪問する

24.1.1 ファイルを訪問する関数  The usual interface functions for visiting.
24.1.2 訪問するためのサブルーティン  Lower-level subroutines that they use.

ファイルに関する情報

24.6.1 参照可能性の検査  Is a given file readable? Writable?
24.6.2 ファイルの種類の区別  Is it a directory? A link?
24.6.4 ファイルに関する他の情報  How large is it? Any other names? Etc.

ファイル名

24.8.1 ファイル名の構成要素  The directory part of a file name, and the rest.
24.8.2 ディレクトリ名  A directory's name as a directory is different from its name as a file.
24.8.3 ファイルの絶対名と相対名  Some file names are relative to a current directory.
24.8.4 ファイル名を展開する関数  Converting relative file names to absolute ones.
24.8.5 一意なファイル名の生成  Generating names for temporary files.
24.8.6 ファイル名の補完  Finding the completions for a given file name.

バックアップと自動保存

25.1 バックアップファイル (2003/10/30)  How backup files are made; how their names are chosen.
25.2 自動保存 (2003/10/30)  How auto-save files are made; how their names are chosen.
25.3 復元 (2003/10/30)  revert-buffer, and how to customize what it does.

バックアップファイル

25.1.1 バックアップファイルの作成 (2003/10/30)  How Emacs makes backup files, and when.
25.1.2 改名によるバックアップかコピーによるバックアップか (2003/10/30)  Two alternatives: renaming the old file or copying it.
25.1.3 番号付きバックアップファイルの作成と削除 (2003/10/30)  Keeping multiple backups for each source file.
25.1.4 バックアップファイルの命名方法 (2003/10/30)  How backup file names are computed; customization.

バッファ

26.1 バッファの基本 (2003/10/30)  What is a buffer?
26.3 バッファ名 (2003/10/30)  Accessing and changing buffer names.
26.4 バッファファイル名 (2003/10/30)  The buffer file name indicates which file is visited.
26.5 バッファの変更 (2003/10/30)  A buffer is modified if it needs to be saved.
26.6 更新時刻の比較 (2003/10/30)  Determining whether the visited file was changed
                              "behind Emacs's back".
26.7 読み出し専用バッファ (2003/10/30)  Modifying text is not allowed in a read-only buffer.
26.8 バッファリスト (2003/10/30)  How to look at all the existing buffers.
26.9 バッファの作成 (2003/10/30)  Functions that create buffers.
26.10 バッファの削除 (2003/10/30)  Buffers exist until explicitly killed.
26.2 カレントバッファ (2003/10/30)  Designating a buffer as current so primitives will access its contents.

ウィンドウ

27.1 Emacsウィンドウの基本概念  Basic information on using windows.
27.2 ウィンドウの分割  Splitting one window into two windows.
27.3 ウィンドウの削除  Deleting a window gives its space to other windows.
27.4 ウィンドウの選択  The selected window is the one that you edit in.
27.5 ウィンドウの巡回順序  Moving around the existing windows.
27.6 バッファとウィンドウ  Each window displays the contents of a buffer.
27.7 ウィンドウへのバッファの表示  Higher-lever functions for displaying a buffer and choosing a window for it.
27.9 ウィンドウとポイント  Each window has its own location of point.
27.10 ウィンドウの開始位置  The display-start position controls which text is on-screen in the window.
27.11 垂直スクロール  Moving text up and down in the window.
27.12 水平スクロール  Moving text sideways on the window.
27.13 ウィンドウサイズ  Accessing the size of a window.
27.14 ウィンドウサイズの変更  Changing the size of a window.
27.16 ウィンドウ構成  Saving and restoring the state of the screen.

フレーム

28.1 フレームの作成  Creating additional frames.
28.2 複数ディスプレイ  Creating frames on other X displays.
28.3 フレームパラメータ  Controlling frame size, position, font, etc.
28.4 フレームタイトル  Automatic updating of frame titles.
28.5 フレームの削除  Frames last until explicitly deleted.
28.6 すべてのフレームを探す  How to examine all existing frames.
28.7 フレームとウィンドウ  A frame contains windows; display of text always works through windows.
28.8 ミニバッファとフレーム  How a frame finds the minibuffer to use.
28.9 入力フォーカス  Specifying the selected frame.
28.10 フレームの可視性  Frames may be visible or invisible, or icons.
28.11 フレームを手前にしたり奥へ置く  Raising a frame makes it hide other X windows; lowering it puts it underneath the others.
28.12 フレーム構成  Saving the state of all frames.
28.13 マウスの追跡  Getting events that say when the mouse moves.
28.14 マウスの位置  Asking where the mouse is, or moving it.
28.15 ポップアップメニュー  Displaying a menu for the user to select from.
28.16 対話ボックス  Displaying a box to ask yes or no.
28.17 ポインタの形状  Specifying the shape of the mouse pointer.
28.18 ウィンドウシステムのセレクション  Transferring text to and from other windows.
28.21 表示色名  Getting the definitions of color names.
28.22 Xリソース  Getting resource values from the server.

バッファ内の位置

29.1 ポイント  The special position where editing takes place.
29.2 移動  Changing point.
29.3 エクスカージョン  Temporary motion and buffer changes.
29.4 ナロイング  Restricting editing to a portion of the buffer.

移動

29.2.1 文字単位の移動  Moving in terms of characters.
29.2.2 単語単位の移動  Moving in terms of words.
29.2.3 バッファの両端への移動  Moving to the beginning or end of the buffer.
29.2.4 テキスト行単位の移動  Moving in terms of lines of text.
29.2.5 スクリーン行分の移動  Moving in terms of lines as displayed.
29.2.6 式単位の移動  Moving by parsing lists and sexps.
29.2.7 文字群の飛び越し  Skipping characters belonging to a certain set.

マーカ

30.1 マーカの概要  The components of a marker, and how it relocates.
30.2 マーカ向けの述語  Testing whether an object is a marker.
30.3 マーカ作成関数  Making empty markers or markers at certain places.
30.4 マーカの情報  Finding the marker's buffer or character position.
30.6 マーカ位置の移動  Moving the marker to a new buffer or position.
30.7 マーク  How "the mark" is implemented with a marker.
30.8 リージョン  How to access "the region".

テキスト

31.1 ポイント付近のテキストを調べる  Examining text in the vicinity of point.
31.2 バッファの内容を調べる  Examining text in a general fashion.
31.4 テキストの挿入  Adding new text to a buffer.
31.5 ユーザーレベルの挿入コマンド  User-level commands to insert text.
31.6 テキストの削除  Removing text from a buffer.
31.7 ユーザーレベルの削除コマンド  User-level commands to delete text.
31.8 キルリング  Where removed text sometimes is saved for later use.
31.9 アンドゥ  Undoing changes to the text of a buffer.
31.14 自動詰め込み(auto-filling)モード  How auto-fill mode is implemented to break lines.
31.11 詰め込み  Functions for explicit filling.
31.12 詰め込みのための余白  How to specify margins for filling commands.
31.15 テキストのソート  Functions for sorting parts of the buffer.
31.17 字下げ  Functions to insert or adjust indentation.
31.16 コラムを数える  Computing horizontal positions, and using them.
31.18 大文字小文字の変更  Case conversion of parts of the buffer.
31.19 テキスト属性  Assigning Lisp property lists to text characters.
31.20 文字コードの置換  Replacing a given character wherever it appears.
31.22 テキストの転置  Swapping two portions of a buffer.
31.21 レジスタ  How registers are implemented. Accessing the text or position stored in a register.
31.23 変更フック  Supplying functions to be run when text is changed.
                              
キルリング

31.8.1 キルリングの概念  What text looks like in the kill ring.
31.8.2 キル向けの関数  Functions that kill text.
31.8.3 ヤンク向けの関数  Commands that access the kill ring.
31.8.4 下位レベルのキルリング  Functions and variables for kill ring access.
31.8.5 キルリングの内部  Variables that hold kill-ring data.

字下げ

31.17.1 字下げ基本関数  Functions used to count and insert indentation.
31.17.2 メジャーモードの制御による字下げ  Customize indentation for different modes.
31.17.3 領域全体の字下げ  Indent all the lines in a region.
31.17.4 先行行相対の字下げ  Indent the current line based on previous lines.
31.17.5 調整可能な『タブストップ』  Adjustable, typewriter-like tab stops.
31.17.6 字下げに基づく移動コマンド  Move to first non-blank character.

テキスト属性

31.19.1 テキスト属性を調べる  Looking at the properties of one character.
31.19.2 テキスト属性の変更  Setting the properties of a range of text.
31.19.3 テキスト属性を探す関数  Searching for where a property changes value.
31.19.4 特別な意味を持つ属性  Particular properties with special meanings.
31.19.5 整形済みテキストの属性  Properties for representing formatting of text.
31.19.6 テキスト属性のスティッキ性  How inserted text gets properties from neighboring text.
31.19.7 テキスト属性をファイルへ保存する  Saving text properties in files, and reading them back.
31.19.8 テキスト属性の遅延計算  Computing text properties in a lazy fashion only when text is examined.
31.19.9 クリック可能なテキストを定義する  Using text properties to make regions of text do something when you click on them.
31.19.10 テキスト属性が範囲でない理由  Why text properties do not use Lisp-visible text intervals.

非アスキー文字

32.1 テキスト表現  Unibyte and multibyte representations
32.2 テキスト表現の変換  Converting unibyte to multibyte and vice versa.
32.3 表現の選択  Treating a byte sequence as unibyte or multi.
32.4 文字コード  How unibyte and multibyte relate to codes of individual characters.
32.5 文字集合  The space of possible characters codes is divided into various character sets.
32.6 文字とバイト  More information about multibyte encodings.
32.7 文字の分割  Converting a character to its byte sequence.
32.8 文字集合の走査  Which character sets are used in a buffer?
32.9 文字の変換  Translation tables are used for conversion.
32.10 コーディングシステム  Coding systems are conversions for saving files.
32.11 入力方式  Input methods allow users to enter various non-ASCII characters without special keyboards.

探索と一致

33.1 文字列の探索  Search for an exact match.
33.2 正規表現  Describing classes of strings.
33.3 正規表現の探索  Searching for a match for a regexp.
33.6 マッチデータ  Finding out which part of the text matched various parts of a regexp, after regexp search.
33.6.4 マッチデータの保存と復元  Saving and restoring this information.
33.8 編集に用いられる標準的な正規表現  Useful regexps for finding sentences, pages,...
33.7 探索と大文字小文字  Case-independent or case-significant searching.

正規表現

33.2.1 正規表現の構文  Rules for writing regular expressions.
33.2.2 複雑な正規表現の例  Illustrates regular expression syntax.

構文テーブル

34.2 構文記述子  How characters are classified.
34.3 構文テーブル向け関数  How to create, examine and alter syntax tables.
34.6 釣り合った式の解析  Parsing balanced expressions using the syntax table.
34.7 標準的な構文テーブル  Syntax tables used by various major modes.
34.8 構文テーブルの内部  How syntax table information is stored.

構文記述子

34.2.1 構文クラス一覧  Table of syntax classes.
34.2.2 構文フラグ  Additional flags each character can have.

略語と略語の展開

35.1 略語 (abbrev) モードの設定 (2003/10/30)  Setting up Emacs for abbreviation.
35.2 略語表 (2003/10/30)  Creating and working with abbrev tables.
35.3 略語を定義する (2003/10/30)  Specifying abbreviations and their expansions.
35.4 略語をファイルに保存する (2003/10/30)  Saving abbrevs in files.
35.5 略語の探索と展開 (2003/10/30)  Controlling expansion; expansion subroutines.
35.6 標準の略語表 (2003/10/30)  Abbrev tables used by various major modes.

プロセス

36.1 サブプロセス作成関数  Functions that start subprocesses.
36.3 同期プロセスの作成  Details of using synchronous subprocesses.
36.4 非同期プロセスの作成  Starting up an asynchronous subprocess.
36.5 プロセスの削除  Eliminating an asynchronous subprocess.
36.6 プロセス情報  Accessing run-status and other attributes.
36.7 プロセスへ入力を送る  Sending input to an asynchronous subprocess.
36.8 プロセスにシグナルを送る  Stopping, continuing or interrupting an asynchronous subprocess.
36.9 プロセスからの出力を受け取る  Collecting output from an asynchronous subprocess.
36.10 番兵:プロセスの状態変化の検出  Sentinels run when process run-status changes.
36.12 ネットワーク接続  Opening network connections.

プロセスからの出力を受け取る

36.9.1 プロセスバッファ  If no filter, output is put in a buffer.
36.9.2 プロセスフィルタ関数  Filter functions accept output from the process.
36.9.3 プロセスからの出力を受け取る  How to wait until process output arrives.

オペレーティングシステムとのインターフェイス

39.1 Emacsの始動  Customizing Emacs start-up processing.
39.2 Emacsから抜ける  How exiting works (permanent or temporary).
39.3 オペレーティングシステム環境  Distinguish the name and kind of system.
39.8 端末入力  Recording terminal input for debugging.
39.9 端末出力  Recording terminal output for debugging.
39.11 フロー制御  How to turn output flow control on or off.
39.12 バッチモード  Running Emacs without terminal interaction.

Emacsの始動

39.1.2 初期化ファイル:`.emacs'  Details on reading the init file (`.emacs').
39.1.3 端末固有の初期化  How the terminal-specific Lisp file is read.

Emacsから抜ける

39.2.1 Emacsの終了  Exiting Emacs irreversibly.
39.2.2 Emacsの休止  Exiting Emacs reversibly.

Emacsの画面表示

37.1 スクリーン全体の再表示  Clearing the screen and redrawing everything on it.
37.2 表示の切り詰め  Folding or wrapping long text lines.
37.3 エコー領域  Where messages are displayed.
37.5 選択表示  Hiding part of the buffer text.
37.6 オーバレイ矢印  Display of an arrow to indicate position.
37.7 一時的な表示  Displays that go away automatically.
37.8 オーバレイ  Use overlays to highlight parts of the buffer.
37.9 表示幅  How wide a character or string is on the screen.
37.10 フェイス  A face defines a graphics style for text characters: font, colors, etc.
37.11 括弧を点滅する  How Emacs shows the matching open parenthesis.
37.12 反転表示  Specifying how the screen looks.
37.13 通常の画面表示慣習  The usual conventions for displaying nonprinting chars.
37.14 表示テーブル  How to specify other conventions.
37.15 ベルを鳴らす  Audible signal to the user.
37.16 ウィンドウシステム  Which window system is being used.

GNU Emacsの内部

C.1 Emacsの構築方法  How to preload Lisp libraries into Emacs.
C.2 ピュアメモリ  A kludge to make preloaded Lisp functions sharable.
C.3 ガベッジコレクション  Reclaiming space for Lisp objects no longer used.
C.6 オブジェクトの内部  Data formats of buffers, windows, processes.
C.5 Emacs基本関数の書き方  Writing C code for Emacs.

オブジェクトの内部

C.6.1 バッファの内部  Components of a buffer structure.
C.6.2 ウィンドウの内部  Components of a window structure.
C.6.3 プロセスの内部  Components of a process structure.