動的ロードライブラリとは、その機能が初めて必要になった際に、オンデマンドでロードされるライブラリのことです。Emacsでは、一部の機能向けに、サポートライブラリのこのようなオンデマンドロードをサポートしています。
これは、動的ライブラリと、それらを実装する外部ライブラリファイルのalistです。
各要素は (library files…) 形式のリストであり、ここで car
はサポートされている外部ライブラリを表すシンボル、それ以外はそのライブラリの代替ファイル名を示す文字列となっています。
Emacsは、リストに並んでいる順にファイルからライブラリを読み込もうとします。もし一つも見つからない場合、Emacsセッションはそのライブラリにアクセスできず、提供される機能も利用できなくなります。
一部のプラットフォームにおける画像サポートでは、この機能が利用されています。以下に、MS-Windowsで画像サポートを有効にするためのこの変数の設定例を示します。
(setq dynamic-library-alist
'((xpm "libxpm.dll" "xpm4.dll" "libXpm-nox4.dll")
(png "libpng12d.dll" "libpng12.dll" "libpng.dll"
"libpng13d.dll" "libpng13.dll")
(jpeg "jpeg62.dll" "libjpeg.dll" "jpeg-62.dll"
"jpeg.dll")
(tiff "libtiff3.dll" "libtiff.dll")
(gif "giflib4.dll" "libungif4.dll" "libungif.dll")
(svg "librsvg-2-2.dll")
(gdk-pixbuf "libgdk_pixbuf-2.0-0.dll")
(glib "libglib-2.0-0.dll")
(gobject "libgobject-2.0-0.dll")))
なお、画像タイプ pbm と xbm
は外部ライブラリに依存せず、Emacs で常に利用可能であるため、この変数にエントリを設ける必要はありません。
また、この変数は外部ライブラリにアクセスするための汎用的な仕組みとして意図されたものではなく、Emacsが既に認識しているライブラリのみを読み込める点にご注意ください。
指定された library が Emacs に静的にリンクされている場合、この変数は無視されます。