summaryrefslogtreecommitdiff
path: root/devdocs/elisp/dynamic-libraries.html
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2024-04-07 13:41:34 -0500
committerCraig Jennings <c@cjennings.net>2024-04-07 13:41:34 -0500
commit754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 (patch)
treef1190704f78f04a2b0b4c977d20fe96a828377f1 /devdocs/elisp/dynamic-libraries.html
new repository
Diffstat (limited to 'devdocs/elisp/dynamic-libraries.html')
-rw-r--r--devdocs/elisp/dynamic-libraries.html23
1 files changed, 23 insertions, 0 deletions
diff --git a/devdocs/elisp/dynamic-libraries.html b/devdocs/elisp/dynamic-libraries.html
new file mode 100644
index 00000000..32dd6e2e
--- /dev/null
+++ b/devdocs/elisp/dynamic-libraries.html
@@ -0,0 +1,23 @@
+ <h3 class="section">Dynamically Loaded Libraries</h3> <p>A <em>dynamically loaded library</em> is a library that is loaded on demand, when its facilities are first needed. Emacs supports such on-demand loading of support libraries for some of its features. </p> <dl> <dt id="dynamic-library-alist">Variable: <strong>dynamic-library-alist</strong>
+</dt> <dd>
+<p>This is an alist of dynamic libraries and external library files implementing them. </p> <p>Each element is a list of the form <code>(<var>library</var> <var>files</var>…)</code>, where the <code>car</code> is a symbol representing a supported external library, and the rest are strings giving alternate filenames for that library. </p> <p>Emacs tries to load the library from the files in the order they appear in the list; if none is found, the Emacs session won’t have access to that library, and the features it provides will be unavailable. </p> <p>Image support on some platforms uses this facility. Here’s an example of setting this variable for supporting images on MS-Windows: </p> <div class="example"> <pre class="example">(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")))
+</pre>
+</div> <p>Note that image types <code>pbm</code> and <code>xbm</code> do not need entries in this variable because they do not depend on external libraries and are always available in Emacs. </p> <p>Also note that this variable is not meant to be a generic facility for accessing external libraries; only those already known by Emacs can be loaded through it. </p> <p>This variable is ignored if the given <var>library</var> is statically linked into Emacs. </p>
+</dd>
+</dl><div class="_attribution">
+ <p class="_attribution-p">
+ Copyright &copy; 1990-1996, 1998-2022 Free Software Foundation, Inc. <br>Licensed under the GNU GPL license.<br>
+ <a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Dynamic-Libraries.html" class="_attribution-link">https://www.gnu.org/software/emacs/manual/html_node/elisp/Dynamic-Libraries.html</a>
+ </p>
+</div>