[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Merging Finder into package mechanism
From: |
Juri Linkov |
Subject: |
Re: Merging Finder into package mechanism |
Date: |
Sun, 29 Aug 2010 00:38:10 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (x86_64-pc-linux-gnu) |
> package.el has a variable `package--builtins-base' which defines
> packages built into Emacs. This is similar, but not identical, to the
> Finder conception of a package. I would like to remove the discrepancy.
I think Keywords should be additional package attribute
along with Name, Version, Brief description, Long description.
> As part of this, I also want to eliminate some of the useless entries
> that currently show up in Finder. For instance, Finder gives cc-vars.el
> a separate entry from cc-mode.el, which is not very useful. All the
> cc-*.el files should get a single entry, under the "cc-mode" package.
The problem is that currently files in the Emacs source tree are not
grouped into packages. It would be good to define built-in packages
explicitly where Keywords will be defined once for every multi-file package.
> Eventually, finder-by-keyword should allow searching for elpa packages
> as well as built-in packages.
Finder scans local files to collect package information,
so it could also connect to elpa.gnu.org, but this requires
Internet access during `make finder-data'.
> The proposed technical steps are as follows. First, merge
> `finder-package-info' and `package--builtins-base' into a single
> variable. This is a backward-incompatible change, but I think that's
> acceptable, since third-party code is unlikely to make use of
> `finder-package-info'.
Does this mean that `list-packages' will list all Emacs built-in packages
(in addition to elpa packages)? Maybe not bad, after all.
> Second, alter `finder-compile-keywords' to recognize files that are part
> of multi-file built-in packages. I propose to do this by adding an
> optional "Package:" file header, which says that the file is part of a
> multi-file package. For instance, cc-vars.el can have the header
> "Package: cc-mode". Files that we want to omit from Finder can have the
> header "Package: emacs".
This looks like a good thing since some package sub-files already do
something like that, e.g. files in the cc-mode package refer to the
main file as ";; Version: See cc-mode.el".
Re: Merging Finder into package mechanism, Chong Yidong, 2010/08/29