Next: simplified-beginning-of-buffer, Up: Buffer Walk Through [Contents][Index]
このウォークスルーで出会うことになる新しい関数について、あるときは詳細に別のときには簡潔に説明するつもりです。あなたがもし興味をもった場合には、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
を実行してこのマニュアル内のすべてのノードを記録済みの場合;
Create Tags Table in The GNU Emacs Manualを参照)。
xref-find-definitions
を使うにはM-.をタイプして(METAキーを押したままピリオドのキーを押下するか、あるいはESCキーを押した後にピリオドキーを押下する)、その後に入力を求められるので、mark-whole-buffer
のようにソースコード内の確認したい関数名ををタイプしてからRETをタイプしてください(コマンドが入力を求めるプロンプトを表示しない場合にはC-u
M-.のように引数とともに呼び出す; Interactive Optionsを参照)。Emacsがバッファーを切り替えてその関数のソースコードをスクリーンに表示するでしょう10。元のカレントバッファーに戻るにはM-,またはC-x
b RETをタイプしてください(一部のキーボードではMETAキーにALTのラベルが貼られています)。
ちなみにLispコードを含んだファイルは、慣例的にライブラリー(library: 図書館)と呼ばれています。これは一般向けの図書館ではなく、法律図書館や工学図書館のように専門的図書館から派生したメタファーです。ライブラリーあるいはファイルにはそれぞれ、たとえば略語やその他のショートカットのタイピングを扱うためのabbrev.el、ヘルプにはhelp.elのように、特定のトピックやアクティビティに関する関数が含まれているからです(各種のrmail…ファイルが電子メール閲覧用のコードを提供する場合のように、複数ライブラリーで単一アクティビティが提供される場合もある)。The GNU Emacs Manualでは“The C-h p command lets you search the standard Emacs Lisp libraries by topic keywords.(C-h pコマンドによってEmacs Lisp標準ライブラリーをトピックキーワードで検索できる)”のようなセンテンスを目にする機会があるでしょう。
そのLisp関数のソースコードが表示されずEmacsがvisitするtagテーブルを尋ねてくる場合には、メジャーモードがEmacs LispモードかLisp InteractionモードであるようなバッファーからM-.を呼び出してください。