| [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
これはプログラマではない人のための
以下にあるメニューは各章のリストである.ここにはすべての章のすべての節 を一覧してある.
訳者まえがき はじめに What to look for. 1. リスト処理 (2004/03/28) What is Lisp? 2. 評価の練習 (2004/03/28) Running several programs. 3. 関数定義の書き方 (2004/08/04) How to write function definitions. 4. バッファ関連の関数 (2004/08/05) Exploring a few buffer-related functions. 5. 多少複雑な関数 (2004/08/05) A few, even more complex functions. 6. ナロイングとワイドニング (2004/08/07) Restricting your and Emacs attention to a region. 7. 基本関数 car、cdr、cons(2004/08/07)Fundamental functions in Lisp. 8. テキストのカットと保存 (2004/08/08) Removing text and saving it. 9. リストの実装方法 (2004/08/08) How lists are implemented in the computer. 10. ループと再帰 (2004/08/10) How to repeat a process. 11. 正規表現の探索 (2004/08/10) Regular expression searches. 12. 数え上げ:繰り返しと正規表現 (2004/08/10) A review of repetition and regexps. 13. defun内の単語の数え上げ (2004/08/10)Counting words in a defun.14. グラフの準備 (2004/08/10) A prototype graph printing function. 15. 個人用ファイル`.emacs' (2004/08/10) How to write a `.emacs' file. 16. デバッグ (2006/04/06) How to run the Emacs Lisp debuggers. 17. 結 論 (2004/08/10) Now you have the basics. A. 関数 the-the(2004/08/10)An appendix: how to find reduplicated words. B. キルリングの扱い方 An appendix: how the kill ring works. C. ラベル付きグラフ (2004/08/10) How to create a graph with labelled axes. D. GNU Free Documentation License (2004/08/11) 索引 著者について
-- The Detailed Node Listing ---
Preface
Why Study Emacs Lisp? Why learn Emacs Lisp? On Reading this Text Read, gain familiarity, pick up habits.... 対象とする読者 For whom this is written. Lispの歴史 初心者へ一言 You can read this as a novice. 謝 辞
List Processing
1.1 Lispのリスト (2004/03/28) What are lists? 1.2 プログラムの実行 (2004/01/16) Any list in Lisp is a program ready to run. 1.3 エラーメッセージの生成 (2004/01/16) Generating an error message. 1.4 シンボル名と関数定義 Names of symbols and function definitions. 1.5 Lispインタープリタ What the Lisp interpreter does. 1.6 評 価 (2004/01/17) Running a program. 1.7 変 数 (2004/01/17) Returning a value from a variable. 1.8 引 数 (2004/01/17) Passing information to a function. 1.9 変数への値の設定 (2004/01/17) Setting the value of a variable. 1.10 まとめ (2004/03/28) The major points. 1.11 演習問題
Lisp Lists
Numbers, Lists inside of Lists List have numbers, other lists, in them. 1.1.1 Lispのアトム (2004/01/16) Elemental entities. 1.1.2 リスト内の空白 (2004/01/16) Formating lists to be readable. 1.1.3 GNU Emacsのリスト入力補佐機能 (2004/03/28) How GNU Emacs helps you type lists.
The Lisp Interpreter
Complications Variables, Special forms, Lists within. 1.5.1 バイトコンパイル Specially processing code for speed.
Evaluation
1.6.1 内側のリストの評価 (2004/01/17) Lists within lists...
Variables
fill-column, an Example Variable1.7.1 Error Message for a Symbol Without a Function (2004/01/17) The error message for a symbol without a function. 1.7.2 値のないシンボルに対するエラーメッセージ (2004/01/17) The error message for a symbol without a value.
Arguments
1.8.1 引数のデータ型 (2004/01/16) Types of data passed to a function. 1.8.2 引数としての変数やリストの値 (2004/01/17) An argument can be the value of a variable or list. 1.8.3 可変個数の引数 (2004/01/17) Some functions may take a variable number of arguments. 1.8.4 引数に誤った型のオブジェクトを指定 (2004/01/17) Passing an argument of the wrong type to a function. 1.8.5 関数 message(2004/01/17)A useful function for sending messages.
Setting the Value of a Variable
1.9.1 setの使い方 (2004/01/17)Setting values. 1.9.2 setqの使い方 (2004/01/17)Setting a quoted value. 1.9.3 数え上げ (2004/01/17) Using setqto count.
Practicing Evaluation
How to Evaluate Typing editing commands or C-x C-e causes evaluation. 2.1 バッファ名 (2004/01/17) Buffers and files are different. 2.2 バッファの取得 (2004/01/17) Getting a buffer itself, not merely its name. 2.3 バッファの切り替え (2004/03/28) How to change to another buffer. 2.4 バッファサイズとポイントの位置 (2004/03/28) Where point is located and the size of the buffer. 2.5 演習問題
How To Write Function Definitions
An Aside about Primitive Functions 3.1 スペシャルフォーム defun(2004/03/28)The defunspecial form.3.2 関数定義のインストール Install a function definition. 3.3 関数を対話的にする Making a function interactive. 3.4 interactiveの他のオプションDifferent options for interactive.3.5 コードの恒久的インストール Installing code permanently. 3.6 let(2004/03/28)Creating and initializing local variables. 3.7 スペシャルフォーム if(2004/03/28)What if? 3.8 If--then--else式 (2004/03/28) If--then--else expressions. 3.9 Emacs Lispの真偽値 (2004/03/28) What Lisp considers false and true. 3.10 save-excursion(2004/03/28)Keeping track of point, mark, and buffer. 3.11 復 習 (2004/08/04) 3.12 演習問題
Install a Function Definition
The effect of installation 3.2.1 関数定義の変更 How to change a function definition.
Make a Function Interactive
対話的 multiply-by-sevenAn overview. 3.3.1 対話的 multiply-by-sevenThe interactive version.
let
letで混乱を避ける3.6.1 let式の構造 (2004/03/28)3.6.2 let式の例 (2004/03/28)3.6.3 let式の非初期化変数 (2004/03/28)
TheifSpecial Form
ifの詳細3.7.1 関数 type-of-animalの詳細 (2004/03/28)An example of an ifexpression.
Truth and Falsehood in Emacs Lisp
nilについてnilhas two meanings.
save-excursion
ポイントとマーク A review of various locations. 3.10.1 save-excursion式の雛型 (2004/03/28)
A Few Buffer--Related Functions
4.1 詳しい情報を得る (2004/08/04) How to find more information. 4.2 beginning-of-bufferの簡略した定義 (2004/08/04)Shows goto-char,point-min, andpush-mark.
4.3 mark-whole-bufferの定義 (2004/08/05)Almost the same as beginning-of-buffer.4.4 append-to-bufferの定義 (2004/08/05)Uses save-excursionandinsert-buffer-substring.
4.5 復 習 (2004/08/05) Review. 4.6 演習問題
The Definition ofmark-whole-buffer
mark-whole-bufferの概略4.3.1 mark-whole-bufferの本体 (2004/08/05)Only three lines of code.
The Definition ofappend-to-buffer
append-to-bufferの概略4.4.1 append-to-bufferのinteractive式 (2004/08/05)A two part interactive expression. 4.4.2 append-to-bufferの本体 (2004/08/05)Incorporates a letexpression.4.4.3 append-to-bufferのsave-excursion(2004/08/05)How the save-excursionworks.
A Few More Complex Functions
5.1 copy-to-bufferの定義 (2004/08/05)With set-buffer,get-buffer-create.5.2 insert-bufferの定義 (2004/08/05)Read-only, and with or.5.3 beginning-of-bufferの完全な定義 (2004/08/05)Shows goto-char,point-min, andpush-mark.
5.4 復 習 (2004/08/05) 5.5 optional引数の演習問題
The Definition ofinsert-buffer
insert-bufferのソースコード5.2.1 insert-bufferのinteractive式When you can read, but not write. 5.2.2 関数 insert-bufferの本体 (2004/08/05)The body has an orand alet.5.2.3 orのかわりにifを使ったinsert-buffer(2004/08/05)Using an ifinstead of anor.5.2.4 orの本体 (2004/08/05)How the orexpression works.5.2.5 insert-bufferのlet式 (2004/08/05)Two save-excursionexpressions.
The Interactive Expression ininsert-buffer
読み出し専用バッファ When a buffer cannot be modified. interactive式の`b'An existing buffer or else its name.
Complete Definition ofbeginning-of-buffer
5.3.1 オプションの引数 (2004/08/05) 5.3.2 引数を指定した beginning-of-buffer(2004/08/05)Example with optional argument. 5.3.3 beginning-of-bufferの完全なコード (2004/08/05)
beginning-of-bufferwith an Argument
Disentangle beginning-of-buffer大きなバッファでの動作 小さなバッファでの動作
Narrowing and Widening
ナローイングの利点 The advantages of narrowing 6.1 スペシャルフォーム save-restriction(2004/08/07)The save-restrictionspecial form.6.2 what-line(2004/08/07)The number of the line that point is on. 6.3 ナロイングの演習問題
car,cdr,cons: Fundamental Functions
Strange Names An historical aside: why the strange names? 7.1 carとcdr(2004/08/07)Functions for extracting part of a list. 7.2 cons(2004/08/07)Constructing a list. 7.3 nthcdrCalling cdrrepeatedly.7.4 nth7.5 setcarChanging the first element of a list. 7.6 setcdrChanging the rest of a list. 7.7 演習問題
cons
Build a list 7.2.1 リストの長さ: lengthHow to find the length of a list.
Cutting and Storing Text
Storing Text in a List Text is stored in a list. 8.1 zap-to-charCutting out text up to a character. 8.2 kill-region(2004/08/08)Cutting text out of a region. 8.3 delete-and-extract-region: Cへ回り道 (2004/08/08)Minor note on C programming language macros. 8.4 defvarによる変数の初期化 (2004/08/08)How to give a variable an initial value. 8.5 copy-region-as-kill(2004/08/08)A definition for copying text. 8.6 復 習 (2004/08/08) 8.7 探索の演習問題 (2004/08/08)
zap-to-char
8.1.1 interactive式A three part interactive expression. 8.1.2 zap-to-charの本体A short overview. 8.1.3 関数 search-forwardHow to search for a string. 8.1.4 The prognSpecial FormThe prognspecial form.8.1.6 zap-to-charのまとめUsing pointandsearch-forward.
kill-region
kill-regionの定義The function definition. 8.2.1 condition-case(2004/08/08)Dealing with a problem. 8.2.2 delete-and-extract-region(2004/08/08)Doing the work.
Initializing a Variable withdefvar
変数の現在値を知る 8.4.1 defvarとアスタリスク (2004/08/08)An old-time convention.
copy-region-as-kill
関数 copy-region-as-killの定義The complete function definition. 8.5.1 copy-region-as-killの本体 (2004/08/08)The body of copy-region-as-kill.
The Body ofcopy-region-as-kill
last-commandandthis-command関数 kill-append関数 kill-new
How Lists are Implemented
リストの図解 9.1 箪笥の引き出しに見立てたシンボル (2004/08/08) Exploring a powerful metaphor.
Yanking Text Back
9.2 yankとnthcdrの演習問題
Loops and Recursion
10.1 whileCausing a stretch of code to repeat. 10.2 dolistとdotimes(2004/08/08)10.3 再 帰 (2004/08/10) Causing a function to call itself. 10.4 ループの演習問題
while
whileを使ったループRepeat so long as test returns true. 10.1.1 A whileループとリストA whileloop that uses a list.10.1.2 例: print-elements-of-listUses while,car,cdr.10.1.3 増加カウンタによるループ A loop with an incrementing counter. 10.1.4 減少カウンタによるループ A loop with a decrementing counter.
A Loop with an Incrementing Counter
増加カウンタの例 Counting pebbles in a triangle. 関数定義の各部分 The parts of the function definition. 関数定義をまとめる Putting the function definition together.
Loop with a Decrementing Counter
減少カウンタの例 More pebbles on the beach. 関数の各部分 The parts of the function definition. 関数定義をまとめる Putting the function definition together.
Save your time:dolistanddotimes
dolistマクロdotimesマクロ
Recursion
10.3.1 ロボットの構築: 隠喩の拡張 (2004/08/08) Same model, different serial number ... 10.3.2 The Parts of a Recursive Definition Walk until you stop ... 10.3.4 リストについての再帰 (2004/08/09) Using a list as the test whether to recurse. 10.3.5 カウンタの代用としての再帰 (2004/08/09) 10.3.6 condを用いた再帰の例 (2004/08/09)10.3.7 再帰関数の典型例 (2004/08/09) Often used templates. 10.3.8 待機なしでの再帰 (2004/08/10) Don't store up work ... 10.3.9 待機なしの解決 (2004/08/09)
Recursion in Place of a Counter
引数が1か2の時 (2004/08/09) 引数が3か4の時 (2004/08/09)
Recursive Patterns
再帰のパターン: every (2004/08/10) 再帰のパターン: accumulate (2004/08/10) 再帰のパターン: keep (2004/08/10)
Regular Expression Searches
11.1 sentence-endのための正規表現 (2004/08/10)The regular expression for sentence-end.11.2 関数 re-search-forward(2004/08/10)Very similar to search-forward.11.3 forward-sentence(2004/08/10)A straightforward example of regexp search. 11.4 forward-paragraph:関数の宝庫 (2004/08/10)A somewhat complex example. 11.5 専用タグファイルの作成方法 (2004/08/10) How to create your own `TAGS' table. 11.6 復 習 (2004/08/10) 11.7 re-search-forwardの演習問題
forward-sentence
forward-sentenceの完全な定義whileループTwo whileloops.正規表現の探索 (2004/08/10) A regular expression search.
forward-paragraph: a Goldmine of Functions
短縮した forward-paragraphの関数定義Key parts of the function definition. let*式 (2004/08/10)The let*expression.先へ進める whileループ (2004/08/10)The forward motion whileloop.Between paragraphs Movement between paragraphs. 段落の中 Movement within paragraphs. 詰め込み接頭辞なし When there is no fill prefix. 詰め込み接頭辞あり When there is a fill prefix. まとめ Summary of forward-paragraphcode.
Counting: Repetition and Regexps
数の数え上げ 12.1 関数 count-words-region(2004/08/10)Use a regexp, but find a problem. 12.2 再帰による単語の数え上げ (2004/08/10) Start with case of no words in region. 12.3 演習問題:句読点の数え上げ
Thecount-words-regionFunction
count-words-regionを設計The definition using a whileloop.12.1.1 count-words-regionの空白に関するバグ (2004/08/10)The Whitespace Bug in count-words-region.
Counting Words in adefun
分割と克服 13.1 何を数えるか? (2004/08/10) What to count? 13.2 単語やシンボルを構成するものは何か? (2004/08/10) What constitutes a word or symbol? 13.3 関数 count-words-in-defun(2004/08/10)Very like count-words.13.5 ファイルを探す (2004/08/10) Do you want to look at a file? 13.6 lengths-list-fileの詳細 (2004/08/10)A list of the lengths of many definitions. 13.7 別のファイルの defuns内の単語の数え上げ (2004/08/10)Counting in definitions in different files. 13.8 別のファイルの再帰による単語の数え上げ (2004/08/10) Recursively counting in different files. 13.9 グラフ表示用データの準備 (2004/08/10) Prepare the data for display in a graph.
Count Words indefunsin Different Files
defunsの長さを決定する (2004/08/10)Return a list of the lengths of defuns. 13.7.1 関数 append(2004/08/10)Attach one list to another.
Prepare the Data for Display in a Graph
13.9.1 リストのソート(整列) (2004/08/10) Sorting lists. 13.9.2 ファイルのリストの作成 (2004/08/10) Making a list of files. 13.9.3 関数定義の数え上げ (2004/08/10)
Readying a Graph
グラフの列を表示 14.1 関数 graph-body-print(2004/08/10)How to print the body of a graph. 14.2 関数 recursive-graph-body-print(2004/08/10)14.3 軸表示の必要性 (2004/08/10) 14.4 演習問題
Your `.emacs' File
Emacs のデフォルト設定 15.1 サイト全体の初期化ファイル You can write site-wide init files. 15.2 defcustomを使って変数を定義 (2004/08/10)Emacs will write code for you. 15.3 ファイル`.emacs'入門 (2004/08/10) How to write a .emacs file.15.4 TextモードとAuto Fillモード (2004/08/10) Automatically wrap lines. 15.5 メールの別名 (2004/08/10) Use abbreviations for email addresses. 15.6 Indent Tabsモード(タブによる字下げ) (2004/08/10) Don't use tabs with TeX 15.7 キーバインド例 (2004/08/10) Create some personal keybindings. 15.8 キーマップ (2004/08/10) More about key binding. 15.9 ファイルのロード (2004/08/10) Load (i.e., evaluate) files automatically. 15.10 オートロード (2004/08/10) Make functions available. 15.11 簡単な拡張: line-to-top-of-window(2004/08/10)Define a function; bind it to a key. 15.12 X11の色指定 (2004/08/10) Colors in version 19 in X. 15.13 `.emacs' ファイルのその他の設定 (2004/08/10) 15.14 モード行の変更 (2004/08/10) How to customize your mode line.
Debugging
16.1 debug(2004/08/10)How to use the built-in debugger. 16.2 debug-on-entry(2004/08/10)Start debugging when you call a function. 16.3 debug-on-quitと(debug)(2004/08/10)Start debugging when you quit with C-g. 16.4 ソースレベルのデバッガ edebug(2006/04/06)How to use Edebug, a source level debugger. 16.5 デバッグの演習問題
Handling the Kill Ring
B.1 関数 rotate-yank-pointer(2004/08/10)Move a pointer along a list and around. B.2 yank(2004/08/10)Paste a copy of a clipped element. B.3 yank-pop(2004/08/10)Insert first element pointed to.
Therotate-yank-pointerFunction
rotate-yank-pointerの概略B.1.1 rotate-yank-pointerの本体 (2004/08/10)The body of rotate-yank-pointer.
The Body ofrotate-yank-pointer
"エラー"という単語へ脱線 How to mislead humans, but not computers. if式の偽の場合の動作The else-part of the ifexpression.剰余関数 %The remainder, %, function.rotate-yank-pointerにおける%の利用Using %inrotate-yank-pointer.最後の要素を指す Pointing to the last element.
yank
引数の渡し方 Pass the argument to rotate-yank-pointer.負の引数を渡す Pass a negative argument.
A Graph with Labelled Axes
グラフにレベルをつける例 C.1 print-graphの変数リスト (2004/08/10)letexpression inprint-graph.C.2 関数 print-Y-axis(2004/08/10)Print a label for the vertical axis. C.3 関数 print-X-axis(2004/08/10)Print a horizontal label. C.4 グラフ全体の表示 (2004/08/11) The function to print a complete graph.
Theprint-Y-axisFunction
ラベルの高さは? What height for the Y axis? C.2.1 余りの計算 (2004/08/10) How to compute the remainder of a division. C.2.2 Y軸の要素の作成 (2004/08/10) Construct a line for the Y axis. C.2.3 Y軸のコラムの作成 (2004/08/10) Generate a list of Y axis labels. C.2.4 print-Y-axisの最終直前版 (2004/08/10)A not quite final version.
Theprint-X-axisFunction
類似点と相違点 Much like print-Y-axis, but not exactly.C.3.1 X軸の目盛 (2004/08/10) Create tic marks for the horizontal axis.
Printing the Whole Graph
最終版での変更 A few changes. C.4.1 print-graphのテスト (2004/08/10)Run a short test. C.4.2 単語やシンボルの個数のグラフ (2004/08/11) Executing the final code. C.4.3 lambda式:便利な無名性 (2004/08/11)How to write an anonymous function. C.4.4 関数 mapcar(2004/08/11)Apply a function to elements of a list. C.4.5 別のバグ ... もっとも潜在的 (2004/08/11) Yet another bug ... most insidious. C.4.6 グラフ (2004/08/10) The graph itself!