GNU bug report logs -
#25819
25.1; Added by Package.el. Added by Package.el. Added by Package.el. Added by Package.el.
Previous Next
Reported by: frederik <at> ofb.net
Date: Mon, 20 Feb 2017 20:16:01 UTC
Severity: minor
Tags: fixed, patch
Merged with 24643
Found in version 25.1
Fixed in version 26.1
Done: npostavs <at> users.sourceforge.net
Bug is archived. No further changes may be made.
Full log
Message #30 received at 25819 <at> debbugs.gnu.org (full text, mbox):
Thank you!
On Wed, Feb 22, 2017 at 09:28:02PM -0500, npostavs <at> users.sourceforge.net wrote:
> forcemerge 25819 24643
> tags 25819 patch
> quit
>
> frederik <at> ofb.net writes:
>
> > On Wed, Feb 22, 2017 at 02:28:27PM -0500, Glenn Morris wrote:
> >>
> >> I tested with:
> >>
> >> /tmp/h1/.emacs:
> >> (setenv "HOME" "/tmp/h2/")
> >> (setq savehist-file "/tmp/h1/.emacs-history")
> >> (load "~/.emacs")
> >> (setenv "HOME" "/tmp/h1/")
> >>
> >> /tmp/h2/.emacs:
> >> (setq foo 99)
> >>
> >>
> >> HOME=/tmp/h1 emacs-25.1
> >> M-x package-initialize
> >
> > You don't think my problem is common!? :) Well I'm not sure how other
> > people edit files as root,
>
> Probably with TRAMP: https://www.emacswiki.org/emacs/TrampMode#toc20
>
> > Thank you (indeed) for taking the time to trim down my problem to a
> > minimal test case. If we make it a little less minimal:
> >
> > /tmp/h2/.emacs:
> > (setq foo 99)
> > (package-initialize)
> >
> > then I find it reproduces the problem:
>
> AFAICT, this is essentially the problem described in #24643 and should be
> fixed by the suggestion there:
>
> From aeae23ab082e948eca71ead3ea50a49a4fe73251 Mon Sep 17 00:00:00 2001
> From: Noam Postavsky <npostavs <at> gmail.com>
> Date: Wed, 22 Feb 2017 21:12:41 -0500
> Subject: [PATCH v1] Don't call package--ensure-init-file if initialized during
> startup
>
> * lisp/emacs-lisp/package.el (package-initialize): Check
> `after-init-time' rather than `load-file-name' to decide if
> `package--ensure-init-file' should be called. Depending on
> `load-file-name' will fail if the user calls `pacakge-initialize' in
> file which is loaded from the init file (Bug#24643, Bug#25819).
> ---
> lisp/emacs-lisp/package.el | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
> index 0851c5e1fd..ee4bb750ab 100644
> --- a/lisp/emacs-lisp/package.el
> +++ b/lisp/emacs-lisp/package.el
> @@ -1445,13 +1445,13 @@ package-initialize
> taken care of by `package-initialize'."
> (interactive)
> (setq package-alist nil)
> - (if (equal user-init-file load-file-name)
> - ;; If `package-initialize' is being called as part of loading
> - ;; the init file, it's obvious we don't need to ensure-init.
> - (setq package--init-file-ensured t
> - ;; And likely we don't need to run it again after init.
> - package-enable-at-startup nil)
> - (package--ensure-init-file))
> + (if after-init-time
> + (package--ensure-init-file)
> + ;; If `package-initialize' is before we finished loading the init
> + ;; file, it's obvious we don't need to ensure-init.
> + (setq package--init-file-ensured t
> + ;; And likely we don't need to run it again after init.
> + package-enable-at-startup nil))
> (package-load-all-descriptors)
> (package-read-all-archive-contents)
> (unless no-activate
> --
> 2.11.1
>
This bug report was last modified 8 years and 85 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.