GNU bug report logs - #78844
30.1; feature request: public interface for querying builtin packages and versions

Previous Next

Package: emacs;

Reported by: Xiyue Deng <manphiz <at> gmail.com>

Date: Thu, 19 Jun 2025 23:46:05 UTC

Severity: wishlist

Found in version 30.1

Done: Eli Zaretskii <eliz <at> gnu.org>

Full log


Message #74 received at 78844 <at> debbugs.gnu.org (full text, mbox):

From: Xiyue Deng <manphiz <at> gmail.com>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 78844 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>,
 spwhitton <at> spwhitton.name
Subject: Re: bug#78844: 30.1; feature request: public interface for querying
 builtin packages and versions
Date: Sat, 28 Jun 2025 17:36:03 -0700
[Message part 1 (text/plain, inline)]
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

>>> FWIW, I'd consider it an error if an entry in
>>> `package--builtin-versions` has a nil "version".
>>> There are no such things as "unversioned packages" in this respect.
>>> So, I think the code is OK but the docstring should not mention that
>>> we return nil for packages without a version.
>>
>> I think in principle you are correct given that the current public
>> functions don't provide a way to obtain such a symbol.  But it's
>> possible that someone can construct a symbol, either by hand or through
>> a new interface that queries all builtin packages, which is in
>> `package--builtins' but not in `package--builtin-versions', and the
>> function will return nil.  Do you think it's worth keeping such
>> possibility into consideration?
>
> Returning nil for packages (aka symbols) which aren't in
> `package--builtin-versions` is fine and I have no objection to
> documenting it.
>
> My objection is to
>
>     if @var{package} does not have a version
>
> but not to
>
>     if @var{package} ... is not a buil-tin package
>

I see.  Though technically people can get a package symbol from
`package--builtins', and hence built-in, but not in
`package--builtin-versions', and hence does not have a version
associated.  Maybe I can be more explicit to say "if @var{package} is
built-in but does not have a version ..."?  (Revised as such.)

> [ BTW, note the typo above.  ]

Thanks for spotting.  Also fixed.

>
>
>         Stefan
>

-- 
Regards,
Xiyue Deng
[0001-Add-public-interfaces-for-accessing-builtin-package-.patch (text/x-diff, attachment)]
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 27 days ago.

Previous Next


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