1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-14 03:37:38 -08:00

* image.el (defimage): Images with the :data keyword should be considered valid as well.

This commit is contained in:
William M. Perry 1999-12-31 15:54:44 +00:00
parent 63448a4dc2
commit bc28370787
2 changed files with 21 additions and 10 deletions

View file

@ -1,3 +1,8 @@
1999-12-31 William M. Perry <wmperry@aventail.com>
* image.el (defimage): Images with the `:data' keyword should be
considered valid as well.
1999-12-31 Richard M. Stallman <rms@caffeine.ai.mit.edu>
* dired.el (dired-get-filename): Don't call file-name-absolute-p

View file

@ -72,7 +72,7 @@ Image types are symbols like `xbm' or `jpeg'."
"Create an image which will be loaded from FILE.
Optional TYPE is a symbol describing the image type. If TYPE is omitted
or nil, try to determine the image file type from its first few bytes.
If that doesn't work, use FILE's extension.as image type.
If that doesn't work, use FILE's extension as image type.
Optional PROPS are additional image attributes to assign to the image,
like, e.g. `:heuristic-mask t'.
Value is the image created, or nil if images of type TYPE are not supported."
@ -164,10 +164,12 @@ documentation string.
Each image specification in SPECS is a property list. The contents of
a specification are image type dependent. All specifications must at
least contain the properties `:type TYPE' and `:file FILE', where TYPE
is a symbol specifying the image type, e.g. `xbm', and FILE is the
file to load the image from. The first image specification whose TYPE
is supported, and FILE exists, is used to define SYMBOL.
least contain the properties `:type TYPE' and either `:file FILE' or
`:data DATA', where TYPE is a symbol specifying the image type,
e.g. `xbm', FILE is the file to load the image from, and DATA is a
string containing the actual image data. The first image
specification whose TYPE is supported, and FILE exists, is used to
define SYMBOL.
Example:
@ -176,13 +178,17 @@ Example:
(let (image)
(while (and specs (null image))
(let* ((spec (car specs))
(data (plist-get spec :data))
(type (plist-get spec :type))
(file (plist-get spec :file)))
(when (and (image-type-available-p type) (stringp file))
(setq file (expand-file-name file data-directory))
(when (file-readable-p file)
(setq image (cons 'image (plist-put spec :file file)))))
(setq specs (cdr specs))))
(when (and (image-type-available-p type) ; Image type is supported
(or data (stringp file))) ; Data or file was specified
(if data
(setq image (cons 'image spec))
(setq file (expand-file-name file data-directory))
(when (file-readable-p file)
(setq image (cons 'image (plist-put spec :file file)))))
(setq specs (cdr specs)))))
`(defvar ,symbol ',image ,doc)))