unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* giflib-5.1.0 (GIF image format library) API change
@ 2014-06-15  8:23 Makoto Fujiwara
  2014-06-15 11:23 ` Eric S. Raymond
  2014-06-15 22:32 ` Glenn Morris
  0 siblings, 2 replies; 4+ messages in thread
From: Makoto Fujiwara @ 2014-06-15  8:23 UTC (permalink / raw
  To: emacs-devel

Hi, should be already fixed, I am presume, but I needed
attached remedy to build,

Thanks a lot, 
---
Makoto Fujiwara, 
Chiba, Japan, Narita Airport and Disneyland prefecture.

$NetBSD$

mage.c:7417:7: error: too few arguments to function 'DGifCloseFile'
emacs-current/work/.buildlink/include/gif_lib.h:183:9:
note: declared here

--- ./src/image.c.orig	2014-06-14 13:15:41.000000000 +0900
+++ ./src/image.c	2014-06-15 08:39:42.000000000 +0900
@@ -7409,13 +7409,13 @@
 	}
 #endif
     }
-
+  int * return_value;
   /* Before reading entire contents, check the declared image size. */
   if (!check_image_size (f, gif->SWidth, gif->SHeight))
     {
       image_error ("Invalid image size (see `max-image-size')", Qnil, Qnil);
-      fn_DGifCloseFile (gif);
-      return 0;
+      fn_DGifCloseFile (gif, return_value);
+      return return_value;
     }
 
   /* Read entire contents.  */
@@ -7423,8 +7423,8 @@
   if (rc == GIF_ERROR || gif->ImageCount <= 0)
     {
       image_error ("Error reading `%s'", img->spec, Qnil);
-      fn_DGifCloseFile (gif);
-      return 0;
+      fn_DGifCloseFile (gif, return_value);
+      return return_value;
     }
 
   /* Which sub-image are we to display?  */
@@ -7435,8 +7435,8 @@
       {
 	image_error ("Invalid image number `%s' in image `%s'",
 		     image_number, img->spec);
-	fn_DGifCloseFile (gif);
-	return 0;
+	fn_DGifCloseFile (gif, return_value);
+	return return_value;
       }
   }
 
@@ -7453,8 +7453,8 @@
   if (!check_image_size (f, width, height))
     {
       image_error ("Invalid image size (see `max-image-size')", Qnil, Qnil);
-      fn_DGifCloseFile (gif);
-      return 0;
+      fn_DGifCloseFile (gif, return_value);
+      return return_value;
     }
 
   /* Check that the selected subimages fit.  It's not clear whether
@@ -7471,16 +7471,16 @@
 	     && 0 <= subimg_left && subimg_left <= width - subimg_width))
 	{
 	  image_error ("Subimage does not fit in image", Qnil, Qnil);
-	  fn_DGifCloseFile (gif);
-	  return 0;
+	  fn_DGifCloseFile (gif, return_value);
+	  return return_value;
 	}
     }
 
   /* Create the X image and pixmap.  */
   if (!image_create_x_image_and_pixmap (f, img, width, height, 0, &ximg, 0))
     {
-      fn_DGifCloseFile (gif);
-      return 0;
+      fn_DGifCloseFile (gif, return_value);
+      return return_value;
     }
 
   /* Clear the part of the screen image not covered by the image.
@@ -7650,7 +7650,7 @@
 			    Fcons (make_number (gif->ImageCount),
 				   img->lisp_data));
 
-  fn_DGifCloseFile (gif);
+  fn_DGifCloseFile (gif, return_value);
 
   /* Maybe fill in the background field while we have ximg handy. */
   if (NILP (image_spec_value (img->spec, QCbackground, NULL)))



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: giflib-5.1.0 (GIF image format library) API change
  2014-06-15  8:23 giflib-5.1.0 (GIF image format library) API change Makoto Fujiwara
@ 2014-06-15 11:23 ` Eric S. Raymond
  2014-06-15 22:32 ` Glenn Morris
  1 sibling, 0 replies; 4+ messages in thread
From: Eric S. Raymond @ 2014-06-15 11:23 UTC (permalink / raw
  To: Makoto Fujiwara; +Cc: emacs-devel

Makoto Fujiwara <makoto@ki.nu>:
> Hi, should be already fixed, I am presume, but I needed
> attached remedy to build,

I'm the giflib maintainer.

Please note that there are version symbols in gif_lib.h that would allow
you to write a version of this patch that builds for either giflib 5.0 or 5.1.
Currently these are

#define GIFLIB_MAJOR 5
#define GIFLIB_MINOR 1

but if you check for

#define GIFLIB_MAJOR 5
#define GIFLIB_MINOR 0

you can conditionalize in the existing image.c code.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: giflib-5.1.0 (GIF image format library) API change
  2014-06-15  8:23 giflib-5.1.0 (GIF image format library) API change Makoto Fujiwara
  2014-06-15 11:23 ` Eric S. Raymond
@ 2014-06-15 22:32 ` Glenn Morris
  2014-06-16  0:06   ` Eric S. Raymond
  1 sibling, 1 reply; 4+ messages in thread
From: Glenn Morris @ 2014-06-15 22:32 UTC (permalink / raw
  To: Makoto Fujiwara; +Cc: emacs-devel


A failure to build is a bug, so I filed http://debbugs.gnu.org/17790
for you. Please send any followup there.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: giflib-5.1.0 (GIF image format library) API change
  2014-06-15 22:32 ` Glenn Morris
@ 2014-06-16  0:06   ` Eric S. Raymond
  0 siblings, 0 replies; 4+ messages in thread
From: Eric S. Raymond @ 2014-06-16  0:06 UTC (permalink / raw
  To: Glenn Morris; +Cc: Makoto Fujiwara, emacs-devel

Glenn Morris <rgm@gnu.org>:
> 
> A failure to build is a bug, so I filed http://debbugs.gnu.org/17790
> for you. Please send any followup there.

This one is my doing.  I had to change the giflib API in 5.1.0 because of a
subtle problem the 5.0.0 version produced in connection with dynamic-language
wrappers (the actual bug report was about C# but it could have been
any language with GC).

The bug is noisy but the fix is trivial.  I've asked Fujiwara-san to clean
it up so the image.c code is properlyconditionalized for 5.0.0 or 5.1.0;
once he does that, I'll review the patch, address any problems, and commit it.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-06-16  0:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-15  8:23 giflib-5.1.0 (GIF image format library) API change Makoto Fujiwara
2014-06-15 11:23 ` Eric S. Raymond
2014-06-15 22:32 ` Glenn Morris
2014-06-16  0:06   ` Eric S. Raymond

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).