Subject: Re: bug#74490: 31.0.50; make bootstrap fails

From: Gerd Möllmann <[email-masked]>
Date: Sat, 23 Nov 2024 15:31:10 +0100

Eli Zaretskii <[email-masked]> writes:

>> From: Vincenzo Pupillo <[email-masked]>
>> Cc: Eli Zaretskii <[email-masked]>
>> Date: Sat, 23 Nov 2024 13:22:30 +0100
>> 
>> Ciao Eli, 
>> make bootstrap fails today, I think it is due to this commit: 
>> commit 1c2e0615fb87727bc2aa1f871353c999b67c792a
>> Author: Eli Zaretskii <[email-masked]>
>> Date:   Sat Nov 23 04:51:10 2024 -0500
>> 
>>     ; Update ldefs-boot.el
>> 
>> 
>> 
>> Loading /home/vincenzo/Projects/Emacs/emacs/lisp/ldefs-boot.el (source)...
>> 
>> Error: void-function (rx)
>>   (rx (or (seq "." (or "py" "pth" "pyi" "pyw")) (seq "/" (or "SConstruct" 
>> "SConscript"))) eos)
>>   (defconst python--auto-mode-alist-regexp (rx (or (seq "." (or "py" "pth" 
>> "pyi" "pyw")) (seq "/" (or "SConstruct" "SConscript"))) eos))
>>   eval-buffer(#<buffer  *load*> nil "/home/vincenzo/Projects/Emacs/emacs/lisp/
>> ldefs-boot.el" nil t)
>>   (if eval-function (funcall eval-function buffer (if dump-mode file fullname)) 
>
> No, I think this is bug#73855, which somehow rears its ugly head.
>
> Stefan, could you please look into this?

FWIW, python--auto-mode-alist-regexp is the first use of rx in
ldefs-boot.el and comes before the autoloads for rx.el, and all other
uses of rx in ldefs-boot.el come after that. I guess that's the reason.

Maybe one could sort the files in loaddefs-generate--emacs-batch so that
rx comes earlier? Not sure.