ここでは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はすべてのサフィックスをテストして、一番新しいファイルを使用する。