emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] trunk r113033: * lisp/emacs-lisp/package.el: Update packag


From: Stefan Monnier
Subject: [Emacs-diffs] trunk r113033: * lisp/emacs-lisp/package.el: Update package-alist after install.
Date: Tue, 18 Jun 2013 01:26:58 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 113033
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14632
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Mon 2013-06-17 21:26:47 -0400
message:
  * lisp/emacs-lisp/package.el: Update package-alist after install.
  (package-unpack, package-unpack-single): Return the pkg-dir.
  (package-download-transaction): Use it to update package-alist.
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-17 23:59:09 +0000
+++ b/lisp/ChangeLog    2013-06-18 01:26:47 +0000
@@ -1,3 +1,9 @@
+2013-06-18  Stefan Monnier  <address@hidden>
+
+       * emacs-lisp/package.el: Update package-alist after install (bug#14632).
+       (package-unpack, package-unpack-single): Return the pkg-dir.
+       (package-download-transaction): Use it to update package-alist.
+
 2013-06-17  Lars Magne Ingebrigtsen  <address@hidden>
 
        * net/browse-url.el (browse-url-browser-function): Add `eww' as a

=== modified file 'lisp/emacs-lisp/package.el'
--- a/lisp/emacs-lisp/package.el        2013-06-17 17:36:21 +0000
+++ b/lisp/emacs-lisp/package.el        2013-06-18 01:26:47 +0000
@@ -640,7 +640,8 @@
     ;; FIXME: should we delete PKG-DIR if it exists?
     (let* ((default-directory (file-name-as-directory package-user-dir)))
       (package-untar-buffer dirname)
-      (package--make-autoloads-and-compile package pkg-dir))))
+      (package--make-autoloads-and-compile package pkg-dir)
+      pkg-dir)))
 
 (defun package--make-autoloads-and-compile (name pkg-dir)
   "Generate autoloads and do byte-compilation for package named NAME.
@@ -696,7 +697,8 @@
         nil
         pkg-file
         nil nil nil 'excl))
-      (package--make-autoloads-and-compile name pkg-dir))))
+      (package--make-autoloads-and-compile name pkg-dir)
+      pkg-dir)))
 
 (defmacro package--with-work-buffer (location file &rest body)
   "Run BODY in a buffer containing the contents of FILE at LOCATION.
@@ -922,16 +924,20 @@
           (hold (cadr (assq elt package-load-list)))
           (v-string (or (and (stringp hold) hold)
                         (package-version-join (package-desc-version desc))))
-          (kind (package-desc-kind desc)))
-      (cond
-       ((eq kind 'tar)
-       (package-download-tar elt v-string))
-       ((eq kind 'single)
-       (package-download-single elt v-string
-                                (package-desc-summary desc)
-                                (package-desc-reqs desc)))
-       (t
-       (error "Unknown package kind: %s" (symbol-name kind))))
+          (kind (package-desc-kind desc))
+           (pkg-dir
+            (cond
+             ((eq kind 'tar)
+              (package-download-tar elt v-string))
+             ((eq kind 'single)
+              (package-download-single elt v-string
+                                       (package-desc-summary desc)
+                                       (package-desc-reqs desc)))
+             (t
+              (error "Unknown package kind: %s" (symbol-name kind))))))
+      ;; Update package-alist.
+      ;; FIXME: Check that the installed package's descriptor matches `desc'!
+      (package-load-descriptor pkg-dir)
       ;; If package A depends on package B, then A may `require' B
       ;; during byte compilation.  So we need to activate B before
       ;; unpacking A.


reply via email to

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