GNU bug report logs -
#14632
24.3.50; package-install-p returns nil after package-install
Previous Next
Reported by: Sebastian Wiesner <lunaryorn <at> gmail.com>
Date: Sun, 16 Jun 2013 08:49:02 UTC
Severity: normal
Found in version 24.3.50
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 14632 in the body.
You can then email your comments to 14632 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#14632
; Package
emacs
.
(Sun, 16 Jun 2013 08:49:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Sebastian Wiesner <lunaryorn <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Sun, 16 Jun 2013 08:49:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
After "package-install", "package-installed-p" still returns nil for
the package that was just installed. Consider:
ELISP> (package-installed-p 'nrepl)
nil
ELISP> (package-install (cdr (assq 'nrepl package-archive-contents)))
nil
ELISP> (package-installed-p 'nrepl)
nil
ELISP> (package-initialize)
t
ELISP> (package-installed-p 'nrepl)
t
Also, before "package-initialize", the newly installed "nrepl" package
still only appears as "available" in "M-x list-packages", but not as
"installable".
Even worse, dependency resolution is broken, likely as a result of this
misbehavior of "package-installed-p". Consider "hardhat" and
"ignoramus", where "hardhat" depends on "ignoramus". If I explicitly
install "ignoramus", "hardhat" cannot be installed afterwards:
ELISP> (package-installed-p 'ignoramus)
nil
ELISP> (package-installed-p 'hardhat)
nil
ELISP> (cdr (assq 'hardhat package-archive-contents))
[cl-struct-package-desc hardhat
(20130522 1243)
"Protect against clobbering user-writable
files [github]"
((ignoramus
(0 6 2)))
single "melpa" nil]
ELISP> (package-install (cdr (assq 'ignoramus package-archive-contents)))
nil
ELISP> (package-install (cdr (assq 'hardhat package-archive-contents)))
*** Eval error *** File exists:
/Users/swiesner/.emacs.d/elpa/ignoramus-20130522.1245/ignoramus-pkg.el
ELISP> (package-initialize)
t
ELISP> (package-installed-p 'ignoramus)
t
ELISP> (package-install (cdr (assq 'hardhat package-archive-contents)))
nil
As you can see, when installing "hardhat", package.el still attempts
to install ignoramus though this package is already installed. Only
after re-initializing package.el, the ignoramus installation is
detected, and hardhat can be installed.
The packages mentioned in this mail are from the MELPA archive [1],
simply because I hit this bug with these packages, and was too lazy to
reproduce it with packages from the GNU ELPA archive. I don't think
that the archive matters, though.
[1]: http://melpa.milkbox.net/
Reply sent
to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
You have taken responsibility.
(Tue, 18 Jun 2013 01:28:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Sebastian Wiesner <lunaryorn <at> gmail.com>
:
bug acknowledged by developer.
(Tue, 18 Jun 2013 01:28:02 GMT)
Full text and
rfc822 format available.
Message #10 received at 14632-done <at> debbugs.gnu.org (full text, mbox):
> After "package-install", "package-installed-p" still returns nil for
> the package that was just installed. Consider:
ELISP> (package-installed-p 'nrepl)
> nil
ELISP> (package-install (cdr (assq 'nrepl package-archive-contents)))
> nil
ELISP> (package-installed-p 'nrepl)
> nil
Ah! Now I see what this piece of code was for!
Should be fixed now, sorry,
Stefan
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Tue, 16 Jul 2013 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 11 years and 338 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.