GNU bug report logs - #74490
31.0.50; make bootstrap fails

Previous Next

Package: emacs;

Reported by: Vincenzo Pupillo <v.pupillo <at> gmail.com>

Date: Sat, 23 Nov 2024 12:23:02 UTC

Severity: normal

Tags: patch

Merged with 73855, 74491

Fixed in versions 31.1, 31.0.50

Done: Stefan Kangas <stefankangas <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Stefan Kangas <stefankangas <at> gmail.com>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 74490 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>, v.pupillo <at> gmail.com, Sam James <sam <at> gentoo.org>
Subject: bug#74490: 31.0.50; make bootstrap fails
Date: Sat, 23 Nov 2024 12:15:23 -0500
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

> The problem we're facing shows up only during bootstrap, when we're
> loading `loaddefs.el`, and not in the real dump where we load
> `loaddefs.elc`.
>
> Since we presumably don't make any real use of that regexp (we don't
> visit any Python file) while compiling Emacs, another workaround might
> be to wrap the call to `rx` around something like an `(when (fboundp
> 'rx) ...)`.

That would work, yes.

>>> Stefan, are there any clean ways of using calls to autoloaded macros
>>> in autoloaded defconst or defvar?
>
> Currently our autoloading mechanism doesn't offers any clean way to
> enforce some kind of ordering, sadly.  I guess we could also try
> something like:
>
>     ;;;###autoload
>     (defconst python--auto-mode-alist-regexp
>       (eval-when-compile
>         (require 'rx)
>         (rx (or
>              (seq "." (or "py"
>                           "pth"               ; Python Path Configuration File
>                           "pyi"               ; Python Stub File (PEP 484)
>                           "pyw"))             ; MS-Windows specific extension
>              (seq "/" (or "SConstruct" "SConscript"))) ; SCons Build Files
>             eos)))

I like this alternative slightly better, since it makes it more clear
what is going on.

The first version gives the reader the impression that the variable is
sometimes undefined, or that `rx` could be missing... which it
technically is, but not in the cases a prospective reader would usually
need to worry about.




This bug report was last modified 177 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.