--- Begin Message ---
Subject: |
24.1.50; HOOK variable name in `add-hook' etc. confusing |
Date: |
Thu, 26 Apr 2012 00:45:26 +0200 |
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''
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#11342: 24.1.50; HOOK variable name in `add-hook' etc. confusing |
Date: |
Tue, 15 May 2012 10:46:54 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux) |
> 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
--- End Message ---