GNU bug report logs - #21625
[PATCH] lisp/emacs-lisp/package.el (package-install): Fix error.

Previous Next

Package: emacs;

Reported by: Aaron Ecay <aaronecay <at> gmail.com>

Date: Mon, 5 Oct 2015 19:57:02 UTC

Severity: normal

Tags: patch

Done: Artur Malabarba <bruce.connor.am <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: bruce.connor.am <at> gmail.com
Cc: tracker <at> debbugs.gnu.org
Subject: bug#21625: closed ([PATCH] lisp/emacs-lisp/package.el
 (package-install): Fix error.)
Date: Tue, 06 Oct 2015 18:44:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 6 Oct 2015 19:43:01 +0100
with message-id <CAAdUY-JUpjafrty5px193CZfgkursPCNEYkOUa5Tt4C_mW-yDA <at> mail.gmail.com>
and subject line Re: bug#21625: [PATCH] lisp/emacs-lisp/package.el (package-install): Fix error.
has caused the debbugs.gnu.org bug report #21625,
regarding [PATCH] lisp/emacs-lisp/package.el (package-install): Fix error.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
21625: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21625
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Aaron Ecay <aaronecay <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: [PATCH] lisp/emacs-lisp/package.el (package-install): Fix error.
Date: Mon,  5 Oct 2015 20:55:58 +0100
* lisp/emacs-lisp/package.el (package-install): Fix error when ‘pkg’ is
  not a ‘package-desc’.  Also clarify documentation.

Through trial and error, I discovered that for non-interactive use the
‘pkg’ argument of the package-install function should be a symbol, not a
string.  This can also be discerned by inspecting the (interactive)
spec, specifically the call to ‘intern’.  However, even when proceeding
with a symbol an error is raised if the package is already installed.
This patch reuses the name computed earlier in the function to avoid
this.
---
 lisp/emacs-lisp/package.el | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index eb66e8f..89f2a1a 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1887,7 +1887,7 @@ add a call to it along with some explanatory comments."
 ;;;###autoload
 (defun package-install (pkg &optional dont-select)
   "Install the package PKG.
-PKG can be a package-desc or the package name of one the available packages
+PKG can be a package-desc or a symbol naming one of the available packages
 in an archive in `package-archives'.  Interactively, prompt for its name.
 
 If called interactively or if DONT-SELECT nil, add PKG to
@@ -1918,15 +1918,15 @@ to install it but still mark it as selected."
                 pkg)))
     (unless (or dont-select (package--user-selected-p name))
       (package--save-selected-packages
-       (cons name package-selected-packages))))
-  (if-let ((transaction
-            (if (package-desc-p pkg)
-                (unless (package-installed-p pkg)
-                  (package-compute-transaction (list pkg)
-                                               (package-desc-reqs pkg)))
-              (package-compute-transaction () (list (list pkg))))))
-      (package-download-transaction transaction)
-    (message "`%s' is already installed" (package-desc-full-name pkg))))
+       (cons name package-selected-packages)))
+    (if-let ((transaction
+              (if (package-desc-p pkg)
+                  (unless (package-installed-p pkg)
+                    (package-compute-transaction (list pkg)
+                                                 (package-desc-reqs pkg)))
+                (package-compute-transaction () (list (list pkg))))))
+        (package-download-transaction transaction)
+      (message "`%s' is already installed" name))))
 
 (defun package-strip-rcs-id (str)
   "Strip RCS version ID from the version string STR.
-- 
2.6.0



[Message part 3 (message/rfc822, inline)]
From: Artur Malabarba <bruce.connor.am <at> gmail.com>
To: Aaron Ecay <aaronecay <at> gmail.com>
Cc: 21625-done <at> debbugs.gnu.org
Subject: Re: bug#21625: [PATCH] lisp/emacs-lisp/package.el (package-install):
 Fix error.
Date: Tue, 6 Oct 2015 19:43:01 +0100
Patch applied. Thanks again Aaron

2015-10-06 13:01 GMT+01:00 Aaron Ecay <aaronecay <at> gmail.com>:
> Hi Artur,
>
> Thanks for taking a look at the patch.  My copyright papers are done and
> on file.
>
> --
> Aaron Ecay


This bug report was last modified 9 years and 251 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.