Subject: Re: bug#56292: 29.0.50; Problem with define-obsolete-function-alias in loaddefs.el

From: Lars Ingebrigtsen <[email-masked]>
Date: Tue, 02 Aug 2022 13:08:53 +0200

Sean Whitton <[email-masked]> writes:

> 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.

Aha!  This is due to this code:

  /* If purifying, and string starts with \ newline,
     return zero instead.  This is for doc strings
     that we are really going to find in etc/DOC.nn.nn.  */
  if (!NILP (Vpurify_flag) && NILP (Vdoc_file_name) && cancel)
    {
      unbind_to (count, Qnil);
      return make_fixnum (0);
    }

Which will be removed after bug#53024 is done.

But the fixes I did to loaddefs-gen in this bug report fixed this bug
report, so I'm closing it.