GNU bug report logs -
#31742
26.1.50; excorporate.elc byte-compiled in Emacs 25.x fails in Emacs 26.1
Previous Next
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
View this message in rfc822 format
Thomas Fitzsimmons <fitzsim <at> fitzsim.org> writes:
> Noam Postavsky <npostavs <at> gmail.com> writes:
>
>> Thomas Fitzsimmons <fitzsim <at> fitzsim.org> writes:
>>
>>> (defun soap-resolve-references (element wsdl)
>>
>>> (let ((resolver (get (aref element 0) 'soap-resolve-references)))
>>
>> Ah, then it should work to replace the (aref element 0) with (type-of
>> element) as long as cl-old-struct-compat-mode is enabled.
>
> Yes, I retested with that change and it does work. I guess I should
> submit a patch to change all those occurrences in soap-client.
I just noticed soap-client is also an ELPA package; then there is the
additional complication that type-of will give the wrong answer in Emacs
versions 25 and older. So you would need something like
(let ((type (type-of element)))
(if (eq type 'vector)
(aref element 0) ; For Emacs 25 and earlier.
type))
> I'm hoping cl-old-struct-compat-mode will continue to be enabled by
> default for a long time.
I was going to say, it's currently not enabled by default, but it looks
like it gets enabled automagically when you load code from the old
cl-defstruct:
(defun cl-struct-define (name docstring parent type named slots children-sym
tag print)
(unless type
;; Legacy defstruct, using tagged vectors. Enable backward compatibility.
(cl-old-struct-compat-mode 1))
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.