GNU bug report logs -
#11342
24.1.50; HOOK variable name in `add-hook' etc. confusing
Previous Next
Reported by: michael_heerdegen <at> web.de
Date: Wed, 25 Apr 2012 22:45:01 UTC
Severity: minor
Found in version 24.1.50
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Tue, 15 May 2012 10:46:54 -0400
with message-id <jwv8vgtqzfh.fsf-monnier+emacs <at> gnu.org>
and subject line Re: bug#11342: 24.1.50; HOOK variable name in `add-hook' etc. confusing
has caused the debbugs.gnu.org bug report #11342,
regarding 24.1.50; HOOK variable name in `add-hook' etc. confusing
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
11342: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11342
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Hi,
this is just a tiny detail, but confusing for newbies:
Turn on eldoc mode in any elisp buffer. If you move point into an
`add-hook' or `remove-hook' form, you get e.g. the message
remove-hook: (HOOK FUNCTION &optional LOCAL)
You could misinterpret that and think that the first argument must be
a value representing a hook. But actually it must be a _symbol_
holding a hook.
So, I want to make the suggestion to replace the variable `hook' in
the definition of `remove-hook' by `hook-var', and to do the same for
`add-hook' and `run-hooks'. Then, the eldoc message would be
remove-hook: (HOOK-VAR FUNCTION &optional LOCAL)
which is more clear.
Thanks,
Michael.
In GNU Emacs 24.1.50.1 (i486-pc-linux-gnu, GTK+ Version 3.4.1)
of 2012-04-23 on zelenka, modified by Debian
(emacs-snapshot package, version 2:20120423-1)
Windowing system distributor `The X.Org Foundation', version 11.0.11104000
Configured using:
`configure '--build' 'i486-linux-gnu' '--host' 'i486-linux-gnu'
'--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
'--localstatedir=/var' '--infodir=/usr/share/info'
'--mandir=/usr/share/man' '--with-pop=yes'
'--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/24.1.50/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.1.50/site-lisp:/usr/share/emacs/site-lisp'
'--without-compress-info' '--with-crt-dir=/usr/lib/i386-linux-gnu/'
'--with-x=yes' '--with-x-toolkit=gtk3' '--with-imagemagick=yes'
'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu'
'CFLAGS=-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=5000 -g -O2''
[Message part 3 (message/rfc822, inline)]
> remove-hook: (HOOK FUNCTION &optional LOCAL)
> You could misinterpret that and think that the first argument must be
> a value representing a hook. But actually it must be a _symbol_
> holding a hook.
Actually, the docstring says "HOOK should be a symbol", so the problem
is only that you base your decision on the eldoc info, which is
necessarily too limited to be trusted to give that kind of detail.
I find that changing the argument name makes the code and docstring too
verbose for my taste, so I don't think it's worth the trouble.
Stefan
This bug report was last modified 13 years and 8 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.