[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Loading a package applies automatically to future sessions?

From: Eli Zaretskii
Subject: Re: Loading a package applies automatically to future sessions?
Date: Sat, 10 Feb 2018 14:00:03 +0200

> From: Radon Rosborough <address@hidden>
> Date: Sun, 28 Jan 2018 10:20:49 -0800
> Cc: address@hidden, emacs-devel <address@hidden>
> > Please point out the places in the manual where we use "load" in the
> > former sense.  I think those places need to be fixed, because that's
> > not what "load" means in the Emacs context.
> The crux of the problem is here in emacs/package.texi:
> "Once a package is downloaded and installed, it is @dfn{loaded} into
> the current Emacs session. Loading a package is not quite the same as
> loading a Lisp library (@pxref{Lisp Libraries}); loading a package
> adds its directory to @code{load-path} and loads its autoloads."
> Frankly the name of `package-load-list' is misleading if we're going
> to change this terminology. It implies you are setting which packages
> are going to be loaded.
> We also have usage of this terminology in emacs/package.texi:
> "After a package is installed, it is automatically loaded by Emacs in
> all subsequent sessions."
> "As an exception, Emacs does not load packages at startup if invoked
> with the @samp{-q} or @samp{--no-init-file} options (@xref{Initial
> Options})."
> "To disable automatic package loading, change the variable
> @code{package-enable-at-startup} to @code{nil}. You must do this in
> the early init file, as the variable is read before loading the
> regular init file."
> "For finer control over package loading, you can use the variable
> @code{package-load-list}."
> "A list element of the form @code{(@var{name} @var{version})} tells
> Emacs to load version @var{version} of the package named @var{name}.
> Here, @var{version} should be a version string (corresponding to a
> specific version of the package), or @code{t} (which means to load any
> installed version), or @code{nil} (which means no version; this
> disables the package, preventing it from being loaded). A list element
> can also be the symbol @code{all}, which means to load the latest
> installed version of any package not named by the other list
> elements."
> "For example, if you set @code{package-load-list} to @code{'((muse
> "3.20") all)}, then Emacs only loads version 3.20 of the @samp{muse}
> package, plus any installed version of packages other than
> @samp{muse}."
> In lispref/package.texi:
> "Whenever Emacs starts up, it automatically calls the function
> @code{package-initialize} to load installed packages."
> "Automatic package loading is disabled if the user option
> @code{package-enable-at-startup} is set to @code{nil} in the early
> init file."
> "This function initializes Emacs' internal record of which packages
> are installed, and loads them. The user option
> @code{package-load-list} specifies which packages to load; by default,
> all installed packages are loaded. If called during startup, this
> function also sets @code{package-enable-at-startup} to @code{nil}, to
> avoid accidentally loading the packages twice."
> "The optional argument @var{no-activate}, if address@hidden, causes
> Emacs to update its record of installed packages without actually
> loading them; it is for internal use only."
> In lispref/os.texi:
> "For example, you can customize the process of loading installed
> packages, by setting variables such as @var{package-load-list} or
> @var{package-enable-at-startup}. @xref{Package Installation,,,
> emacs,The GNU Emacs Manual}."

Thanks.  It looks like all of those places are related to package.el,
so could you please take care of clarifying the issue as part of your
patch?  Most of those places are touched by your patch anyway.

I think the fix should be not to use "load" in this sense, but instead
tell we just make the package available by loading its autoloads.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]