[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Why js2-mode in Emacs 23.2?
From: |
Richard Riley |
Subject: |
Re: Why js2-mode in Emacs 23.2? |
Date: |
Mon, 10 Aug 2009 12:22:21 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Leo <address@hidden> writes:
> On 2009-08-10 09:54 +0100, CHENG Gao wrote:
>>> I seem to recall RMS said that sometime ago. It is also documented in
>>> the elisp manual:
>>>
>>> ,----[ (info "(elisp)Hooks for Loading") ]
>>> | In general, well-designed Lisp programs should not use this feature.
>>> | The clean and modular ways to interact with a Lisp library are (1)
>>> | examine and set the library's variables (those which are meant for
>>> | outside use), and (2) call the library's functions. If you wish to do
>>> | (1), you can do it immediately--there is no need to wait for when the
>>> | library is loaded. To do (2), you must load the library (preferably
>>> | with `require').
>>> |
>>> | But it is OK to use `eval-after-load' in your personal
>>> | customizations if you don't feel they must meet the design standards
>>> | for programs meant for wider use.
>>> `----
>>>
>>> Best,
>>
>> It's in ELISP info manual, under "Emacs Lisp Coding Conventions".
>
> Yes. for convenience:
>
> ,----[ (info "(elisp)Coding Conventions") ]
> | * Avoid using `eval-after-load' in libraries and packages (*note
> | Hooks for Loading::). This feature is meant for personal
> | customizations; using it in a Lisp program is unclean, because it
> | modifies the behavior of another Lisp file in a way that's not
> | visible in that file. This is an obstacle for debugging, much
> | like advising a function in the other package.
> `----
It strikes me as no more unclean than loading a package and then calling
any of its "public" interfaces. Since for sure the package maintainer
does not know what the end user has called or modified after it is
loaded regardless.
I fail to see the weakness in (pseudo code)
"After the package has loaded perform the following possibly time
consuming tasks"
compared to
"load the package and perform the following possibly time consuming
tasks".
other than the first one is likely much more efficient in terms of it being
autoloaded when needed.
- Re: Why js2-mode in Emacs 23.2?, (continued)
- Re: Why js2-mode in Emacs 23.2?, Leo, 2009/08/09
- Re: Why js2-mode in Emacs 23.2?, Daniel Colascione, 2009/08/09
- Re: Why js2-mode in Emacs 23.2?, Carsten Dominik, 2009/08/10
- Re: Why js2-mode in Emacs 23.2?, Leo, 2009/08/10
- Re: Why js2-mode in Emacs 23.2?, CHENG Gao, 2009/08/10
- Re: Why js2-mode in Emacs 23.2?, Leo, 2009/08/10
- Re: Why js2-mode in Emacs 23.2?,
Richard Riley <=
- eval-after-load not harmful after all (Was: Re: Why js-2mode?), Daniel Colascione, 2009/08/10
- RE: eval-after-load not harmful after all (Was: Re: Why js-2mode?), Drew Adams, 2009/08/10
- Re: eval-after-load not harmful after all, Stefan Monnier, 2009/08/10
- RE: eval-after-load not harmful after all (Was: Re: Why js-2mode?), Stephen J. Turnbull, 2009/08/10
- RE: eval-after-load not harmful after all (Was: Re: Why js-2mode?), Drew Adams, 2009/08/10
- RE: eval-after-load not harmful after all (Was: Re: Why js-2mode?), Stephen J. Turnbull, 2009/08/11
- Re: eval-after-load not harmful after all, Stefan Monnier, 2009/08/11
- Re: eval-after-load not harmful after all, Leo, 2009/08/16
- Re: eval-after-load not harmful after all, Lennart Borgman, 2009/08/16
- Re: eval-after-load not harmful after all, Leo, 2009/08/17