aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorJuanma Barranquero <[email protected]>2010-10-15 12:49:07 +0200
committerEli Zaretskii <[email protected]>2010-10-15 12:49:07 +0200
commit00f113eb562a8f0c1b38592bf8346d4ecf942b2c (patch)
treeeef5419b5eb5e59a94b457351b724a12a8050a73 /doc
parent68f6bd17e5ecd16961702fc8c66639d589baadee (diff)
Document changes made in 2010-10-13T14:50:[email protected].
os.texi (Dynamic Libraries): New node, with slightly modified text deleted from "Image Formats". (System Interface): Add @menu entry for "Dynamic Libraries". display.texi (Image Formats): Remove description of image-library-alist. (Renamed in 2010-10-13T14:50:[email protected].)
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/ChangeLog9
-rw-r--r--doc/lispref/display.texi28
-rw-r--r--doc/lispref/os.texi52
3 files changed, 67 insertions, 22 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index a5f3ce3437..f5878dfed7 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,12 @@
+2010-10-15 Eli Zaretskii <[email protected]>
+
+ * os.texi (Dynamic Libraries): New node, with slightly modified
+ text deleted from "Image Formats".
+ (System Interface): Add @menu entry for "Dynamic Libraries".
+
+ * display.texi (Image Formats): Remove description of
+ image-library-alist. (Renamed in 2010-10-13T14:50:[email protected].)
+
2010-10-12 Glenn Morris <[email protected]>
* book-spine.texinfo: Rename to book-spine.texi.
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 037c334ab8..f4092cfa7e 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -4055,10 +4055,12 @@ displayed (@pxref{Display Feature Testing}).
Emacs can display a number of different image formats; some of them
are supported only if particular support libraries are installed on
-your machine. In some environments, Emacs can load image
-libraries on demand; if so, the variable @code{image-library-alist}
-can be used to modify the set of known names for these dynamic
-libraries (though it is not possible to add new image formats).
+your machine. In some environments, Emacs can load support libraries
+on demand; if so, the variable @code{dynamic-library-alist}
+(@pxref{Dynamic Libraries}) can be used to modify the set of known
+names for these dynamic libraries (though it is not possible to add
+new image formats). Note that image types @code{pbm} and @code{xbm}
+do not depend on external libraries and are always available in Emacs.
The supported image formats include XBM, XPM (this requires the
libraries @code{libXpm} version 3.4k and @code{libz}), GIF (requiring
@@ -4082,24 +4084,6 @@ To know which image types are really available, use
@code{image-type-available-p}.
@end defvar
-@defvar image-library-alist
-This in an alist of image types vs external libraries needed to
-display them.
-
-Each element is a list @code{(@var{image-type} @var{library}...)},
-where the car is a supported image format from @code{image-types}, and
-the rest are strings giving alternate filenames for the corresponding
-external libraries to load.
-
-Emacs tries to load the libraries in the order they appear on the
-list; if none is loaded, the running session of Emacs won't support
-the image type. @code{pbm} and @code{xbm} don't need to be listed;
-they're always supported.
-
-This variable is ignored if the image libraries are statically linked
-into Emacs.
-@end defvar
-
@defun image-type-available-p type
This function returns non-@code{nil} if image type @var{type} is
available, i.e., if images of this type can be loaded and displayed in
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index 8548ce0504..e99e3fe89d 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -37,6 +37,7 @@ terminal and the screen.
* X11 Keysyms:: Operating on key symbols for X Windows.
* Batch Mode:: Running Emacs without terminal interaction.
* Session Management:: Saving and restoring state with X Session Management.
+* Dynamic Libraries:: On-demand loading of support libraries.
@end menu
@node Starting Up
@@ -2186,6 +2187,57 @@ Emacs is restarted by the session manager.
@end group
@end example
+@node Dynamic Libraries
+@section Dynamically Loaded Libraries
+@cindex dynamic libraries
+
+ A @dfn{dynamically loaded library} 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.
+
+@defvar dynamic-library-alist
+This is an alist of dynamic libraries and external library files
+implementing them.
+
+Each element is a list of the form
+@w{@code{(@var{library} @var{files}@dots{})}}, where the @code{car} is
+a symbol representing a supported external library, and the rest are
+strings giving alternate filenames for that library.
+
+Emacs tries to load the library from the files in the order they
+appear in the list; if none is found, the running session of Emacs
+won't have access to that library, and the features that depend on the
+library will be unavailable.
+
+Image support on some platforms uses this facility. Here's an example
+of setting this variable for supporting images on MS-Windows:
+
+@lisp
+(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")))
+@end lisp
+
+Note that image types @code{pbm} and @code{xbm} do not need entries in
+this variable because they do not depend on external libraries and are
+always available in Emacs.
+
+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.
+
+This variable is ignored if the given @var{library} is statically
+linked into Emacs.
+@end defvar
+
@ignore
arch-tag: 8378814a-30d7-467c-9615-74a80b9988a7
@end ignore