Subject: Re: bug#55655: 28.1; package.el no longers respects `user-emacs-directory'

From: Stefan Monnier <[email-masked]>
Date: Thu, 26 May 2022 11:29:12 -0400

Shitikanth [2022-05-26 16:37:48] wrote:
> Until emacs 27.2, package.el used to correctly pick `package-user-dir'
> based on the value of `user-emacs-directory', but it now seems to ignore
> it and defaults to "~/.emacs.d/elpa".
>
> Demo:
>     (setq user-emacs-directory "/tmp")
>     (require 'package)
>     (message "%s" package-user-dir)
>
> Starting with "emacs -Q" this would output "~/.emacs.d/elpa".
> Expected output: "/tmp/elpa" (as in emacs 27.2).

That expectation is wrong, sadly, because it assumes that the
initialization of `package-user-dir` takes place during (require
'package), which is not the case because that variable is now
initialized earlier.

I understand it's a change, but it might be difficult to make this
specific recipe work the way you want without breaking other use-cases.

Could you give some more details about the use case that actually
affects you (I hope it's slightly different from the simplified recipe
shown above)?

        Stefan