all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Thomas Fitzsimmons <fitzsim@fitzsim.org>
Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: Re: emacs-25 b6b47AF: Properly encode/decode base64Binary data in SOAP
Date: Sun, 13 Mar 2016 20:30:02 +0200	[thread overview]
Message-ID: <83oaaidydx.fsf@gnu.org> (raw)
In-Reply-To: <m34mcaxnub.fsf@fitzsim.org> (message from Thomas Fitzsimmons on Sun, 13 Mar 2016 13:57:32 -0400)

> From: Thomas Fitzsimmons <fitzsim@fitzsim.org>
> Cc: monnier@iro.umontreal.ca,  emacs-devel@gnu.org
> Date: Sun, 13 Mar 2016 13:57:32 -0400
> 
>    (defun soap-parse-server-response ()
>      "Error-check and parse the XML contents of the current buffer."
>      (let ((mime-part (mm-dissect-buffer t t)))
>        (unless mime-part
>          (error "Failed to decode response from server"))
>        (unless (equal (car (mm-handle-type mime-part)) "text/xml")
>          (error "Server response is not an XML document"))
>        (with-temp-buffer
>          (mm-insert-part mime-part)
>          (prog1
>              (car (xml-parse-region (point-min) (point-max)))
>            (kill-buffer)
>            (mm-destroy-part mime-part)))))
> 
> mm-insert-part does:
> 
>    (string-to-multibyte (mm-get-part handle no-cache))

Why does it do that?  string-to-multibyte is one of those functions
that should never be used.

> In cases where the caller is expecting an xsd:string, the idea is for
> soap-client to return a native Emacs string, for the caller's
> convenience.

But that's not what string-to-multibyte does.

> I guess soap-client assumes that the mm and xml packages will do the
> right thing to convert XML string values into Emacs's internal
> format.

I'm not sure we are not mis-communicating: conversion into internal
format is what decoding does.  Whereas you just said a few messages
upthread that you thought strings should be returned undecoded,
i.e. as binary streams of bytes.  What am I missing?

> >> Is the attached patch OK for master and emacs-25?
> >
> > Doesn't it bring back the bug which caused Andreas to make the change
> > you want to undo?
> 
> It brings back the behavior of soap-client returning base64-decoded
> xsd:base64Binary values as unibyte strings.

I'm confused: you've just demonstrated that it returns them as
multibyte strings with raw bytes in their multibyte encoding.

> The debate on this thread is about whether that behavior is buggy or
> not.  But yes, I want to revert Andreas's change on both master and
> emacs-25 branches, because I don't consider the old behavior buggy.

That'll bring the bug in the debbugs package back, I think.  Once
again, if you want to return undecoded strings, they should at the
very least be unibyte, not multibyte.  Apologies if I'm too confused
to talk intelligently about this.



  reply	other threads:[~2016-03-13 18:30 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20160106200404.17375.71733@vcs.savannah.gnu.org>
     [not found] ` <E1aGuJQ-0004Wv-Lz@vcs.savannah.gnu.org>
2016-03-10  1:03   ` emacs-25 b6b47af: Properly encode/decode base64Binary data in SOAP Thomas Fitzsimmons
2016-03-10  9:30     ` Andreas Schwab
2016-03-11  3:29       ` emacs-25 b6b47AF: " Thomas Fitzsimmons
2016-03-11  8:35         ` Andreas Schwab
2016-03-11 13:49           ` Alex Harsanyi
2016-03-11 14:09             ` Andreas Schwab
2016-03-11 16:48               ` Stefan Monnier
2016-03-11 16:59                 ` Andreas Schwab
2016-03-11 22:27                   ` Stefan Monnier
2016-03-13  3:52                     ` Thomas Fitzsimmons
2016-03-13 15:15                       ` Stefan Monnier
2016-03-13 18:09                         ` Thomas Fitzsimmons
2016-03-13 16:02                       ` Eli Zaretskii
2016-03-13 17:57                         ` Thomas Fitzsimmons
2016-03-13 18:30                           ` Eli Zaretskii [this message]
2016-03-13 19:54                             ` Thomas Fitzsimmons
2016-03-13 20:19                               ` Eli Zaretskii
2016-03-13 21:17                                 ` Thomas Fitzsimmons
2016-03-14  3:30                                   ` Eli Zaretskii
2016-03-14  8:49                                     ` Andreas Schwab
2016-03-14  9:15                                       ` Michael Albinus
2016-03-14 11:56                                         ` Stefan Monnier
2016-03-14 12:18                                           ` Alex Harsanyi
2016-03-14 11:58                                         ` Alex Harsanyi
2016-03-14 12:38                                           ` Michael Albinus
2016-03-14 13:18                                             ` Alex Harsanyi
2016-03-14 13:30                                               ` Michael Albinus
2016-03-14 13:26                                             ` Stefan Monnier
2016-03-14 14:12                                               ` Michael Albinus
2016-03-14 14:58                                                 ` Thomas Fitzsimmons
2016-03-14 15:56                                                   ` Michael Albinus
2016-03-14 17:58                                                   ` Eli Zaretskii
2016-03-15  1:56                                                     ` Thomas Fitzsimmons
2016-03-15  7:45                                                       ` Andreas Schwab
2016-03-15  7:57                                                         ` Michael Albinus
2016-03-15  7:49                                                       ` Andreas Schwab
2016-03-15  8:08                                                       ` Michael Albinus
2016-03-15 14:39                                                         ` Thomas Fitzsimmons
2016-03-15 15:04                                                           ` Michael Albinus
2016-03-17 14:23                                                             ` Thomas Fitzsimmons
2016-03-17 15:39                                                               ` Thomas Fitzsimmons
2016-03-17 19:24                                                                 ` Michael Albinus
2016-03-17 15:46                                                               ` Stefan Monnier
2016-03-15 17:39                                                           ` Eli Zaretskii
2016-03-14 17:53                                           ` Eli Zaretskii
2016-03-14 18:47                                             ` Michael Albinus
2016-03-14 18:57                                               ` Eli Zaretskii
2016-03-14 17:49                                         ` Eli Zaretskii
2016-03-14 18:44                                           ` Michael Albinus
2016-03-14 18:52                                             ` Eli Zaretskii
2016-03-14 19:05                                               ` Michael Albinus
2016-03-14  9:23                                       ` Thomas Fitzsimmons
2016-03-14  9:58                                         ` Andreas Schwab
2016-03-14  8:02                                   ` Michael Albinus
2016-03-14 12:39                                     ` Stefan Monnier
2016-03-14 17:55                                       ` Eli Zaretskii
2016-03-14 17:48                                     ` Eli Zaretskii
2016-03-14 18:42                                       ` Michael Albinus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83oaaidydx.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=fitzsim@fitzsim.org \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.