Commit c0bc613b authored by Eli Zaretskii's avatar Eli Zaretskii

Document new features of package.el

* doc/emacs/package.texi (Package Menu): Document the 'external'
status and the new menu commands.
(Package Installation): Document archive priorities.

* lisp/emacs-lisp/package.el (package-archive-priorities): Doc fix.
(package-menu-hide-low-priority): Doc fix.
parent b7326d41
......@@ -59,7 +59,12 @@ The package's version number (e.g., @samp{11.86}).
The package's status---normally one of @samp{available} (can be
downloaded from the package archive), @samp{installed},
@c @samp{unsigned} (installed, but not signed; @pxref{Package Signing}),
or @samp{built-in} (included in Emacs by default).
or @samp{built-in} (included in Emacs by default). The status
@samp{external} means the package is not built-in and not from the
directory specified by @code{package-user-dir} (@pxref{Package
Files}). External packages are treated much like built-in: they
cannot be deleted through the package menu, and are not considered for
The status can also be @samp{new}. This is equivalent to
@samp{available}, except that it means the package became newly
......@@ -106,7 +111,13 @@ line; typing @kbd{x} (see below) will delete the package.
@xref{Package Files}, for information about what package deletion
@item ~
Mark all obsolete packages for deletion
(@code{package-menu-mark-obsolete-for-deletion}). This marks for
deletion all the packages whose status is @samp{obsolete}.
@item u
@itemx @key{DEL}
Remove any installation or deletion mark previously added to the
current line by an @kbd{i} or @kbd{d} command.
......@@ -117,6 +128,7 @@ on the new available versions, and a deletion mark on the old
installed versions.
@item x
@vindex package-menu-async
Download and install all packages marked with @kbd{i}, and their
dependencies; also, delete all packages marked with @kbd{d}
(@code{package-menu-execute}). This also removes the marks.
......@@ -131,6 +143,14 @@ Filter the package list (@code{package-menu-filter}). This prompts
for a keyword (e.g., @samp{games}), then shows only the packages
that relate to that keyword. To restore the full package list,
type @kbd{q}.
@item H
Permanently hide packages that match a regexp
@item (
Toggle visibility of old versions of packages and also of versions
from lower-priority archives (@code{package-menu-toggle-hiding}).
@end table
......@@ -205,6 +225,17 @@ offer different versions of the same package, you may find the option
pairs to this list, to ensure that the specified package is only ever
downloaded from the specified archive.
@vindex package-archive-priorities
@vindex package-menu-hide-low-priority
Another option that is useful when you have several package archives
enabled is @code{package-archive-priorities}. It specifies the
priority of each archive (higher numbers specify higher priority
archives). By default, archives have the priority of zero, unless
specified otherwise by this option's value. Packages from
lower-priority archives will not be shown in the menu, if the same
package is available from a higher-priority archive. (This is
controlled by the value of @code{package-menu-hide-low-priority}.)
Once a package is downloaded and installed, it is @dfn{loaded} into
the current Emacs session. Loading a package is not quite the same as
loading a Lisp library (@pxref{Lisp Libraries}); its effect varies
......@@ -391,6 +391,7 @@ specified message types for the respective specified targets.
** package.el
*** New "external" package status.
An external package is any installed package that's not built-in and
not from `package-user-dir', which usually means it's from an entry in
......@@ -398,14 +399,16 @@ not from `package-user-dir', which usually means it's from an entry in
packages, in that they cannot be deleted through the package menu and
are not considered for upgrades.
The effect, is that a user can manually place a specific version of a
The effect is that a user can manually place a specific version of a
package inside `package-directory-list' and the package menu will
always respect that.
*** If a package is available on multiple archives and one has higher
priority (as per `package-archive-priorities') only that one is
listed. This can be configured with `package-menu-hide-low-priority'.
*** `package-menu-toggle-hiding' now toggles the hiding of packages.
This includes the above-mentioned low-priority packages, as well as
available packages whose version is lower than the currently installed
......@@ -413,31 +416,39 @@ version (which were previously impossible to display).
This allows users to downgrade a package if a lower version is
*** When filtering the package menu, keywords starting with "arc:" or
"status:" represent package archive or status, respectively, instead
of actual keywords.
*** Most functions which involve downloading information now take an
ASYNC argument. If it is non-nil, package.el performs the download(s)
*** New variable `package-menu-async' controls whether the
package-menu uses asynchronous downloads.
*** `package-install-from-buffer' and `package-install-file' work on directories.
This follows the same rules as installing from a .tar file, except the
-pkg file is optional.
*** Packages which are dependencies of other packages cannot be deleted.
The FORCE argument to `package-delete' overrides this.
*** New custom variable `package-selected-packages' tracks packages
which were installed by the user (as opposed to installed as
dependencies). This variable can also be manually customized.
*** New command `package-install-user-selected-packages' installs all
packages from `package-selected-packages' which are currently missing.
*** New command `package-autoremove' removes all packages which were
installed strictly as dependencies but are no longer needed.
......@@ -216,7 +216,7 @@ of it available such that:
This variable has three possible values:
nil: no packages are hidden;
`archive': only criteria (a) is used;
`archive': only criterion (a) is used;
t: both criteria are used.
This variable has no effect if `package-menu--hide-packages' is
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment