[ Again, this is *not* being sent to xemacs-patch, as I'd like to get
more feedback and fix up a number of things. A ChangeLog is not
included because this patch is still experimental. ]
This is the second release of changes to package-get and friends to
make it more user-friendly. The only (big) change in this release is a
new, visual package installer. You can now display a list of all
available packages and see which ones are installed or out-of-date. You
can also select individual packages for installation. Invoke
"M-x package-get-list-packages" to see the visual installer. You can
press [space] or [return] to toggle packages for upgrade/installation.
To install selected packages, press "x" or "I".
Changes/features in previous releases:
* You can now search local disks for packages. For example, to search
the local directory, "/my/local/directory", for packages, you can set
package-get-remote like this in your ~/.emacs:
(setq package-get-remote
'(
(nil "/my/local/directory")
(nil "~/local/package/dir") ; note: expansion is done
("ftp.xemacs.org"
"/pub/xemacs/beta/xemacs-21.0/packages/binary-packages")
))
* Most interactive functions now do package completion.
* Hooks for mswindows users have been added. These have to be manually
enabled, however. If you have djtar.exe installed, add the following
to your .emacs:
(setq package-admin-install-function
'package-admin-install-function-mswindows)
(I still have not yet gotten around to getting rid of
add-big-package.sh, although I'll do this soon.)
Issues, problems, and things to do:
* This is a work-in-progress. Dead, unused code exists. Some prompts
are slightly wrong.
* When selecting a package for installation, the visual package display
needs to autoselect uninstalled or out-of-date packages (the package
installer will get the dependencies correct, but the user should be
shown these dependencies as items are selected).
* Old package code is not deleted before a newer version is installed.
* display-completion-list is used to display selected packages for
installation, when asking the user if he really does want to install
those packages. This is done to get a nicely-formatted display (the
code to do this correctly is large, and I didn't want to copy/modify
the code in display-completion-list). However,
display-completion-list always inserts the text, "Possible completions
are:", into the buffer. Would it be possible to make this optionally
modifiable (via keywords, as is currently done for other options)?
The change is simple, and I'd be more than willing to do it.
* Need to provide a way of obtaining the latest package list from
ftp.xemacs.org or mirrors.
* In the visual package installer, need to optionally display the
currently installed version of a package (next to the latest package
version), so that users have more information on just how out-of-date
a package is.
* Need to use a different face for uninstalled packages, as well as a
different face for out-of-date packages. Currently, only selected
packages for installation have a specific face (bold, which needs to
be customizable, but currently isn't).
* Need to provide customization hooks for faces, etc.?
* Need to get rid of add-big-package.sh and associated code.
* This package should autoselect between mswindows (non-cygwin) and Unix
package installers.
* More display messages need to be added, to tell the user what's going
on. As it is, XEmacs seems to "hang" while package stuff is being
installed; there should be more progress messages.
* Does not work under Win95, as subprocesses seem to be broken. Works
great under WinNT 4.0.
Patches are relative to B51.
-- Darryl Okahata
Internet: darrylo(a)sr.hp.com
DISCLAIMER: this message is the author's personal opinion and does not
constitute the support, opinion, or policy of Hewlett-Packard, or of the
little green men that have been following him all day.