Subject: bug#15285: url-data not working for base64-encoded data

From: Klaus Straubinger <[email-masked]>
Date: Fri, 6 Sep 2013 11:22:59 +0200 (MitteleuropäischeSommerzeit)

In GNU Emacs 24.3.1 (i386-mingw-nt6.1.7601),
evaluating

    (require 'mm-decode)
    (require 'url)
    (mm-display-part
     (with-current-buffer
         (url-retrieve-synchronously
          "data:image/x-portable-bitmap;base64,UDQKMTQgMTAK//zgHJAkiESHhItEkCSgFMAM//w=")
       (mm-dissect-buffer t)))

should insert a letter image into the current buffer, but this does not work.

The cause is that in the function url-data (defined in url-misc.el)
the handling of the base64 parameter moves the match end and so the
starting "," character gets into the data, making them invalid.

Furthermore, instead of inserting the header "Content-Encoding" (that
should be used for encodings like "gzip") the code should insert the
header "Content-Transfer-Encoding" (the correct one for "8bit" or "base64").

-- 
Klaus Straubinger