[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r103992: Restore ability to show a re
From: |
Chong Yidong |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r103992: Restore ability to show a restricted list of packages in Package Menu. |
Date: |
Sun, 24 Apr 2011 16:32:23 -0400 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 103992
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Sun 2011-04-24 16:32:23 -0400
message:
Restore ability to show a restricted list of packages in Package Menu.
* emacs-lisp/package.el (package-built-in-p): Fix typo.
(package-menu--generate): New arg specifying packages to show.
(package-menu-refresh, package-menu-execute, list-packages):
Callers changed.
(package-show-package-list): New function.
* finder.el (finder-list-matches): Use package-show-package-list
instead of deleted package--list-packages.
modified:
lisp/ChangeLog
lisp/emacs-lisp/package.el
lisp/finder.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2011-04-24 19:37:47 +0000
+++ b/lisp/ChangeLog 2011-04-24 20:32:23 +0000
@@ -1,5 +1,15 @@
2011-04-24 Chong Yidong <address@hidden>
+ * emacs-lisp/package.el (package-built-in-p): Fix typo.
+ (package-menu--generate): New arg specifying packages to show.
+ (package-menu-refresh, package-menu-execute, list-packages):
+ Callers changed.
+ (package-show-package-list): New function, replacing deleted
+ package--list-packages (renamed because it is non-internal).
+
+ * finder.el (finder-list-matches): Use package-show-package-list
+ instead of deleted package--list-packages.
+
* vc/vc-annotate.el (vc-annotate-goto-line): New command. Based
on a previous implementation by Juanma Barranquero (Bug#8366).
(vc-annotate-mode-map): Bind it to RET.
=== modified file 'lisp/emacs-lisp/package.el'
--- a/lisp/emacs-lisp/package.el 2011-04-22 02:35:48 +0000
+++ b/lisp/emacs-lisp/package.el 2011-04-24 20:32:23 +0000
@@ -84,10 +84,6 @@
;; can see what packages are available. This will automatically
;; fetch the latest list of packages from ELPA.
;;
-;; M-x package-list-packages-no-fetch
-;; Like package-list-packages, but does not automatically fetch the
-;; new list of packages.
-;;
;; M-x package-install-from-buffer
;; Install a package consisting of a single .el file that appears
;; in the current buffer. This only works for packages which
@@ -462,7 +458,7 @@
specifying the minimum acceptable version."
(require 'finder-inf nil t) ; For `package--builtins'.
(let ((elt (assq package package--builtins)))
- (and elt (min-version-<= min-version (package-desc-vers (cdr elt))))))
+ (and elt (version-list-<= min-version (package-desc-vers (cdr elt))))))
;; This function goes ahead and activates a newer version of a package
;; if an older one was already activated. This is not ideal; we'd at
@@ -1344,38 +1340,45 @@
(unless (assoc key ,listname)
(push (list key ,status (package-desc-doc ,desc)) ,listname))))
-(defun package-menu--generate (&optional remember-pos)
+(defun package-menu--generate (remember-pos packages)
"Populate the Package Menu.
-Optional argument REMEMBER-POS, if non-nil, means to move point
-to the entry as before."
+If REMEMBER-POS is non-nil, keep point on the same entry.
+PACKAGES should be t, which means to display all known packages,
+or a list of package names (symbols) to display."
;; Construct list of ((PACKAGE . VERSION) STATUS DESCRIPTION).
(let (info-list name builtin)
;; Installed packages:
(dolist (elt package-alist)
(setq name (car elt))
- (package--push name (cdr elt)
- (if (stringp (cadr (assq name package-load-list)))
- "held" "installed")
- info-list))
+ (when (or (eq packages t) (memq name packages))
+ (package--push name (cdr elt)
+ (if (stringp (cadr (assq name package-load-list)))
+ "held" "installed")
+ info-list)))
;; Built-in packages:
(dolist (elt package--builtins)
(setq name (car elt))
- (unless (eq name 'emacs) ; Hide the `emacs' package.
+ (when (and (not (eq name 'emacs)) ; Hide the `emacs' package.
+ (or (eq packages t) (memq name packages)))
(package--push name (cdr elt) "built-in" info-list)))
;; Available and disabled packages:
(dolist (elt package-archive-contents)
(setq name (car elt))
- (let ((hold (assq name package-load-list)))
- (package--push name (cdr elt)
- (if (and hold (null (cadr hold))) "disabled" "available")
- info-list)))
+ (when (or (eq packages t) (memq name packages))
+ (let ((hold (assq name package-load-list)))
+ (package--push name (cdr elt)
+ (if (and hold (null (cadr hold)))
+ "disabled"
+ "available")
+ info-list))))
;; Obsolete packages:
(dolist (elt package-obsolete-alist)
(dolist (inner-elt (cdr elt))
- (package--push (car elt) (cdr inner-elt) "obsolete" info-list)))
+ (when (or (eq packages t) (memq (car elt) packages))
+ (package--push (car elt) (cdr inner-elt) "obsolete" info-list))))
;; Print the result.
(setq tabulated-list-entries (mapcar 'package-menu--print-info info-list))
@@ -1416,7 +1419,7 @@
(unless (eq major-mode 'package-menu-mode)
(error "The current buffer is not a Package Menu"))
(package-refresh-contents)
- (package-menu--generate t))
+ (package-menu--generate t t))
(defun package-menu-describe-package (&optional button)
"Describe the current package.
@@ -1531,7 +1534,7 @@
(and delete-list (null install-list)
(package-initialize))
(if (or delete-list install-list)
- (package-menu--generate t)
+ (package-menu--generate t t)
(message "No operations specified."))))
(defun package-menu--version-predicate (A B)
@@ -1585,7 +1588,7 @@
(let ((buf (get-buffer-create "*Packages*")))
(with-current-buffer buf
(package-menu-mode)
- (package-menu--generate))
+ (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.
(switch-to-buffer buf)))
@@ -1593,6 +1596,19 @@
;;;###autoload
(defalias 'package-list-packages 'list-packages)
+;; Used in finder.el
+(defun package-show-package-list (packages)
+ "Display PACKAGES in a *Packages* buffer.
+This is similar to `list-packages', but it does not fetch the
+updated list of packages, and it only displays packages with
+names in PACKAGES (which should be a list of symbols)."
+ (require 'finder-inf nil t)
+ (let ((buf (get-buffer-create "*Packages*")))
+ (with-current-buffer buf
+ (package-menu-mode)
+ (package-menu--generate nil packages))
+ (switch-to-buffer buf)))
+
(defun package-list-packages-no-fetch ()
"Display a list of packages.
Does not fetch the updated list of packages before displaying.
=== modified file 'lisp/finder.el'
--- a/lisp/finder.el 2011-01-25 04:08:28 +0000
+++ b/lisp/finder.el 2011-04-24 20:32:23 +0000
@@ -316,7 +316,7 @@
(packages (gethash id finder-keywords-hash)))
(unless packages
(error "No packages matching key `%s'" key))
- (package--list-packages packages)))
+ (package-show-package-list packages)))
(define-button-type 'finder-xref 'action #'finder-goto-xref)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r103992: Restore ability to show a restricted list of packages in Package Menu.,
Chong Yidong <=