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

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

Re: How can i enable webmode?


From: H. Dieter Wilhelm
Subject: Re: How can i enable webmode?
Date: Mon, 11 May 2020 13:55:22 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Drew Adams <drew.adams@oracle.com> writes:

>> For example the Melpa package `inform' is activating itsel during
>> installation (and maybe by restarting Emacs in some situations).  The
>> motivation is: If you are interested you'll have it without much ado
>> and
>> if you don't like it any more just uninstall the small package.
>> 
>> Does it make sense or do you regard this behaviour as impolite?
>
> It's generally considered impolite, and is
> contrary to convention.

Thank you for showing the Lisp coding convention.

And I accept these reasonable rules.  But I think there are also
borderline cases where (small?) packages don't change editing behaviour
and do not change existing code in any way.  And the its feature(s) can
be completely removed by uninstalling the package.

Why would I download a package if I do not want to activate an
advertised feature?  So this uncommon way can save unnecessary hassle, I
hope.

        Dieter


> Loading a library should in general not change
> most user-observable behavior.  It shouldn't
> change faces, key bindings, actions of existing
> commands, etc.
>
> "Installing a package" does a little bit more
> than loading a typical library (Lisp file).
> The main thing package-installing does, which
> might or might not be done by just loading a
> library (e.g. `require'), is to establish
> autoloading for some commands etc.
> ___
>
> This is, in fact, the very first rule of the
> Emacs Lisp Coding Conventions:
>
>   D.1 Emacs Lisp Coding Conventions
>   =================================
>
>   Here are conventions that you should follow when
>   writing Emacs Lisp code intended for widespread use:
>
>    • Simply loading a package should not change Emacs’s
>      editing behavior.  Include a command or commands
>      to enable and disable the feature, or to invoke it.
>
>      This convention is mandatory for any file that
>      includes custom definitions.  If fixing such a file
>      to follow this convention requires an incompatible
>      change, go ahead and make the incompatible change;
>      don’t postpone it.
>
> https://www.gnu.org/software/emacs/manual/html_node/elisp/Coding-Conventions.html
>
> These conventions apply pretty strictly to code
> to be included in Emacs.  And they are offered
> as guidance for 3rd-party (i.e., user) code.
>
>

-- 
Best wishes
H. Dieter Wilhelm
Zwingenberg, Germany



reply via email to

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