Function: list-packages
list-packages is an autoloaded, interactive and byte-compiled function
defined in package.el.gz.
Signature
(list-packages &optional NO-FETCH)
Documentation
Display a list of packages.
This first fetches the updated list of packages before
displaying, unless a prefix argument NO-FETCH is specified.
The list is displayed in a buffer named *Packages*, and
includes the package's version, availability status, and a
short description.
Probably introduced at or before Emacs version 24.1.
Key Bindings
Aliases
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/package.el.gz
;;;###autoload
(defun list-packages (&optional no-fetch)
"Display a list of packages.
This first fetches the updated list of packages before
displaying, unless a prefix argument NO-FETCH is specified.
The list is displayed in a buffer named `*Packages*', and
includes the package's version, availability status, and a
short description."
(interactive "P")
(require 'finder-inf nil t)
;; Initialize the package system if necessary.
(unless package--initialized
(package-initialize t))
;; Integrate the package-menu with updating the archives.
(add-hook 'package--post-download-archives-hook
#'package-menu--post-refresh)
(add-hook 'package--post-download-archives-hook
#'package-menu--mark-or-notify-upgrades 'append)
(add-hook 'package--post-download-archives-hook
#'package-menu--set-mode-line-format 'append)
;; Generate the Package Menu.
(let ((buf (get-buffer-create "*Packages*")))
(with-current-buffer buf
;; Since some packages have their descriptions include non-ASCII
;; characters...
(setq buffer-file-coding-system 'utf-8)
(package-menu-mode)
;; Fetch the remote list of packages.
(unless no-fetch (package-menu--refresh-contents))
;; If we're not async, this would be redundant.
(when package-menu-async
(package-menu--generate nil t)))
;; The package menu buffer has keybindings. If the user types
;; `M-x list-packages', that suggests it should become current.
(pop-to-buffer-same-window buf)))