Next: , Previous: , Up: Loading   [Contents][Index]


15.8 Which File Defined a Certain Symbol

Function: symbol-file symbol &optional type

この関数は、symbolを定義しているファイルの名前をリターンします。typenilの場合は、どのようなタイプの定義も受け入れられます。typedefunの場合は関数定義、defvarは変数定義、deffaceはフェイス定義だけを指定します。

値は通常、絶対ファイル名です。定義がどのファイルにも関係しないときは、nilになることもあります。symbolがオートロード関数を指定する場合、値が拡張子なしの相対ファイル名になることもあります。

symbol-fileは変数load-history.<の値にもとづいています。

Variable: load-history

この変数の値は、ロードされたライブラリーファイルの名前を、それらが定義する関数と変数の名前、およびそれらがプロバイドまたはリクワイアするフィーチャに関連付けるalistです。

このalist内の各要素は、1つのロード済みライブラリー(スタートアップ時にプリロードされたライブラリーを含む)を記述します。要素はCARがライブラリーの絶対ファイル名(文字列)のリストです。残りのリスト要素は、以下の形式です:

var

シンボルvarが変数として定義された。

(defun . fun)

関数funが定義された。

(t . fun)

関数funは、このライブラリーがそれを関数として再定義する前はオートロードとして定義されていた。後続の要素は常に(defun . fun)で、これはfunを関数として定義する。

(autoload . fun)

関数funはオートロードとして定義された。

(defface . face)

フェイスfaceが定義された。

(require . feature)

フィーチャfeatureがリクワイアされた。

(provide . feature)

フィーチャfeatureがプロバイドされた。

load-historyの値には、CARnilの要素が1つ含まれるかもしれません。この要素は、ファイルをvisitしていないバッファーでのeval-bufferで作成された定義を記述します。

コマンドeval-regionload-historyを更新しますが、要素を置き換えずに、visitされているファイルの要素にたいして定義されたシンボルを追加します。Evalを参照してください。