■やさしいEmacs-Lisp講座

  • 本書に関する メイリングリスト を開設しています。お気軽に参加してください。
  • 本書中に誤りがありました。お詫びして訂正いたします。お手数ですが 修正情報 をご覧いただくようお願い申し上げます。
  •  表紙         

     本書の特徴      

    UNIXの標準エディタとして有名なEmacs/Muleは、すべて Emacs-Lisp言語で制御されています。Emacs-Lispの知識があれば、 Emacs/Muleのカスタマイズ、独自の利用環境を作成するなど、 あらゆる制御をユーザー自身で行なうことができます。 ただ、Emacs-Lispは言語としてはやや難解であり、 多くのユーザーが望んでいるのにもかかわらず、 本当の意味でEmacs/Muleを使いこなしている人は少ないのです。

    本書は、国内で圧倒的に支持されているEmacs/Muleでの LaTeX利用モード「野鳥(やてふ)」の作者が、 「いかにしてEmacs-Lispを実用的に使いこなしていくか」について、 自身の経験を踏まえながら解説します。書名にあるように、“講座”風の読みやすい筆致により、読者は混乱なく自然に Emacs-Lispの使い方を身につけることができます。 また、多くの例題は、そのまま実用目的で使うことも可能です。

    .emacsを自由にカスタマイズしたい、自分専用のメジャーモードを作りたい、 便利なEmacs-Lispパッケージを作って世界進出をしたい、 すべてのEmacs/Muleユーザーが読者対象です。

     主要目次       

    はじめに
    
    第0講 下準備
       0.1 *scratch*バッファで遊ぼう!
       0.2 説明文中のLispについて
       0.3 作成したプログラムの保存
    
    第1講 メジャーモードを作ろう!
       1.1 メジャーモードとは
       1.2 メジャーモードの必須条件
         1.2.1 モード名の設定
         1.2.2 キーマップの設定
       1.3 メジャーモード関数の定義
         1.3.1 インタラクティブ関数
         1.3.2 関数を実際に定義する
       1.4 まとめ
       1.5 章末問題
    
    第2講 言語仕様の基礎を覚える
       2.1 関数
       2.2 インタラクティブ関数
       2.3 ラムダ式
       2.4 変数
         2.4.1 名前の衝突の回避
         2.4.2 変数の束縛
       2.5 制御構造
         2.5.1 条件
         2.5.2 その他
       2.6 数値
         2.6.1 数値演算
         2.6.2 一般算術関数
         2.6.3 型変換関数
         2.6.4 文字列への書式付き変換
       2.7 文字/文字列
       2.8 その他の便利な関数
       2.9 まとめ
       2.10 章末問題
    
    第3講 基本編集関数をおさえる
       3.1 移動系関数
         3.1.1 移動境界の検査
         3.1.2 相対移動
         3.1.3 絶対移動
       3.2 検索系移動関数
         3.2.1 単純文字列検索
         3.2.2 文字種スキップ
         3.2.3 正規表現検索
         3.2.4 正規表現検索関数
         3.2.5 検索結果の参照
       3.3 編集系関数
         3.3.1 削除系関数
         3.3.2 挿入系関数
         3.3.3 置換
       3.4 移動と編集関数の組合せ
         3.4.1 簡単な表計算
         3.4.2 マーカー
         3.4.3 ナローイング
       3.5 まとめ
       3.6 章末問題
       
    第4講 デバッグ
       4.1 プログラムの入力
         4.1.1シンボルの補完
         4.1.2 インデント
         4.1.3 関数の検索と解説の参照
       4.2 評価とデバッグ
         4.2.1 printデバッグ
         4.2.2 Edebug
       4.3 まとめ
       4.4 章末問題
    
    第5講 入力インタフェースとリスト
       5.1 一般入力関数
       5.2 補完入力関数
       5.3 リスト
         5.3.1 リスト処理関数
         5.3.2 リストの仕組み
         5.3.3 リスト処理関数の続き
         5.3.4 Lispらしい処理
       5.4  補完関数
       5.5 随時補完の例題
       5.6 まとめ
       5.7 章末問題
    
    第6講 バッファ,ウィンドウ,ファイルを自在に操る
       6.1 バッファ
         6.1.1 バッファ操作関数
         6.1.2 バッファローカル変数
       6.2 ウィンドウ
       6.3 ファイル
       6.4 章末問題
    
    第7講 フレーム
       7.1 フレームオブジェクト
       7.2 フレーム操作関数
       7.3 マウス
       7.4 章末問題
    
    第8講 OSとのインタフェース
       8.1 ファイル操作
         8.1.1 パス名の操作
       8.2 プロセス制御
         8.2.1 call-process
         8.2.2 start-process
         8.2.3 プロセスとの対話
       8.3 まとめ
       8.4 章末問題
    
    第9講 パッケージ作成に必要なこと
       9.1 モジュールの分割
       9.2 作業バッファの処理
       9.3 hook
       9.4 状態の保存
         9.4.1 ポイント位置の保存
         9.4.2 ウィンドウ状態の保存
       9.5 関数・変数の定義状況の検査
       9.6 関数の置き換え
       9.7 定義の抹消
       9.8 配列
       9.9 シンボルの操作
       9.10 obarray
       9.11 キーマップの継承
         9.11.1 標準キーマップの継承
       9.12 ミニバッファでの独自補完関数
       9.13 プロパティリスト
       9.14 動作時のエラー回避}
         9.14.1 エラーシグナル
       9.15 学習
       9.16 ドキュメンテーション
       9.17 そして公開
         9.17.1 清書
         9.17.2 公開
       9.18 まとめ
    あとがき


    GoTo... Top, Book