Subject: Re: bug#62751: 29.0.90; New libraries that still need to be assigned to packages

From: Stefan Kangas <[email-masked]>
Date: Mon, 18 Sep 2023 00:34:42 -0700

Jonas Bernoulli <[email-masked]> writes:

>>> 9. It seems a bit excessive to consider each use-package*.el a separate
>>>    package.  Maybe they should all be part of a single use-package
>>>    package.  An entry in finder--builtins-alist should be used to
>>>    accomplish that.
>>
>> Done.
>
> Maybe lisp/use-package/bind-key.el should be a separate package (and
> maybe it should be moved out of that directory).

Right, so we either need to remove the "use-package" from
package--builtins, or move it out of the lisp/use-package directory.
Otherwise, it will show up in `M-x package-list-packages' as "available"
rather than "built-in" (as it's now considered part of 'use-package').

Given that it is its own package on GNU ELPA, I can see some logic in
moving it out of the use-package directory.  It's never ideal to move
files with git, but OTOH it's not been with us for that long yet.

Eli, Stefan, any opinions/preferences?

>>> Maybe we should stop falling though to assign a new library to its own
>>> separate package, if nothing else is specified explicitly?  It is of
>>> course nice not having to either add a "Package" library header or a
>>> finder--builtins-alist entry, but it also makes it easy to forget to
>>> explicitly specify the package when doing that would be necessary.
>>
>> Hmm, yes that might make more sense.  One would have to add package
>> statements to a ton of libraries, though.  So there'll be a lot of
>> churn.
>>
>> Maybe it's worth it in the end, I don't know.
>
> Probably not, but "carefully check any additions to package--builtins"
> should be added to the release steps.

Yes, that's the other option.  That's also less than ideal, as it
involves tedious manual work.

Do we have some way to list new additions to package--builtins?

> For 29.1 I opened this issue, for 28.1 bug#55388.  I have done that
> early enough so that it could have been taken into account before these
> releases shipped with questionable entries in package--builtins.
>
> I intend to do that well before the next release again.

Thanks again for paying attention to this aspect.

> By the way, IMO it would make sense to apply these on "emacs-29", not
> just "master".

You're right, now done.

> I think that has to be extended for "leim", similar to how there is a
> separate entry for every subdirectory of "lisp/semantic":
>
>  ("leim" . emacs)
> +("ja-dic" . emacs)
> +("quail" . emacs)

Also done, on emacs-29.

> In addition to adding an entry for "lisp/obsolete", the "Package" header
> should be removed from all files in that directory.

Is that needed given the entry in finder--builtins-alist?