What package do you need?

Jerry James <[email protected]>
Newsgroups gmane.emacs.xemacs.design
Message-ID <[email protected]>
We get a fair number of questions on both comp.emacs.xemacs and the
mailing lists of the form, "XEmacs told me it can't find file/function
blah", where the proper response is, "Install package foo".  Wouldn't it
be nice if XEmacs could tell you that?

What do you think of a series of development steps like the following?

(1) Extend the package-index syntax so that it includes a list of .el
    files in each package.  Is there a way to do this so that older
    versions of the package code will ignore the list?  Change (load)
    and friends so that when a file cannot be found, it first gives pui
    a chance to check the list.  If pui finds the file on its list, it
    instead throws an error that says, "You don't have package XYZ
    installed so I can't do what you wanted to do."  Otherwise, throw
    file-error like it does now.

(2) Extend package-index again, so that each package lists not only the
    file names from (1), but also all autoloaded names defined in that
    package. (We can generate that list from the individual package
    auto-autoloads.)  Find places where void-function is thrown, and
    first give pui a chance to check this list.  If it finds the
    function name on a list, it instead throws an error like in (1).
    Otherwise, the void-function error is thrown.

(3) Enhance pui so that, instead of just checking the list and
    complaining about missing packages, it offers to download and
    install them on the spot.

-- 
Jerry James
http://www.ittc.ku.edu/~james/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.