emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r113139: * lisp/emacs-lisp/package.el (package-el-ve


From: Stefan Monnier
Subject: [Emacs-diffs] trunk r113139: * lisp/emacs-lisp/package.el (package-el-version): Remove.
Date: Sat, 22 Jun 2013 20:09:24 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 113139
revision-id: address@hidden
parent: address@hidden
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Sat 2013-06-22 16:09:19 -0400
message:
  * lisp/emacs-lisp/package.el (package-el-version): Remove.
  (package-process-define-package): Fix inf-loop.
  (package-install): Allow symbols as arguments again.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/emacs-lisp/package.el     package.el-20100617020707-ybavz666awsxwin6-2
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2013-06-22 13:25:43 +0000
+++ b/lisp/ChangeLog    2013-06-22 20:09:19 +0000
@@ -1,3 +1,9 @@
+2013-06-22  Stefan Monnier  <address@hidden>
+
+       * emacs-lisp/package.el (package-el-version): Remove.
+       (package-process-define-package): Fix inf-loop.
+       (package-install): Allow symbols as arguments again.
+
 2013-06-22  Dmitry Gutov  <address@hidden>
 
        * progmodes/ruby-mode.el (ruby-font-lock-keywords): Move `catch',

=== modified file 'lisp/emacs-lisp/package.el'
--- a/lisp/emacs-lisp/package.el        2013-06-21 15:30:53 +0000
+++ b/lisp/emacs-lisp/package.el        2013-06-22 20:09:19 +0000
@@ -233,7 +233,7 @@
 
 Each element has the form (SYM . ID).
  SYM is a package, as a symbol.
- ID is an archive name, as a string. This should correspond to an
+ ID is an archive name. This should correspond to an
  entry in `package-archives'.
 
 If the archive of name ID does not contain the package SYM, no
@@ -249,9 +249,6 @@
   "Version number of the package archive understood by this file.
 Lower version numbers than this will probably be understood as well.")
 
-(defconst package-el-version "1.0.1"
-  "Version of package.el.")
-
 ;; We don't prime the cache since it tends to get out of date.
 (defvar package-archive-contents nil
   "Cache of the contents of the Emacs Lisp Package Archive.
@@ -557,13 +554,13 @@
         ;; If there's no old package, just add this to `package-alist'.
         (push (list name new-pkg-desc) package-alist)
       ;; If there is, insert the new package at the right place in the list.
-      (while old-pkgs
-        (cond
-         ((null (cdr old-pkgs)) (push new-pkg-desc (cdr old-pkgs)))
-         ((version-list-< (package-desc-version (cadr old-pkgs)) version)
-          (push new-pkg-desc (cdr old-pkgs))
-          (setq old-pkgs nil)))
-        (setq old-pkgs (cdr old-pkgs))))
+      (while
+          (if (and (cdr old-pkgs)
+                   (version-list-< version
+                                   (package-desc-version (cadr old-pkgs))))
+              (setq old-pkgs (cdr old-pkgs))
+            (push new-pkg-desc (cdr old-pkgs))
+            nil)))
     new-pkg-desc))
 
 ;; From Emacs 22, but changed so it adds to load-path.
@@ -914,10 +911,10 @@
       (package-install-from-archive desc))))
 
 ;;;###autoload
-(defun package-install (pkg-desc)
-  "Install the package PKG-DESC.
-PKG-DESC should be one of the available packages in an
-archive in `package-archives'.  Interactively, prompt for its name."
+(defun package-install (pkg)
+  "Install the package PKG.
+PKG can be a package-desc or the package name of one the available packages
+in an archive in `package-archives'.  Interactively, prompt for its name."
   (interactive
    (progn
      ;; Initialize the package system to get the list of package
@@ -926,22 +923,22 @@
        (package-initialize t))
      (unless package-archive-contents
        (package-refresh-contents))
-     (let* ((name (intern (completing-read
+     (list (intern (completing-read
                            "Install package: "
                            (mapcar (lambda (elt)
                                      (cons (symbol-name (car elt))
                                            nil))
                                    package-archive-contents)
-                           nil t)))
-            (pkg-desc (cdr (assq name package-archive-contents))))
+                    nil t)))))
+  (let ((pkg-desc
+         (if (package-desc-p pkg) pkg
+           (cdr (assq pkg package-archive-contents)))))
        (unless pkg-desc
-         (error "Package `%s' is not available for installation"
-                name))
-       (list pkg-desc))))
+      (error "Package `%s' is not available for installation" pkg))
   (package-download-transaction
    ;; FIXME: Use (list pkg-desc) instead of just the name.
    (package-compute-transaction (list (package-desc-name pkg-desc))
-                                (package-desc-reqs pkg-desc))))
+                                  (package-desc-reqs pkg-desc)))))
 
 (defun package-strip-rcs-id (str)
   "Strip RCS version ID from the version string STR.
@@ -1082,6 +1079,7 @@
 This informs Emacs about the latest versions of all packages, and
 makes them available for download."
   (interactive)
+  ;; FIXME: Do it asynchronously.
   (unless (file-exists-p package-user-dir)
     (make-directory package-user-dir t))
   (dolist (archive package-archives)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]