GNU bug report logs - #56292
29.0.50; Problem with define-obsolete-function-alias in loaddefs.el

Previous Next

Package: emacs;

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

From: Sean Whitton <spwhitton <at> spwhitton.name>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: control <at> debbugs.gnu.org, 56292 <at> debbugs.gnu.org
Subject: bug#56292: 29.0.50; Compilation failure since recent loaddefs speed up
Date: Thu, 30 Jun 2022 11:16:32 -0700
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.