Динамически загружаемая библиотека — это библиотека, которая загружается по требованию, когда впервые требуются ее возможности. Emacs поддерживает такую загрузку библиотек поддержки для некоторых своих функций.
Это список динамических библиотек и внешних файлов библиотек, которые их реализуют.
Каждый элемент представляет собой список вида
(библиотека файлы…), где 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.
Эта переменная игнорируется, если указанная библиотека статически связана с Emacs.