この解説では、新しい関数が登場するたびに、その機能について、時には詳細に、時には簡潔に説明していきます。ご興味があれば、C-h f と入力して関数名を入力し(その後 RET と入力する)ことで、いつでも任意の Emacs Lisp 関数の完全なドキュメントを参照できます。同様に、C-h v と入力して変数名を入力し(その後 RET と入力する)ことで、変数の完全なドキュメントを参照できます。
また、describe-function で関数定義の位置が分かります。
関数を含むファイル名にポイントを置き、RET キーを押します。この場合、RET は「return」や「enter」ではなく、push-button を意味します。Emacs は関数定義へ直接移動します。
より一般的に、関数を元のソースファイルで確認したい場合は、xref-find-definitions
関数を使ってそこへジャンプできます。xref-find-definitions は Lisp や C
だけでなく、幅広い言語に対応しており、プログラミング以外のテキストでも動作します。例えば、xref-find-definitions はこのドキュメントの Texinfo
ソースファイル内にある各種ノードへジャンプします(ただし、Emacs に付属するマニュアルのすべてのノードを記録するために etags ユーティリティを実行していることが条件です。The
GNU Emacs Manual の Create
Tags Table を参照してください)。
xref-find-definitions コマンドを使用するには、M-. と入力します(つまり、META
キーを押したままピリオドキーを押すか、あるいは ESC
キーを入力した後にピリオドキーを押します)。次に、プロンプトが表示されたら、mark-whole-buffer のようにソースコードを確認したい関数名を入力し、続けて RET と入力します。(コマンドのプロンプトが表示されない場合は、引数を指定して呼び出します:C-u M-.。interactive
の各種オプションを参照してください。)Emacs はバッファを切り替え、関数のソースコードを画面に表示します11。現在のバッファに戻るには、M-, または
C-x b RET
と入力します。(一部のキーボードでは、META キーに ALT というラベルが付いています。)
ちなみに、Lispコードを含むファイルは、慣習的にライブラリと呼ばれます。この比喩は、一般的な図書館ではなく、法律図書館や工学図書館のような専門図書館に由来しています。各ライブラリ(またはファイル)には、略語やその他の入力ショートカットを扱うためのabbrev.elや、ヘルプ用のhelp.elなど、特定のトピックや用途に関連する関数が含まれています。(複数のライブラリが単一の用途のためのコードを提供している場合もあり、例えば各種のrmail…ファイルは電子メールの閲覧のためのコードを提供しています。)The GNU Emacs Manualでは、「C-h pコマンドを使用すると、トピックキーワードで標準のEmacs Lispライブラリを検索できます」といった記述が見られます。
Lisp関数のソースコードを表示する代わりに、Emacsがどのタグテーブルを参照すべきか尋ねてきた場合は、メジャーモードがEmacs LispまたはLisp InteractionであるバッファからM-.を呼び出してください。