aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2015-12-12 15:17:14 +0200
committerEli Zaretskii2015-12-12 15:17:14 +0200
commitc0bc613b24b3ff40c6ea88854544e6d03070dc70 (patch)
tree8f5d2aa77db0a246295ec1b1b86209475bf5cd64
parentb7326d412339337cef643ef5991c45f4472e8bed (diff)
downloademacs-c0bc613b24b3ff40c6ea88854544e6d03070dc70.tar.gz
emacs-c0bc613b24b3ff40c6ea88854544e6d03070dc70.zip
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.
-rw-r--r--doc/emacs/package.texi33
-rw-r--r--etc/NEWS13
-rw-r--r--lisp/emacs-lisp/package.el4
3 files changed, 46 insertions, 4 deletions
diff --git a/doc/emacs/package.texi b/doc/emacs/package.texi
index 1a6a735d3ae..5f80b0afe3f 100644
--- a/doc/emacs/package.texi
+++ b/doc/emacs/package.texi
@@ -59,7 +59,12 @@ The package's version number (e.g., @samp{11.86}).
59The package's status---normally one of @samp{available} (can be 59The package's status---normally one of @samp{available} (can be
60downloaded from the package archive), @samp{installed}, 60downloaded from the package archive), @samp{installed},
61@c @samp{unsigned} (installed, but not signed; @pxref{Package Signing}), 61@c @samp{unsigned} (installed, but not signed; @pxref{Package Signing}),
62or @samp{built-in} (included in Emacs by default). 62or @samp{built-in} (included in Emacs by default). The status
63@samp{external} means the package is not built-in and not from the
64directory specified by @code{package-user-dir} (@pxref{Package
65Files}). External packages are treated much like built-in: they
66cannot be deleted through the package menu, and are not considered for
67upgrading.
63 68
64The status can also be @samp{new}. This is equivalent to 69The status can also be @samp{new}. This is equivalent to
65@samp{available}, except that it means the package became newly 70@samp{available}, except that it means the package became newly
@@ -106,7 +111,13 @@ line; typing @kbd{x} (see below) will delete the package.
106@xref{Package Files}, for information about what package deletion 111@xref{Package Files}, for information about what package deletion
107entails. 112entails.
108 113
114@item ~
115Mark all obsolete packages for deletion
116(@code{package-menu-mark-obsolete-for-deletion}). This marks for
117deletion all the packages whose status is @samp{obsolete}.
118
109@item u 119@item u
120@itemx @key{DEL}
110Remove any installation or deletion mark previously added to the 121Remove any installation or deletion mark previously added to the
111current line by an @kbd{i} or @kbd{d} command. 122current line by an @kbd{i} or @kbd{d} command.
112 123
@@ -117,6 +128,7 @@ on the new available versions, and a deletion mark on the old
117installed versions. 128installed versions.
118 129
119@item x 130@item x
131@vindex package-menu-async
120Download and install all packages marked with @kbd{i}, and their 132Download and install all packages marked with @kbd{i}, and their
121dependencies; also, delete all packages marked with @kbd{d} 133dependencies; also, delete all packages marked with @kbd{d}
122(@code{package-menu-execute}). This also removes the marks. 134(@code{package-menu-execute}). This also removes the marks.
@@ -131,6 +143,14 @@ Filter the package list (@code{package-menu-filter}). This prompts
131for a keyword (e.g., @samp{games}), then shows only the packages 143for a keyword (e.g., @samp{games}), then shows only the packages
132that relate to that keyword. To restore the full package list, 144that relate to that keyword. To restore the full package list,
133type @kbd{q}. 145type @kbd{q}.
146
147@item H
148Permanently hide packages that match a regexp
149(@code{package-menu-hide-package}).
150
151@item (
152Toggle visibility of old versions of packages and also of versions
153from lower-priority archives (@code{package-menu-toggle-hiding}).
134@end table 154@end table
135 155
136@noindent 156@noindent
@@ -205,6 +225,17 @@ offer different versions of the same package, you may find the option
205pairs to this list, to ensure that the specified package is only ever 225pairs to this list, to ensure that the specified package is only ever
206downloaded from the specified archive. 226downloaded from the specified archive.
207 227
228@vindex package-archive-priorities
229@vindex package-menu-hide-low-priority
230 Another option that is useful when you have several package archives
231enabled is @code{package-archive-priorities}. It specifies the
232priority of each archive (higher numbers specify higher priority
233archives). By default, archives have the priority of zero, unless
234specified otherwise by this option's value. Packages from
235lower-priority archives will not be shown in the menu, if the same
236package is available from a higher-priority archive. (This is
237controlled by the value of @code{package-menu-hide-low-priority}.)
238
208 Once a package is downloaded and installed, it is @dfn{loaded} into 239 Once a package is downloaded and installed, it is @dfn{loaded} into
209the current Emacs session. Loading a package is not quite the same as 240the current Emacs session. Loading a package is not quite the same as
210loading a Lisp library (@pxref{Lisp Libraries}); its effect varies 241loading a Lisp library (@pxref{Lisp Libraries}); its effect varies
diff --git a/etc/NEWS b/etc/NEWS
index c5eb0b47749..1f8ef358c0f 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -391,6 +391,7 @@ specified message types for the respective specified targets.
391 391
392** package.el 392** package.el
393 393
394+++
394*** New "external" package status. 395*** New "external" package status.
395An external package is any installed package that's not built-in and 396An external package is any installed package that's not built-in and
396not from `package-user-dir', which usually means it's from an entry in 397not 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
398packages, in that they cannot be deleted through the package menu and 399packages, in that they cannot be deleted through the package menu and
399are not considered for upgrades. 400are not considered for upgrades.
400 401
401The effect, is that a user can manually place a specific version of a 402The effect is that a user can manually place a specific version of a
402package inside `package-directory-list' and the package menu will 403package inside `package-directory-list' and the package menu will
403always respect that. 404always respect that.
404 405
406+++
405*** If a package is available on multiple archives and one has higher 407*** If a package is available on multiple archives and one has higher
406priority (as per `package-archive-priorities') only that one is 408priority (as per `package-archive-priorities') only that one is
407listed. This can be configured with `package-menu-hide-low-priority'. 409listed. This can be configured with `package-menu-hide-low-priority'.
408 410
411+++
409*** `package-menu-toggle-hiding' now toggles the hiding of packages. 412*** `package-menu-toggle-hiding' now toggles the hiding of packages.
410This includes the above-mentioned low-priority packages, as well as 413This includes the above-mentioned low-priority packages, as well as
411available packages whose version is lower than the currently installed 414available packages whose version is lower than the currently installed
@@ -413,31 +416,39 @@ version (which were previously impossible to display).
413This allows users to downgrade a package if a lower version is 416This allows users to downgrade a package if a lower version is
414available. 417available.
415 418
419---
416*** When filtering the package menu, keywords starting with "arc:" or 420*** When filtering the package menu, keywords starting with "arc:" or
417"status:" represent package archive or status, respectively, instead 421"status:" represent package archive or status, respectively, instead
418of actual keywords. 422of actual keywords.
419 423
424---
420*** Most functions which involve downloading information now take an 425*** Most functions which involve downloading information now take an
421ASYNC argument. If it is non-nil, package.el performs the download(s) 426ASYNC argument. If it is non-nil, package.el performs the download(s)
422asynchronously. 427asynchronously.
423 428
429---
424*** New variable `package-menu-async' controls whether the 430*** New variable `package-menu-async' controls whether the
425package-menu uses asynchronous downloads. 431package-menu uses asynchronous downloads.
426 432
433---
427*** `package-install-from-buffer' and `package-install-file' work on directories. 434*** `package-install-from-buffer' and `package-install-file' work on directories.
428This follows the same rules as installing from a .tar file, except the 435This follows the same rules as installing from a .tar file, except the
429-pkg file is optional. 436-pkg file is optional.
430 437
438---
431*** Packages which are dependencies of other packages cannot be deleted. 439*** Packages which are dependencies of other packages cannot be deleted.
432The FORCE argument to `package-delete' overrides this. 440The FORCE argument to `package-delete' overrides this.
433 441
442---
434*** New custom variable `package-selected-packages' tracks packages 443*** New custom variable `package-selected-packages' tracks packages
435which were installed by the user (as opposed to installed as 444which were installed by the user (as opposed to installed as
436dependencies). This variable can also be manually customized. 445dependencies). This variable can also be manually customized.
437 446
447---
438*** New command `package-install-user-selected-packages' installs all 448*** New command `package-install-user-selected-packages' installs all
439packages from `package-selected-packages' which are currently missing. 449packages from `package-selected-packages' which are currently missing.
440 450
451---
441*** New command `package-autoremove' removes all packages which were 452*** New command `package-autoremove' removes all packages which were
442installed strictly as dependencies but are no longer needed. 453installed strictly as dependencies but are no longer needed.
443 454
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 265b1cc5485..67d78987a4f 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -216,7 +216,7 @@ of it available such that:
216 216
217This variable has three possible values: 217This variable has three possible values:
218 nil: no packages are hidden; 218 nil: no packages are hidden;
219 `archive': only criteria (a) is used; 219 `archive': only criterion (a) is used;
220 t: both criteria are used. 220 t: both criteria are used.
221 221
222This variable has no effect if `package-menu--hide-packages' is 222This variable has no effect if `package-menu--hide-packages' is
@@ -234,7 +234,7 @@ Each element has the form (ARCHIVE-ID . PRIORITY).
234 234
235When installing packages, the package with the highest version 235When installing packages, the package with the highest version
236number from the archive with the highest priority is 236number from the archive with the highest priority is
237selected. When higher versions are available from archives with 237selected. When higher versions are available from archives with
238lower priorities, the user has to select those manually. 238lower priorities, the user has to select those manually.
239 239
240Archives not in this list have the priority 0. 240Archives not in this list have the priority 0.