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


16.2 ロードでの拡張子

ここではloadが試行するサフィックスについて、技術的な詳細を説明します。

Variable: load-suffixes

これは(ソースまたはコンパイル済みの)Emacs Lispファイルを示すサフィックスのリストである。空の文字列が含まないこと。loadは指定されたファイル名にLispファイルのサフィックスを追加するときに、これらのサフィックスを使用する。標準的な値は(".elc" ".el")で、これは前のセクションで説明した振る舞いとなる。

Variable: load-file-rep-suffixes

これは同じファイルにたいして異なる表現を示すサフィックスのリストである。このリストは空の文字列から開始されること。loadはファイルを検索するときは、他のファイルを検索する前にこのリストのサフィックスを順番にファイル名に追加する。

Auto Compressionモードを有効にすることによりjka-compr-load-suffixesのサフィックスがこのリストに追加され、無効にすると再びリストから取り除かれる。load-file-rep-suffixesの標準的な値は、Auto Compressionモードが無効なら("")jka-compr-load-suffixesの標準的な値が(".gz")であることを考慮すると、Auto Compressionモードが有効な場合のload-file-rep-suffixesの標準的な値は("" ".gz")である。

Function: get-load-suffixes

この関数はmust-suffix引数が非nilのときは、loadが試みるべきすべてのサフィックスを順番にしたがったリストでリターンする。この関数はload-suffixesload-file-rep-suffixesの両方を考慮する。load-suffixesjka-compr-load-suffixesload-file-rep-suffixesがすべて標準的な値の場合、この関数はAuto Compressionモードが有効なら(".elc" ".elc.gz" ".el" ".el.gz")、無効なら(".elc" ".el")をリターンする。

まとめると、loadは通常まず(get-load-suffixes)の値のサフィックスを試み、次にload-file-rep-suffixesを試みる。nosuffixが非nilなら前者がスキップされ、must-suffixが非nilなら後者がスキップされる。

User Option: load-prefer-newer

このオプションが非nilなら、ファイルが見つかった最初のサフィックスで停止せずに、loadはすべてのサフィックスをテストして、一番新しいファイルを使用する。