Subject: bug#55305: 28.0.50: With async nativecomp, package manager fails to load hyperbole-autoloads.el before compilation

From: Eli Zaretskii <[email-masked]>
Date: Mon, 16 May 2022 05:31:01 +0300

> From: Stefan Monnier <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked],  [email-masked]
> Date: Sun, 15 May 2022 16:12:48 -0400
> 
> > We have all those 'require' and 'eval-when-compile' things precisely
> > so a file can tell the compiler what is needed for the compilation.
> > And we _need_ a way to make the compilation be completely independent
> > of any local customizations or installed packages.
> 
> When a package uses some other package's macro, it necessarily depends on
> the locally installed packages to be compiled correctly.

My worry is about packages that do NOT depend on such macros.  Calling
package-activate-all will activate all the packages on the user's
system, and there's no way of knowing what those packages do at
activation time.  They can change variables, advise functions,
redefine commands, etc.  We have no idea what will be the state of the
session after doing that.

> I'm not claiming that calling `package-activate-all` is right for
> reasons of principle.  We sadly never clearly defined what it is that
> a package can count on.

Then we should do that _before_ we propose solutions that rely on
what's there, knowing that what's there was never intended to solve
this particular issue.  This cure is worse than the disease.