From 00f113eb562a8f0c1b38592bf8346d4ecf942b2c Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Fri, 15 Oct 2010 12:49:07 +0200 Subject: [PATCH] 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.) --- doc/lispref/ChangeLog | 9 +++++++ doc/lispref/display.texi | 28 +++++----------------- doc/lispref/os.texi | 52 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+), 22 deletions(-) diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index a5f3ce34371..f5878dfed74 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,12 @@ +2010-10-15 Eli Zaretskii + + * 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 * book-spine.texinfo: Rename to book-spine.texi. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 037c334ab88..f4092cfa7ea 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 8548ce05047..e99e3fe89d8 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 -- 2.39.5