aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorWilliam M. Perry1999-12-31 15:54:44 +0000
committerWilliam M. Perry1999-12-31 15:54:44 +0000
commitbc28370787eb85b1df6dfa89b015750b60fb69d5 (patch)
tree7b6d98c301025ee102d457def8728472d68be6a0 /lisp
parent63448a4dc2fbe334435eeef39fa03e3b350a866a (diff)
downloademacs-bc28370787eb85b1df6dfa89b015750b60fb69d5.tar.gz
emacs-bc28370787eb85b1df6dfa89b015750b60fb69d5.zip
* image.el (defimage): Images with the :data keyword should be considered valid as well.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/image.el26
2 files changed, 21 insertions, 10 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index db484cfa2b3..226376bdba1 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
11999-12-31 William M. Perry <wmperry@aventail.com>
2
3 * image.el (defimage): Images with the `:data' keyword should be
4 considered valid as well.
5
11999-12-31 Richard M. Stallman <rms@caffeine.ai.mit.edu> 61999-12-31 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2 7
3 * dired.el (dired-get-filename): Don't call file-name-absolute-p 8 * dired.el (dired-get-filename): Don't call file-name-absolute-p
diff --git a/lisp/image.el b/lisp/image.el
index 1e4aea4d709..9b28d4f2eb2 100644
--- a/lisp/image.el
+++ b/lisp/image.el
@@ -72,7 +72,7 @@ Image types are symbols like `xbm' or `jpeg'."
72 "Create an image which will be loaded from FILE. 72 "Create an image which will be loaded from FILE.
73Optional TYPE is a symbol describing the image type. If TYPE is omitted 73Optional TYPE is a symbol describing the image type. If TYPE is omitted
74or nil, try to determine the image file type from its first few bytes. 74or nil, try to determine the image file type from its first few bytes.
75If that doesn't work, use FILE's extension.as image type. 75If that doesn't work, use FILE's extension as image type.
76Optional PROPS are additional image attributes to assign to the image, 76Optional PROPS are additional image attributes to assign to the image,
77like, e.g. `:heuristic-mask t'. 77like, e.g. `:heuristic-mask t'.
78Value is the image created, or nil if images of type TYPE are not supported." 78Value is the image created, or nil if images of type TYPE are not supported."
@@ -164,10 +164,12 @@ documentation string.
164 164
165Each image specification in SPECS is a property list. The contents of 165Each image specification in SPECS is a property list. The contents of
166a specification are image type dependent. All specifications must at 166a specification are image type dependent. All specifications must at
167least contain the properties `:type TYPE' and `:file FILE', where TYPE 167least contain the properties `:type TYPE' and either `:file FILE' or
168is a symbol specifying the image type, e.g. `xbm', and FILE is the 168`:data DATA', where TYPE is a symbol specifying the image type,
169file to load the image from. The first image specification whose TYPE 169e.g. `xbm', FILE is the file to load the image from, and DATA is a
170is supported, and FILE exists, is used to define SYMBOL. 170string containing the actual image data. The first image
171specification whose TYPE is supported, and FILE exists, is used to
172define SYMBOL.
171 173
172Example: 174Example:
173 175
@@ -176,13 +178,17 @@ Example:
176 (let (image) 178 (let (image)
177 (while (and specs (null image)) 179 (while (and specs (null image))
178 (let* ((spec (car specs)) 180 (let* ((spec (car specs))
181 (data (plist-get spec :data))
179 (type (plist-get spec :type)) 182 (type (plist-get spec :type))
180 (file (plist-get spec :file))) 183 (file (plist-get spec :file)))
181 (when (and (image-type-available-p type) (stringp file)) 184 (when (and (image-type-available-p type) ; Image type is supported
182 (setq file (expand-file-name file data-directory)) 185 (or data (stringp file))) ; Data or file was specified
183 (when (file-readable-p file) 186 (if data
184 (setq image (cons 'image (plist-put spec :file file))))) 187 (setq image (cons 'image spec))
185 (setq specs (cdr specs)))) 188 (setq file (expand-file-name file data-directory))
189 (when (file-readable-p file)
190 (setq image (cons 'image (plist-put spec :file file)))))
191 (setq specs (cdr specs)))))
186 `(defvar ,symbol ',image ,doc))) 192 `(defvar ,symbol ',image ,doc)))
187 193
188 194