summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/NEWS4
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/image.el5
-rw-r--r--src/ChangeLog8
-rw-r--r--src/image.c20
5 files changed, 32 insertions, 11 deletions
diff --git a/etc/NEWS b/etc/NEWS
index febdcfdc5f4..5f0dd4b6883 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -132,12 +132,14 @@ Secret Service API requires D-Bus for communication.
** Image API
*** When the image type is one of listed in `image-animated-types'
-and the number of sub-images in the image is more then one, then the
+and the number of sub-images in the image is more than one, then the
new function `create-animated-image' creates an animated image where
sub-images are displayed successively with the duration defined by
`image-animate-max-time' and the delay between sub-images defined
by the Graphic Control Extension of the image.
+*** `image-extension-data' is renamed to `image-metadata'.
+
** Progress reporters can now "spin".
The MIN-VALUE and MAX-VALUE arguments of `make-progress-reporter' can
now be nil, or omitted. This makes a "non-numeric" reporter. Each
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 09879e7913b..bdc40f44a2d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
+2010-03-31 Juri Linkov <juri@jurta.org>
+
+ * image.el (image-animated-p): Use `image-metadata' instead of
+ `image-extension-data'. Get GIF extenstion data from metadata
+ property `extension-data'.
+
2010-03-31 Stefan Monnier <monnier@iro.umontreal.ca>
* simple.el (append-to-buffer): Simplify.
diff --git a/lisp/image.el b/lisp/image.el
index 83ab6288e9a..67c1ad946b1 100644
--- a/lisp/image.el
+++ b/lisp/image.el
@@ -681,8 +681,9 @@ is the delay in 100ths of a second until the next sub-image
shall be displayed."
(cond
((eq (plist-get (cdr image) :type) 'gif)
- (let* ((extdata (image-extension-data image))
- (images (plist-get extdata 'count))
+ (let* ((metadata (image-metadata image))
+ (images (plist-get metadata 'count))
+ (extdata (plist-get metadata 'extension-data))
(anim (plist-get extdata #xF9)))
(and (integerp images) (> images 1)
(stringp anim) (>= (length anim) 4)
diff --git a/src/ChangeLog b/src/ChangeLog
index 3c43c80764a..e223ae0f696 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
+2010-03-31 Juri Linkov <juri@jurta.org>
+
+ * image.c: Add `Qextension_data'.
+ (syms_of_image): Initialize and staticpro `Qextension_data'.
+ (Fimage_metadata): Rename from `Fimage_extension_data'.
+ (gif_load): Put GIF extension data to the property
+ `Qextension_data'.
+
2010-03-31 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (highlight_trailing_whitespace): Support highlight of
diff --git a/src/image.c b/src/image.c
index 1265b900c6c..030e06ad77a 100644
--- a/src/image.c
+++ b/src/image.c
@@ -604,7 +604,7 @@ Lisp_Object Qxbm;
extern Lisp_Object QCwidth, QCheight, QCforeground, QCbackground, QCfile;
extern Lisp_Object QCdata, QCtype;
extern Lisp_Object Qcenter;
-Lisp_Object QCascent, QCmargin, QCrelief, Qcount;
+Lisp_Object QCascent, QCmargin, QCrelief, Qcount, Qextension_data;
Lisp_Object QCconversion, QCcolor_symbols, QCheuristic_mask;
Lisp_Object QCindex, QCmatrix, QCcolor_adjustment, QCmask;
@@ -1011,8 +1011,8 @@ or omitted means use the selected frame. */)
return mask;
}
-DEFUN ("image-extension-data", Fimage_extension_data, Simage_extension_data, 1, 2, 0,
- doc: /* Return extension data for image SPEC.
+DEFUN ("image-metadata", Fimage_metadata, Simage_metadata, 1, 2, 0,
+ doc: /* Return metadata for image SPEC.
FRAME is the frame on which the image will be displayed. FRAME nil
or omitted means use the selected frame. */)
(spec, frame)
@@ -7169,7 +7169,7 @@ gif_clear_image (f, img)
struct frame *f;
struct image *img;
{
- /* IMG->data.ptr_val may contain extension data. */
+ /* IMG->data.ptr_val may contain metadata with extension data. */
img->data.lisp_val = Qnil;
x_clear_image (f, img);
}
@@ -7488,8 +7488,8 @@ gif_load (f, img)
}
}
- /* Save GIF image extension data for `image-extension-data'.
- Format is (count IMAGES FUNCTION "BYTES" ...). */
+ /* Save GIF image extension data for `image-metadata'.
+ Format is (count IMAGES extension-data (FUNCTION "BYTES" ...)). */
img->data.lisp_val = Qnil;
if (gif->SavedImages[ino].ExtensionBlockCount > 0)
{
@@ -7499,7 +7499,9 @@ gif_load (f, img)
img->data.lisp_val = Fcons (make_unibyte_string (ext->Bytes, ext->ByteCount),
Fcons (make_number (ext->Function),
img->data.lisp_val));
- img->data.lisp_val = Fnreverse (img->data.lisp_val);
+ img->data.lisp_val = Fcons (Qextension_data,
+ Fcons (Fnreverse (img->data.lisp_val),
+ Qnil));
}
if (gif->ImageCount > 1)
img->data.lisp_val = Fcons (Qcount,
@@ -8403,6 +8405,8 @@ non-numeric, there is no explicit limit on the size of images. */);
Qcount = intern_c_string ("count");
staticpro (&Qcount);
+ Qextension_data = intern_c_string ("extension-data");
+ staticpro (&Qextension_data);
QCascent = intern_c_string (":ascent");
staticpro (&QCascent);
@@ -8498,7 +8502,7 @@ non-numeric, there is no explicit limit on the size of images. */);
defsubr (&Simage_refresh);
defsubr (&Simage_size);
defsubr (&Simage_mask_p);
- defsubr (&Simage_extension_data);
+ defsubr (&Simage_metadata);
#if GLYPH_DEBUG
defsubr (&Simagep);