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 60 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.