]> git.eshelyaron.com Git - emacs.git/commitdiff
Rename `zlib-decompress-gzipped-region' to `zlib-decompress-region'.
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Mon, 12 Aug 2013 17:02:31 +0000 (19:02 +0200)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Mon, 12 Aug 2013 17:02:31 +0000 (19:02 +0200)
Also support zlib-format compression.

etc/NEWS
lisp/url/ChangeLog
lisp/url/url-http.el
lisp/url/url-vars.el
src/ChangeLog
src/decompress.c

index e37b107176cd77e6c309da52b68a5d6f9cf76bd6..715f7906073f454cd7a2fc413183d65a2c12e6ec 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -43,7 +43,8 @@ no longer created during installation.
 
 ** Emacs can be compiled with zlib support.  If this library is present
 (which it normally is on most systems), the function
-`zlib-decompress-gzipped-region' becomes available.
+`zlib-decompress-region' becomes available, which can decompress gzip-
+and zlib-format compressed data.
 
 ---
 ** Emacs for NS (OSX, GNUStep) can be built with ImageMagick support.
index 7ac445e03c17192b3f5812c00b17a6830af3dffe..2346803c6bf22ea50b5d052411a19aea471b3716 100644 (file)
@@ -3,6 +3,8 @@
        * url-http.el (url-handle-content-transfer-encoding): Renamed
        `zlib-decompress-gzipped-region' and check whether it's available,
        too.
+       (url-handle-content-transfer-encoding): Renamed
+       `zlib-decompress-region' again.
 
 2013-08-11  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
index 9eab1a6f683f808d62286e76c2ce03c7b70e5607..07049591cf0c99d975b4715b30598b2140a6419d 100644 (file)
@@ -860,14 +860,14 @@ should be shown to the user."
 (defun url-handle-content-transfer-encoding ()
   (let ((encoding (mail-fetch-field "content-encoding")))
     (when (and encoding
-              (fboundp 'zlib-decompress-gzipped-region)
+              (fboundp 'zlib-decompress-region)
               (zlib-available-p)
               (equal (downcase encoding) "gzip"))
       (save-restriction
        (widen)
        (goto-char (point-min))
        (when (search-forward "\n\n")
-         (zlib-decompress-gzipped-region (point) (point-max)))))))
+         (zlib-decompress-region (point) (point-max)))))))
 
 ;; Miscellaneous
 (defun url-http-activate-callback ()
index 786b5533bf88a07b966e5000b5a7f8974ab132ef..0361e01dfb473a963f9804f042c08270bd279c55 100644 (file)
@@ -210,7 +210,8 @@ Should be an assoc list of headers/contents.")
 
 (defvar url-request-method nil "The method to use for the next request.")
 
-(defvar url-mime-encoding-string (and (fboundp 'zlib-decompress-gzipped-region)
+(defvar url-mime-encoding-string (and (fboundp 'zlib-decompress-region)
+                                     (zlib-available-p)
                                      "gzip")
   "String to send in the Accept-encoding: field in HTTP requests.")
 
index cf851d5bec057d40bd642fd3af5562cd38a227a8..88e1fdc4e66671df5d35c7b976b5b108702f4237 100644 (file)
@@ -1,3 +1,8 @@
+2013-08-12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * decompress.c (Fzlib_decompress_region): Support zlib
+       decompression, too, and rename.
+
 2013-08-12  Paul Eggert  <eggert@cs.ucla.edu>
 
        Minor zlib configuration tweaks.
index 4e4e3a9c7dc29de1b2cdfbf144370a8944210f02..b3ad4f7676a7473e2bf345a8fcbfc1bfdb9b91d7 100644 (file)
@@ -119,10 +119,10 @@ DEFUN ("zlib-available-p", Fzlib_available_p, Szlib_available_p, 0, 0, 0,
 #endif
 }
 
-DEFUN ("zlib-decompress-gzipped-region", Fzlib_decompress_gzipped_region,
-       Szlib_decompress_gzipped_region,
+DEFUN ("zlib-decompress-region", Fzlib_decompress_region,
+       Szlib_decompress_region,
        2, 2, 0,
-       doc: /* Decompress a gzip-compressed region.
+       doc: /* Decompress a gzip- or zlib-compressed region.
 Replace the text in the region by the decompressed data.
 On failure, return nil and leave the data in place.
 This function can be called only in unibyte buffers.  */)
@@ -151,8 +151,9 @@ This function can be called only in unibyte buffers.  */)
   stream.avail_in = 0;
   stream.next_in = Z_NULL;
 
-  /* This magic number apparently means "this is gzip".  */
-  if (fn_inflateInit2 (&stream, 16 + MAX_WBITS) != Z_OK)
+  /* The magic number 32 apparently means "autodect both the gzip and
+     zlib formats" according to zlib.h.  */
+  if (fn_inflateInit2 (&stream, MAX_WBITS + 32) != Z_OK)
     return Qnil;
 
   unwind_data.start = iend;
@@ -210,7 +211,7 @@ void
 syms_of_decompress (void)
 {
   DEFSYM (Qzlib_dll, "zlib");
-  defsubr (&Szlib_decompress_gzipped_region);
+  defsubr (&Szlib_decompress_region);
   defsubr (&Szlib_available_p);
 }