summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/term/w32-win.el14
2 files changed, 19 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index bb675ce5088..a06055ddb9b 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
+2013-10-10 Eli Zaretskii <eliz@gnu.org>
+
+ * term/w32-win.el (dynamic-library-alist): Define separate lists
+ of GIF DLLs for versions before and after 5.0.0 of giflib.
+ (Bug#15531)
+
2013-10-10 João Távora <joaotavora@gmail.com>
* vc/vc.el (vc-diff-build-argument-list-internal): If the file is
diff --git a/lisp/term/w32-win.el b/lisp/term/w32-win.el
index 892ac9749d6..9690a5a7d75 100644
--- a/lisp/term/w32-win.el
+++ b/lisp/term/w32-win.el
@@ -223,7 +223,19 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.")
"libpng13d.dll" "libpng13.dll"))
'(jpeg "jpeg62.dll" "libjpeg.dll" "jpeg-62.dll" "jpeg.dll")
'(tiff "libtiff3.dll" "libtiff.dll")
- '(gif "giflib4.dll" "libungif4.dll" "libungif.dll")
+ ;; Versions of giflib 5.0.0 and later changed signatures of
+ ;; several functions used by Emacs, which makes those versions
+ ;; incompatible with previous ones. We select the correct
+ ;; libraries according to the version of giflib we were
+ ;; compiled against. (If we were compiled without GIF support,
+ ;; libgif-version's value is -1.)
+ (if (>= libgif-version 50000)
+ ;; Yes, giflib 5.x uses 6 as the major version of the API,
+ ;; thus "libgif-6.dll" below (giflib 4.x used 5 as the
+ ;; major API version).
+ ;; giflib5.dll is from the lua-files project.
+ '(gif "libgif-6.dll" "giflib5.dll")
+ '(gif "libgif-5.dll" "giflib4.dll" "libungif4.dll" "libungif.dll"))
'(svg "librsvg-2-2.dll")
'(gdk-pixbuf "libgdk_pixbuf-2.0-0.dll")
'(glib "libglib-2.0-0.dll")