Subject: bug#10475: 24.0.92; `C-h v' displays `*' indicating user option

From: "Drew Adams" <[email-masked]>
Date: Tue, 10 Jan 2012 14:08:51 -0800

(defcustom foo nil
  "*A foobar function or nil."
  :type '(choice (const :tag "None" nil) function)
  :group 'convenience)
 
Then `C-h v foo'.  The `*' indicating that this is a user variable
(e.g. usable by `set-variable') is printed as if it were part of the
doc.  It should be removed.
 
The fix is trivial:
(when (eq ?* (elt doc 0))  (setq doc  (substring doc 1)))
 
Yes, Emacs no longer requires a `*' as a doc-string prefix with
`defcustom'.  But `describe-variable' should still DTRT with doc strings
from code that is designed to work also with older Emacs versions.
 
In addition, `user-variable-p' is the test used for functions such as
`set-variable', and it`user-variable-p' recognizes the `*' as defining a
user variable.  This is correct behavior.  The only problem is that
`describe-variable' should not treat this `*' as if it were part of the
doc text.
 
In GNU Emacs 24.0.92.1 (i386-mingw-nt5.1.2600) of 2012-01-05 on MARVIN
 Windowing system distributor `Microsoft Corp.', version 5.1.2600
 configured using `configure --with-gcc (4.6) --no-opt --cflags
 -ID:/devel/emacs/libs/libXpm-3.5.8/include
 -ID:/devel/emacs/libs/libXpm-3.5.8/src
 -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
 -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
 -ID:/devel/emacs/libs/giflib-4.1.4-1/include
 -ID:/devel/emacs/libs/jpeg-6b-4/include
 -ID:/devel/emacs/libs/tiff-3.8.2-1/include
 -ID:/devel/emacs/libs/gnutls-3.0.9/include --ldflags
 -LD:/devel/emacs/libs/gnutls-3.0.9/lib'