all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#14632: 24.3.50; package-install-p returns nil after package-install
@ 2013-06-16  8:47 Sebastian Wiesner
  2013-06-18  1:27 ` Stefan Monnier
  0 siblings, 1 reply; 2+ messages in thread
From: Sebastian Wiesner @ 2013-06-16  8:47 UTC (permalink / raw)
  To: 14632


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/





^ permalink raw reply	[flat|nested] 2+ messages in thread

* bug#14632: 24.3.50; package-install-p returns nil after package-install
  2013-06-16  8:47 bug#14632: 24.3.50; package-install-p returns nil after package-install Sebastian Wiesner
@ 2013-06-18  1:27 ` Stefan Monnier
  0 siblings, 0 replies; 2+ messages in thread
From: Stefan Monnier @ 2013-06-18  1:27 UTC (permalink / raw)
  To: Sebastian Wiesner; +Cc: 14632-done

> 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





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-06-18  1:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-16  8:47 bug#14632: 24.3.50; package-install-p returns nil after package-install Sebastian Wiesner
2013-06-18  1:27 ` Stefan Monnier

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.