Document changes made in 2010-10-13T14:50:06Z!lekktu@gmail.com.

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:06Z!lekktu@gmail.com.)
This commit is contained in:
Juanma Barranquero 2010-10-15 12:49:07 +02:00 committed by Eli Zaretskii
parent 68f6bd17e5
commit 00f113eb56
3 changed files with 67 additions and 22 deletions

View file

@ -1,3 +1,12 @@
2010-10-15 Eli Zaretskii <eliz@gnu.org>
* 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:06Z!lekktu@gmail.com.)
2010-10-12 Glenn Morris <rgm@gnu.org>
* book-spine.texinfo: Rename to book-spine.texi.

View file

@ -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

View file

@ -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