Subject: bug#67696: 30.0.50; Help deal with multiple versions in load-path

From: Stefan Monnier <[email-masked]>
Date: Sun, 17 Dec 2023 18:06:27 -0500

> Right.  On the other hand, perhaps hitting the file system is to some
> extent expected once you start asking for libraries to be loaded.  You
> only get the best case `(memq F features)' if that evaluates to `t'.

For top-level uses of `require`, the performance impact is negligible.
But for `require`s used within functions (basically performing manual
autoloads), I'm worried that it could be problematic.

> Personally, I don't have a good view of how common these problems are.
> Perhaps they are relatively uncommon, and it's too much to ask all users
> of `require' to pay a cost for added correctness in unusual cases.

I don't either.  That's why I preferred to define a new function, which
lets us gain some experience with it.  We may later opt to merge (some
of) its functionality into `require`, of course.

        Stefan