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

From: Shitikanth <[email-masked]>
Date: Fri, 27 May 2022 10:40:53 +0530

>Could you give some more details about the use case that actually
affects you

I just have a couple of different configs and use them with
"emacs -Q --load $config_dir/init.el" and set the user-emacs-directory
early in "$config_dir/init.el". This was also the easiest way to try out
other people's configs without disturbing your own.

I guess I was always aware that this was an abuse of the init system,
so if this is an intended change, you can close the bug report.

On Thu, 26 May 2022 at 20:59, Stefan Monnier <[email-masked]> wrote:
>
> 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
>