ここではload
が試行するサフィックスについて、技術的な詳細を説明します。
これは(ソースまたはコンパイル済みの)Emacs
Lispファイルを示すサフィックスのリストである。空の文字列が含まないこと。load
は指定されたファイル名にLispファイルのサフィックスを追加するときに、これらのサフィックスを使用する。標準的な値は(".elc"
".el")
で、これは前のセクションで説明した振る舞いとなる。
これは同じファイルにたいして異なる表現を示すサフィックスのリストである。このリストは空の文字列から開始されること。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")
である。
この関数はmust-suffix引数が非nil
のときは、load
が試みるべきすべてのサフィックスを順番にしたがったリストでリターンする。この関数はload-suffixes
とload-file-rep-suffixes
の両方を考慮する。load-suffixes
、jka-compr-load-suffixes
、load-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
なら後者がスキップされる。
このオプションが非nil
なら、ファイルが見つかった最初のサフィックスで停止せずに、load
はすべてのサフィックスをテストして、一番新しいファイルを使用する。