Rename `image-extension-data' to `image-metadata'.
authorJuri Linkov <juri@jurta.org>
Wed, 31 Mar 2010 14:55:01 +0000 (17:55 +0300)
committerJuri Linkov <juri@jurta.org>
Wed, 31 Mar 2010 14:55:01 +0000 (17:55 +0300)
http://lists.gnu.org/archive/html/emacs-devel/2010-03/msg01456.html

* 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'.

* image.el (image-animated-p): Use `image-metadata' instead of
`image-extension-data'.  Get GIF extenstion data from metadata
property `extension-data'.

etc/NEWS
lisp/ChangeLog
lisp/image.el
src/ChangeLog
src/image.c

index febdcfd..5f0dd4b 100644 (file)
--- 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
index 09879e7..bdc40f4 100644 (file)
@@ -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.
index 83ab628..67c1ad9 100644 (file)
@@ -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)
index 3c43c80..e223ae0 100644 (file)
@@ -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
index 1265b90..030e06a 100644 (file)
@@ -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);