Subject: bug#31742: closed (Re: bug#31742: 26.1.50; excorporate.elc byte-compiled in Emacs 25.x fails in Emacs 26.1)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 12 Jun 2018 01:56:02 +0000

Your bug report

#31742: 26.1.50; excorporate.elc byte-compiled in Emacs 25.x fails in Emacs 26.1

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
31742: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31742
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#31742: 26.1.50; excorporate.elc byte-compiled in Emacs 25.x fails in Emacs 26.1
From: Thomas Fitzsimmons <[email-masked]>
To: Alex Harsanyi <[email-masked]>
Cc: Noam Postavsky <[email-masked]>, [email-masked]
Date: Mon, 11 Jun 2018 21:55:48 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Alex Harsanyi <[email-masked]> writes:

> On Sat, Jun 9, 2018 at 10:54 AM, Thomas Fitzsimmons <[email-masked]> wrote:
>
>>
>> How about the attached?  I tested it in 26.1 with 25.1 excorporate.elc
>> byte-code, as well as with our test suite against 24.1, 25.1 and 26.1,
>> so it should be OK for GNU ELPA as well.
>>
>> If this looks OK, I'll bump the soap-client.el version to 3.1.4 when I
>> push.
>
> Can you please add a comment referencing this bug to the definition of
> `soap-type-of`.  Other than that, it looks good to me.

I added the comment, bumped the soap-client version to 3.1.4 and pushed
the patch to master so that GNU ELPA will be regenerated tonight.  I
also backported the patch to the emacs-26 branch since it fixes a
functional regression.

Thomas

Subject: 26.1.50; excorporate.elc byte-compiled in Emacs 25.x fails in Emacs 26.1
From: Thomas Fitzsimmons <[email-masked]>
To: [email-masked]
Date: Wed, 06 Jun 2018 21:07:21 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

An Excorporate user reported an issue when running on Emacs 26.1 that
didn't happen in Emacs 25.3.

The error message, when trying to retrieve calendar items on a given day
is:

soap-find-operation: Wrong type argument: soap-binding, ("http://schemas.microsoft.com/exchange/services/2006/messages" . "ExchangeServiceBinding")

The simplest workaround is:

   M-x package-reinstall RET excorporate RET

I narrowed the cause down to what seems to be an incompatibility between
25.x bytecode and 26.1.  This issue only happens when excorporate.elc
has been byte compiled in Emacs 25.x (the .x doesn't seem to matter; I
replicated it on Emacs 25.1) and is then run in Emacs 26.1.  It doesn't
happen with a fresh package install on 25.x or 26.1.

When in the failure state, if I re-eval this function:

(defun exco--bind-wsdl (wsdl service-url port-name target-namespace
                             binding-name)
  "Create a WSDL binding.
Create a binding port for WSDL from SERVICE-URL, PORT-NAME,
TARGET-NAMESPACE and BINDING-NAME."
  (let* ((namespace (soap-wsdl-find-namespace target-namespace wsdl))
         (port (make-soap-port
                :name port-name
                :binding (cons target-namespace binding-name)
                :service-url service-url)))
    (soap-namespace-put port namespace)
    (push port (soap-wsdl-ports wsdl))
    (soap-resolve-references port wsdl)
    wsdl))

everything works.

In terms higher level functionality, it seems like the call to
soap-resolve-references has no effect.

I'm attaching the 25.1 and 26.1 bytecode for this function,
disassembled.  Maybe someone can identify what's wrong or suggest next
steps?

Thank you,
Thomas