help-gnu-emacs
[Top][All Lists]
Advanced

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

RE: [External] : Re: Running emacs without any customisation


From: Drew Adams
Subject: RE: [External] : Re: Running emacs without any customisation
Date: Tue, 11 Oct 2022 15:57:38 +0000

> It is an error in a package if loading the package has side effects other
> than defining functions and variables, recursively loading other stuff,
> and these things, but not all stuff out there respects that rule.

FWIW, I disagree that "it is an error".
It may be poor form, unfriendly, or impolite,
but it's not an error.  And yes, it's a "rule"
(guideline), and a useful one.

But it need not always be poor form, unfriendly,
or impolite, provided users are sufficiently
informed clearly what loading the library does,
that is, just what side effects it performs.

In general, yes, it's _not_ user-friendly etc.
In particular, however, it could be.

It's analogous to turning on a minor mode
(though not the same): If you know what loading
some package does, and you load it, then you
are, in effect, turning on a "mode".  It's a
user _choice_ to load a library.

One big disadvantage, however is that you might
not have read the doc explaining what loading
does.  Another big disadvantage is that
`unload-feature' and `<XXX>-unload-function'
might not (likely will not) truly reverse
everything that loading did.

To be clear, I'm not arguing in favor of side
effects while loading a library.  I'm just
disagreeing that that's an error, or that it's
always necessarily a big bad thing.

Your init file is a "library".  You load it.
It performs side effects.  It's your choice to
load it (versus `emacs -Q').  Of course, you're
likely the only user of your init file, so at
worst you shoot only yourself in the foot.

There's a fuzzy gradation from such a Lisp file
and a "library" or "package".  (That's Lisp and
free software.)



reply via email to

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