| [Top] | [Contents] | [Index] | [ ? ] | 
この Info ファイルは、Programming in Emacs Lisp (An introduction) 1.05 版の日本語訳です。翻訳元のファイルは GNU の配布の中に含まれている `emacs-lisp-intro-1.05.tar.gz' です。
序文 1. List 処理 Lisp って何? 2. 実際の評価の仕方 3. 関数定義の書き方 4. バッファに関する幾つかの関数 5. もう少し複雑な関数 6. ナローイングとワイドニング Emacs の注意を特定のリージョンにせばめる 7. car,cdr,cons:基本関数Lisp における基本的な関数 8. テキストの切り取りと保存 9. リストはどのように実装されているか 10. テキストのヤンク 11. ループと再帰 12. 正規表現の検索 13. カウント:繰り返しと正規表現 14. defun内の単語のカウント15. グラフを描く準備 16. `.emacs' ファイル 17. デバッグ Emacs Lisp のデバッガの走らせ方 18. まとめ A. 関数 the-theAppendix: だぶった単語を見つけるには B. Kill リングの扱い Appendix: kill リングはどう働いているか? C. ラベルと軸が付いたグラフ Index About the Author 
-- The Detailed Node Listing ---
Preface
このテキストを読むにあたって これは誰のために書かれたものか Lisp の歴史 初心者の人へ 謝辞 訳者まえがき 
List Processing
1.1 Lisp のリスト リストってなあに? 1.2 プログラムの実行 Lisp のリストはすぐに実行出来る 1.3 エラーメッセージの出力 1.4 シンボルの名前と関数定義 1.5 Lisp インタプリタ 1.6 評価 1.7 変数 1.8 引数 1.9 変数の値の設定 1.10 まとめ 1.11 練習問題 
Lisp Lists
1.1.1 Lisp のアトム 分解不可能な存在 1.1.2 リストの中の空白 1.1.3 GNU Emacs によるリストのタイプの支援 
The Lisp Interpreter
1.5.1 バイトコンパイル 
Evaluation
1.6.1 内部のリストの評価 
Variables
1.7.1 値のないシンボルに対するエラーメッセージ 
Arguments
ものもある
1.8.1 引数のデータ型 1.8.2 引数には変数の値やリストも使える 1.8.3 可変な数の引数 
1.8.4 関数に間違った型の引数を与えると 1.8.5 関数 messageメッセージを表示する時に便利な関数 
Setting the Value of a Variable
1.9.1 setの利用値の設定 1.9.2 setqの利用引用符をつけずに値を設定するには 1.9.3 カウント カウンタとしての setqの利用
Practicing Evaluation
で評価を実行出来る。
評価の仕方 編集コマンドのタイプするか C-x C-e 
2.1 バッファの名前 2.2 バッファの獲得 2.3 バッファ間の移動 2.4 バッファのサイズとポイントの位置 2.5 練習問題 
How To Write Function Definitions
プリミティブな関数について 幾つかの関数は C で書かれている 3.1 特殊形式 defun3.2 関数定義のインストール 3.3 関数をインタラクティブにする 3.4 interactiveの他のオプション3.5 コードをずっとインストールしておくには 3.6 let局所変数の作成と初期化 3.7 特殊形式 ifif とは? 3.8 If--then--else 式 3.9 Lisp における真と偽 3.10 save-excursionポイントやマークの位置、及びバッファの保存 3.11 復習 3.12 練習問題 
Install a Function Definition
3.2.1 関数定義の変更 
Make a Function Interactive
3.3.1 インタラクティブな multiply-by-sevenインタラクティブバージョン 
let
3.6.1 let式の構成部分3.6.2 let式の例3.6.3 let式の変数宣言の中で初期値を設定しなかった場合初期値をバインドしないとどうなるか 
TheifSpecial Form
3.7.1 関数 type-of-animalの詳細if式の例
save-excursion
3.10.1 save-excursion式のテンプレート埋めるべきスロットは一つだけ 
A Few Buffer--Related Functions
そして
4.1 情報の探し方 4.2 簡略版 beginning-of-bufferの定義goto-char,point-min,push-markを見てみよう
4.3 mark-whole-bufferの定義beginning-of-bufferと殆ど同じ4.4 append-to-bufferの定義save-excursionとinsert-buffer-substringを使う
4.5 復習 4.6 練習問題 
The Definition ofmark-whole-buffer
4.3.1 mark-whole-bufferの本体本体は三行しかない 
The Definition ofappend-to-buffer
4.4.1 インタラクティブ式 append-to-buffer二つの部分からなるインタラクティブ式 4.4.2 append-to-bufferの本体let式との組み合わせ4.4.3 append-to-bufferの中のsave-excursionsave-excursionはどう働くか
A Few More Complex Functions
て
5.1 copy-to-bufferの定義set-bufferとget-buffer-createを利用5.2 insert-bufferの定義書き込み不可 と orの使い方5.3 beginning-of-bufferの完全な定義goto-char,point-min, そしpush-markを見てみる
5.4 復習 5.5 &optional引数の練習問題&optional の練習問題 
The Definition ofinsert-buffer
5.2.1 insert-bufferの中のインタラクティブ式書き込み不可の状態の時の動作 5.2.2 関数 insert-bufferの本体部分本体には orとletがある5.2.3 orの代わりにifを使ったinsert-bufferorの代わりにifを使う5.2.4 本体部分の or5.2.5 insert-bufferの中のlet式二つの save-excursion式
The Interactive Expression ininsert-buffer
書き込み不可のバッファ インタラクティブ式の中の `b' 
Complete Definition ofbeginning-of-buffer
5.3.1 省略可能な引数 5.3.2 引数付きで呼び出された場合の beginning-of-buffer省略可能引数の例 5.3.3 完全版 beginning-of-buffer完全版 
beginning-of-bufferwith an Argument
大きなバッファの場合 小さなバッファの場合 
Narrowing and Widening
ナローイングの利点 6.1 特殊形式 save-restriction6.2 what-lineポイントは今何行目にあるか 6.3 ナローイングの練習問題 
car,cdr,cons:基本関数
奇妙な名前の由来 7.1 carとcdrリストの一部を取り出すための関数 7.2 consリストの構成 7.3 nthcdrcdrを何回もよびだす7.4 setcarリストの最初の要素の変更 7.5 setcdrリストの残りの要素の変更 7.6 練習問題 cons についての練習問題 
cons
7.2.1 リストの長さを調べる: lengthリストの長さを知る 
Cutting and Storing Text
リストへのテキストの保存 8.1 zap-to-charテキストをある文字まで削除する 8.2 kill-regionリージョンの削除 8.3 delete-region: ちょっと脱線して C の話を脱線: C で書かれた関数について 8.4 defvarを用いた変数の初期化変数に初期値を与える 8.5 copy-region-as-killテキストの複写の定義 8.6 復習 cons と search-forward の復習 8.7 検索についての練習問題 
zap-to-char
8.1.1 interactive式三つの部分からなるインタラクティブ式 8.1.2 zap-to-charの本体部分ちょっと復習 8.1.3 関数 search-forward文字列検索の仕方 8.1.4 関数 progn8.1.5 zap-to-charについての総括pointとsearch-forwardを使う8.1.6 Version 18 での実装 version 18 での実装 
The Version 18 Implementation
progn式の本体
copy-region-as-kill
8.5.1 copy-region-as-killの本体部分
The Body ofcopy-region-as-kill
関数 kill-appendcopy-region-as-killの else-part
How Lists are Implemented
9.1 練習問題 List についての練習問題 
Yanking Text Back
10.1 Kill リングについての概観 kill リングはリストである 10.2 変数 kill-ring-yank-pointer10.3 yankとnthcdrについての練習問題ヤンクと nthcdr についての練習問題 
Loops and Recursion
11.1 while特定のコードの繰り返し 11.2 再帰 11.3 ループについての練習問題 
while
11.1.1 whileループとリスト11.1.2 リストを使ったループの例: print-elements-of-listwhile,car,cdrの利用11.1.3 増加するカウンタを使ったループ 11.1.4 減少するカウンタを使ったループ 
A Loop with an Incrementing Counter
増加カウンタの例 関数定義の各部分 各部分の総合 
Loop with a Decrementing Counter
減少するカウンタを使った例 関数定義の各部分 各部分の総合 
Recursion
11.2.1 List を使った再帰 再帰のテストにリストを使う 11.2.2 カウンタの代わりに再帰を使う whileループを再帰で置き換える11.2.3 condを使った再帰の例別の条件分岐を用いた再帰の例 
Recursion in Place of a Counter
引数3の場合 
Regular Expression Searches
12.1 sentence-endの正規表現12.2 関数 re-search-forwardsearch-forwardとほぼ同じ12.3 forward-sentence正規表現検索の単純な例 12.4 forward-paragraph:関数の金脈もうちょっと複雑な例 12.5 自分自身の `TAGS' ファイルの作成 12.6 復習 12.7 re-search-forwardについての練習問題正規表現の練習問題 
forward-sentence
whileループ正規表現の検索 
forward-paragraph: a Goldmine of Functions
let*式前方に移動する場合の whileループパラグラフとパラグラフの間での動作 パラグラフの内部での動作 Fill prefix が無い場合 fill prefix が無い場合 Fill prefix がある場合 fill prefix が有る場合 まとめ forward-paragraphのまとめ
Counting: Repetition and Regexps
単語のカウント Emacs には単語を数えるコマンドが欠けている 13.1 関数 count-words-region正規表現を使う。でも問題が... 13.2 再帰を使った単語数のカウント 13.3 練習問題:句読点のカウント 
Thecount-words-regionFunction
13.1.1 count-words-regionの空白文字に関するバグ
Counting Words in adefun
Count Words indefunsin Different Files
14.7.1 関数 appendあるリストを別のリストに追加する 
Prepare the Data for Display in a Graph
14.9.1 リストのソート 14.9.2 ファイルのリストの作成 
Readying a Graph
棒グラフの表示 15.1 関数 graph-body-printグラフ本体の表示 15.2 関数 recursive-graph-body-printグラフ本体の表示を再帰的に行う 15.3 軸を表示する 15.4 練習問題 
Your `.emacs' File
Emacs のデフォルトの設定 16.1 サイトごとの初期化ファイル 16.2 あるセッションでの変数の設定 16.3 `.emacs' の書き方 .emacs fileの書き方16.4 Text モードと Auto Fill モード 自動的に行を折り返す 16.5 メールのエイリアス Email の短縮アドレス 16.6 Indent Tabs モード TeX ではタブを使わないようにするには 16.7 幾つかのキーバインディング 16.8 ファイルのロード 16.9 オートロード Autoload: 関数をすぐ使える状態に 16.10 ちょっとした拡張: line-to-top-of-window関数を定義し、キーにバインドする 16.11 キーマップ 16.12 X11 でのカラー表示 Version 19 の X 上でのカラー表示 16.13 V19 での雑多な事柄 ミニバッファを自動的なリサイズ etc. 16.14 モード行の修正 
Debugging
17.1 debug組み込みデバッガの使い方 17.2 debug-on-entry関数呼び出し時にデバッガを起動する 17.3 debug-on-quitと(debug)C-g を押した時にデバッガを起動する 17.4 ソースレベルのデバッガ edebugソースレベルのデバッガ Edebug 17.5 デバッグについての練習問題 
Handling the Kill Ring
B.1 関数 rotate-yank-pointerリストの中でのポインタの移動と巡回 B.2 yank切り取ったテキストを貼り付ける B.3 yank-popポインタが指しているテキストを貼り付ける 
Therotate-yank-pointerFunction
B.1.1 rotate-yank-pointerの本体
The Body ofrotate-yank-pointer
if式の else-part剰余関数 %rotate-yank-pointerの中での%の利用最後の要素を指している場合 
yank
引数の渡し方 rotate-yank-pointerに引数を渡す負の引数を渡すとどうなるか 
A Graph with Labelled Axes
ラベルのついたグラフのサンプル C.1 print-graphの変数リストprint-graphの中のlet式C.2 関数 print-Y-axis縦軸のラベルの表示 C.3 関数 print-X-axis横軸のラベルの表示 C.4 グラフ全体の表示 
Theprint-Y-axisFunction
C.2.1 寄り道: 剰余の計算 C.2.2 Y 軸の要素の構成 C.2.3 Y 軸全体の構成 C.2.4 print-Y-axis最終版縦軸の表示、最終版 
Theprint-X-axisFunction
C.3.1 X 軸の目盛記号 横軸に目盛記号を入れる 
Printing the Whole Graph
C.4.1 print-graphのテスト簡単なテスト C.4.2 単語やシンボルの数のグラフ化 C.4.3 表示されたグラフ 
Graphing Numbers of Words and Symbols
lambda式無名関数の書き方 関数 mapcar要素のリストに関数を作用させる まだバグがある...