GNU bug report logs -
#56292
29.0.50; Problem with define-obsolete-function-alias in loaddefs.el
Previous Next
Reported by: Sean Whitton <spwhitton <at> spwhitton.name>
Date: Wed, 29 Jun 2022 05:21:02 UTC
Severity: normal
Tags: moreinfo
Found in version 29.0.50
Fixed in version 29.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
retitle 56292 29.0.50; Problem with define-obsolete-function-alias in loaddefs.el
thanks
On Thu 30 Jun 2022 at 11:15am +02, Lars Ingebrigtsen wrote:
> Normal errors should give you a backtrace by default in --batch, but I
> guess whatever is generating the message here is catching the error.
> Try perhaps (setq debug-on-signal t) and see whether that gives a
> backtrace?
Thanks, I eventually managed to get some useful output.
After 1d4e903417, before time-date is loaded, (get 'subtract-time
'byte-obsolete-info) yields (time-subtract nil 0). Previously, whether
or not time-date was loaded, it yielded (time-substract nil "26.1").
The wrong-type-argument is when macroexp--obsolete-warning tries to pass
0 as an argument to concat.
If you replace
(define-obsolete-function-alias 'subtract-time 'time-subtract "\
26.1")
with
(define-obsolete-function-alias 'subtract-time 'time-subtract "26.1")
in loaddefs.el then the problem goes away. I hacked loadup.el and
determined that when loadup.el is loading loaddefs.el,
(macroexpand-1
'(define-obsolete-function-alias 'subtract-time 'time-subtract "\
26.1"))
yields
(progn (defalias 'subtract-time 'time-subtract nil)
(make-obsolete 'subtract-time 'time-subtract 0))
which is not the correct expansion according to the definition of
define-obsolete-function-alias ..
--
Sean Whitton
This bug report was last modified 2 years and 353 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.