From: Drew Adams <drew.adams@oracle.com>
To: 16810@debbugs.gnu.org
Subject: bug#16810: 24.3.50; `with-eval-after-load'
Date: Wed, 19 Feb 2014 09:00:59 -0800 (PST) [thread overview]
Message-ID: <ecf9f27c-44b5-49b5-b9da-708a4d39f5c4@default> (raw)
1. The NEWS entry is not helpful enough:
"This is like the old `eval-after-load', but better behaved."
What does that even mean? How so? How is it like it? How is it
different? What is "better" about the (unspecified) behavior
difference? Why was the macro introduced?
The main difference I can see, based on the available doc, is that
the macro evaluates the BODY "*each time* LIBRARY is loaded". Is
that considered "better behaved"? Why?
That important difference (assuming the manual is correct about that)
is not even mentioned in the doc string. And it is not stressed in
the Elisp manual - you have to read carefully to get it.
Other, obvious differences, which I can hardly imagine to constitute
"better" behavior and so call for introducing this macro, let alone
replacing `eval-after-load' with it, are (a) that it is a macro, so
you do not need to quote its arg (and so cannot pass it something to
be evaluated) and (b) that it uses an implicit `progn'. What else is
different?
2. The doc string is not helpful enough.
Compare the doc string of `eval-after-load' with this doc string.
Someone actually tried (and succeeded) to describe what
`eval-after-load' does.
3. Elisp manual:
`eval-after-load' is referenced multiple times, but it is not
described/specified. Its description has been removed from the
manual. It needs to be reinstated.
The Elisp manual says that`eval-after-load' is primarily for users
(e.g., in their init files), not for Lisp libraries. But the Emacs
manual also does not describe it. This does not help users.
The doc for both `eval-after-load' and `with-eval-after-load' is now
incomplete and confusing.
4. Posts here and there (e.g.,
http://lists.gnu.org/archive/html/emacs-devel/2014-02/msg00270.html)
suggest that `eval-after-load' is being replaced by
`with-eval-after-load'. All the more reason to document the proposed
new at least as well as the old was documented.
5. I can find no proposal or discussion of `with-eval-after-load' in
either emacs-devel or the bug list. It seems to have just appeared,
followed by a few statements here and there suggesting that it is
replacing `eval-after-load'. What happened to proposal >
discussion > implementation & doc? What problem is this solution
trying to solve?
In GNU Emacs 24.3.50.1 (i686-pc-mingw32)
of 2014-02-11 on ODIEONE
Bzr revision: 116410 lekktu@gmail.com-20140211204823-l9l2s6tktfitq266
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
`configure --prefix=/c/Devel/emacs/binary --enable-checking=yes,glyphs
'CFLAGS=-O0 -g3' LDFLAGS=-Lc:/Devel/emacs/lib
CPPFLAGS=-Ic:/Devel/emacs/include'
next reply other threads:[~2014-02-19 17:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-19 17:00 Drew Adams [this message]
2014-02-19 18:45 ` bug#16810: 24.3.50; `with-eval-after-load' Drew Adams
2014-02-19 19:07 ` Juanma Barranquero
2014-02-19 19:31 ` Drew Adams
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=ecf9f27c-44b5-49b5-b9da-708a4d39f5c4@default \
--to=drew.adams@oracle.com \
--cc=16810@debbugs.gnu.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).