From: Daniel Colascione <danc@merrillpress.com>
To: Stephen J. Turnbull <stephen@xemacs.org>
Cc: 'CHENG Gao' <chenggao@gmail.com>,
'Carsten Dominik' <dominik@uva.nl>, 'Leo' <sdl.web@gmail.com>,
Drew Adams <drew.adams@oracle.com>,
emacs-devel@gnu.org
Subject: Re: eval-after-load not harmful after all (Was: Re: Why js-2mode?)
Date: Mon, 10 Aug 2009 23:06:41 -0400 [thread overview]
Message-ID: <1D8E5A42-FE2C-4B54-B189-C6EAC4A0D47E@merrillpress.com> (raw)
In-Reply-To: <878whr9o4c.fsf@uwakimon.sk.tsukuba.ac.jp>
On Aug 10, 2009, at 8:43 PM, Stephen J. Turnbull wrote:
> Drew Adams writes:
>> In Icicles, I sometimes `require' other libraries explicitly. But
>> in a few cases
>> I use `eval-after-load' instead - for exactly the kind of thing
>> that Carsten
>> described.
>>
>> I agree with Daniel, Carsten, and others that `eval-after-load'
>> should not be
>> demonized.
>
> I have no objection to use of `eval-after-load' in user or site files
> that are disabled by emacs -q. But `eval-after-load' in core files is
> like smoking in an elevator next to a pregnant woman. It's very
> convenient, maybe even "necessary", from the point of view of the
> user of the feature, but he doesn't bear the pain of debugging a
> Heisenbug that appears for the user of random-package-using-e-a-l.
You haven't actually addressed the reason for using e-a-l and provided
alternatives, nor have you provided any concrete examples of the harm
e-a-l might cause. You've just put "necessary" in scare quotes without
even considering the idea that it might actually *be* necessary.
If packages M needs to work with optional package Q, then there are
two approaches: either M can use eval-after-load to customize Q, or Q
can include a list of every possible M with which it can be used. You
might decry the former, but I don't think the latter is any more
maintainable.
next prev parent reply other threads:[~2009-08-11 3:06 UTC|newest]
Thread overview: 122+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-09 23:34 Why js2-mode in Emacs 23.2? Deniz Dogan
2009-08-09 23:38 ` Lennart Borgman
2009-08-09 23:46 ` Daniel Colascione
2009-08-09 23:50 ` Deniz Dogan
2009-08-09 23:56 ` Lennart Borgman
2009-08-09 23:56 ` Daniel Colascione
2009-08-09 23:55 ` Lennart Borgman
2009-08-09 23:58 ` Daniel Colascione
2009-08-10 0:00 ` Lennart Borgman
2009-08-10 0:06 ` Daniel Colascione
2009-08-10 0:17 ` Lennart Borgman
2009-08-10 0:46 ` Daniel Colascione
2009-08-10 0:55 ` Lennart Borgman
2009-08-10 0:18 ` Leo
2009-08-10 0:49 ` Daniel Colascione
2009-08-10 7:06 ` Carsten Dominik
2009-08-10 8:44 ` Leo
2009-08-10 8:54 ` CHENG Gao
2009-08-10 9:26 ` Leo
2009-08-10 10:22 ` Richard Riley
2009-08-10 15:21 ` eval-after-load not harmful after all (Was: Re: Why js-2mode?) Daniel Colascione
2009-08-10 17:01 ` Drew Adams
2009-08-10 17:21 ` eval-after-load not harmful after all Stefan Monnier
2009-08-11 0:43 ` eval-after-load not harmful after all (Was: Re: Why js-2mode?) Stephen J. Turnbull
2009-08-11 0:46 ` Drew Adams
2009-08-11 14:06 ` Stephen J. Turnbull
2009-08-11 15:08 ` eval-after-load not harmful after all Stefan Monnier
2009-08-16 21:43 ` Leo
2009-08-17 0:34 ` Lennart Borgman
2009-08-17 11:44 ` Leo
2009-08-17 11:55 ` Lennart Borgman
2009-08-17 12:26 ` Leo
2009-08-17 14:40 ` Lennart Borgman
2009-08-11 0:53 ` eval-after-load not harmful after all (Was: Re: Why js-2mode?) Lennart Borgman
2009-08-11 3:06 ` Daniel Colascione [this message]
2009-08-11 9:17 ` Leo
2009-08-11 14:37 ` Stephen J. Turnbull
2009-08-10 10:41 ` Why js2-mode in Emacs 23.2? Carsten Dominik
2009-08-10 13:04 ` Leo
2009-08-10 14:55 ` Stefan Monnier
2009-08-11 1:13 ` Glenn Morris
2009-08-11 3:02 ` Daniel Colascione
2009-08-11 4:28 ` Dan Nicolaescu
2009-08-11 4:33 ` Daniel Colascione
2009-08-11 4:39 ` Dan Nicolaescu
2009-08-11 4:45 ` Daniel Colascione
2009-08-11 4:37 ` Glenn Morris
2009-08-10 2:47 ` Stefan Monnier
2009-08-10 2:55 ` Lennart Borgman
2009-08-10 13:12 ` Stefan Monnier
2009-08-10 0:32 ` Leo
2009-08-10 0:48 ` Daniel Colascione
2009-08-10 2:55 ` Stefan Monnier
2009-08-10 3:24 ` Miles Bader
2009-08-10 3:27 ` Lennart Borgman
2009-08-10 3:45 ` Daniel Colascione
2009-08-10 5:18 ` Jason Rumney
2009-08-10 5:51 ` Xah Lee
2009-08-10 6:22 ` Xah Lee
2009-08-10 6:59 ` Miles Bader
2009-08-10 11:01 ` Lennart Borgman
2009-08-10 17:35 ` "Font-lock is limited to text matching" is a myth Daniel Colascione
2009-08-10 18:04 ` Lennart Borgman
2009-08-10 20:42 ` David Engster
2009-08-10 20:51 ` Lennart Borgman
2009-08-10 22:06 ` Eric M. Ludlam
2009-08-10 22:19 ` Lennart Borgman
2009-08-11 1:50 ` Eric M. Ludlam
2009-08-11 6:47 ` Steve Yegge
2009-08-11 9:17 ` Miles Bader
2009-08-11 12:13 ` Daniel Colascione
2009-08-11 14:37 ` Miles Bader
2009-08-11 14:49 ` Lennart Borgman
2009-08-11 14:57 ` Daniel Colascione
2009-08-11 14:53 ` Daniel Colascione
2009-08-11 15:08 ` Lennart Borgman
2009-08-11 15:36 ` Miles Bader
2009-08-11 15:56 ` Stephen J. Turnbull
2009-08-11 15:54 ` Lennart Borgman
2009-08-11 17:00 ` Stephen J. Turnbull
2009-08-11 17:19 ` Lennart Borgman
2009-08-11 15:57 ` Miles Bader
2009-08-11 17:06 ` Stephen J. Turnbull
2009-08-11 14:50 ` Chong Yidong
2009-08-11 15:06 ` Daniel Colascione
2009-08-11 15:11 ` Lennart Borgman
2009-08-11 15:16 ` Daniel Colascione
2009-08-11 15:44 ` Lennart Borgman
2009-08-11 18:04 ` joakim
2009-08-11 18:08 ` Lennart Borgman
2009-08-11 19:12 ` joakim
2009-08-11 17:09 ` Stefan Monnier
2009-08-11 16:04 ` Stefan Monnier
2009-08-11 18:10 ` Edward O'Connor
2009-08-12 1:58 ` Steve Yegge
2009-08-12 13:48 ` Chong Yidong
2009-08-12 16:07 ` Lennart Borgman
2009-08-12 22:08 ` Steve Yegge
2009-08-14 1:22 ` Stefan Monnier
2009-08-12 2:16 ` Eric M. Ludlam
2009-08-12 6:43 ` Miles Bader
2009-08-12 11:28 ` Xah Lee
2010-11-23 14:43 ` Stefan Monnier
2009-08-12 15:21 ` asynchronous parsing (was: "Font-lock is limited to text matching" is a myth) Ted Zlatanov
2009-08-12 17:16 ` asynchronous parsing joakim
2009-08-12 19:39 ` Ted Zlatanov
2009-08-12 20:01 ` joakim
2009-08-13 2:51 ` Stefan Monnier
2009-08-13 14:51 ` Ted Zlatanov
2009-08-11 19:48 ` "Font-lock is limited to text matching" is a myth Lennart Borgman
2009-08-10 18:47 ` Stefan Monnier
2009-08-10 18:55 ` Lennart Borgman
2009-08-11 3:33 ` Stefan Monnier
2009-08-10 14:49 ` Why js2-mode in Emacs 23.2? Stefan Monnier
2009-08-10 6:46 ` Deniz Dogan
2009-08-10 14:53 ` Stefan Monnier
2009-08-10 14:05 ` Stephen Eilert
2009-08-10 14:37 ` Lennart Borgman
2009-08-10 14:42 ` Deniz Dogan
2009-08-10 19:12 ` Stephen Eilert
2009-08-10 14:41 ` Deniz Dogan
2009-08-10 14:57 ` Lennart Borgman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1D8E5A42-FE2C-4B54-B189-C6EAC4A0D47E@merrillpress.com \
--to=danc@merrillpress.com \
--cc=chenggao@gmail.com \
--cc=dominik@uva.nl \
--cc=drew.adams@oracle.com \
--cc=emacs-devel@gnu.org \
--cc=sdl.web@gmail.com \
--cc=stephen@xemacs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).