[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r105580: * package.el (package-instal
From: |
Chong Yidong |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r105580: * package.el (package-install): Call package-initialize if called interactively. |
Date: |
Fri, 26 Aug 2011 11:53:50 -0400 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 105580
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Fri 2011-08-26 11:53:50 -0400
message:
* package.el (package-install): Call package-initialize if called
interactively.
modified:
lisp/ChangeLog
lisp/emacs-lisp/package.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2011-08-26 09:52:07 +0000
+++ b/lisp/ChangeLog 2011-08-26 15:53:50 +0000
@@ -1,3 +1,8 @@
+2011-08-26 Chong Yidong <address@hidden>
+
+ * emacs-lisp/package.el (package-install): Call package-initialize
+ if called interactively.
+
2011-08-26 Leo Liu <address@hidden>
* emacs-lisp/cl-macs.el (defstruct): Fix format. (Bug#9357)
=== modified file 'lisp/emacs-lisp/package.el'
--- a/lisp/emacs-lisp/package.el 2011-08-04 00:58:07 +0000
+++ b/lisp/emacs-lisp/package.el 2011-08-26 15:53:50 +0000
@@ -852,18 +852,26 @@
(t
(error "Unknown package kind: %s" (symbol-name kind)))))))
+(defvar package--initialized nil)
+
;;;###autoload
(defun package-install (name)
"Install the package named NAME.
-Interactively, prompt for the package name.
-The package is found on one of the archives in `package-archives'."
+NAME should be the name of one of the available packages in an
+archive in `package-archives'. Interactively, prompt for NAME."
(interactive
- (list (intern (completing-read "Install package: "
- (mapcar (lambda (elt)
- (cons (symbol-name (car elt))
- nil))
- package-archive-contents)
- nil t))))
+ (progn
+ ;; Initialize the package system to get the list of package
+ ;; symbols for completion.
+ (unless package--initialized
+ (package-initialize t))
+ (list (intern (completing-read
+ "Install package: "
+ (mapcar (lambda (elt)
+ (cons (symbol-name (car elt))
+ nil))
+ package-archive-contents)
+ nil t)))))
(let ((pkg-desc (assq name package-archive-contents)))
(unless pkg-desc
(error "Package `%s' is not available for installation"
@@ -1076,8 +1084,6 @@
(car archive)))))
(package-read-all-archive-contents))
-(defvar package--initialized nil)
-
;;;###autoload
(defun package-initialize (&optional no-activate)
"Load Emacs Lisp packages, and activate them.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r105580: * package.el (package-install): Call package-initialize if called interactively.,
Chong Yidong <=