GNU bug report logs - #31742
26.1.50; excorporate.elc byte-compiled in Emacs 25.x fails in Emacs 26.1

Previous Next

Package: emacs;

Reported by: Thomas Fitzsimmons <fitzsim <at> fitzsim.org>

Date: Thu, 7 Jun 2018 01:08:02 UTC

Severity: normal

Found in version 26.1.50

Done: Thomas Fitzsimmons <fitzsim <at> fitzsim.org>

Bug is archived. No further changes may be made.

Full log


Message #11 received at 31742 <at> debbugs.gnu.org (full text, mbox):

From: Thomas Fitzsimmons <fitzsim <at> fitzsim.org>
To: Noam Postavsky <npostavs <at> gmail.com>
Cc: 31742 <at> debbugs.gnu.org
Subject: Re: bug#31742: 26.1.50;
 excorporate.elc byte-compiled in Emacs 25.x fails in Emacs 26.1
Date: Wed, 06 Jun 2018 22:01:42 -0400
Noam Postavsky <npostavs <at> gmail.com> writes:

> Thomas Fitzsimmons <fitzsim <at> fitzsim.org> writes:
>
>> soap-find-operation: Wrong type argument: soap-binding, ("http://schemas.microsoft.com/exchange/services/2006/messages" . "ExchangeServiceBinding")
>
>> byte code for exco--bind-wsdl:
>>   doc:  Create a WSDL binding. ...
>>   args: (arg1 arg2 arg3 arg4 arg5)
>> 0	constant  soap-wsdl-find-namespace
>> 1	stack-ref 2
>> 2	stack-ref 6
>> 4	call	  2
>> 5	constant  vector
>> 6	constant  cl-struct-soap-port
>
>> byte code for exco--bind-wsdl:
>>   doc:  Create a WSDL binding. ...
>>   args: (arg1 arg2 arg3 arg4 arg5)
>> 0	constant  soap-wsdl-find-namespace
>> 1	stack-ref 2
>> 2	stack-ref 6
>> 4	call	  2
>> 5	constant  record
>> 6	constant  soap-port
>
> Looks like it's due to the change in how cl-struct works.  Does enabling
> cl-old-struct-compat-mode help?
>
>     cl-old-struct-compat-mode is an interactive autoloaded compiled Lisp
>     function in ‘cl-lib.el’.
>
>     (cl-old-struct-compat-mode &optional ARG)
>
>     Enable backward compatibility with old-style structs.
>     This can be needed when using code byte-compiled using the old
>     macro-expansion of ‘cl-defstruct’ that used vectors objects instead
>     of record objects.

Hmm, that does look related, however I just retried with and without it.
That mode was already enabled when the failure happened (when I ran M-x
cl-old-struct-compat-mode, it output "Cl-Old-Struct-Compat mode
disabled").

If I disable the mode, then I get a different failure earlier:

(wrong-type-argument soap-element [cl-struct-soap-port "ExchangeServicePort" nil "https://mail.cisco.com/ews/exchange.asmx" ("http://schemas.microsoft.com/exchange/services/2006/messages" . "ExchangeServiceBinding")])

So it seems like cl-old-struct-compat-mode being enabled is having a
positive effect, but maybe it does not handle the specific
incompatibility I'm running into.

Thomas




This bug report was last modified 7 years and 53 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.