Subject: RE: 23.0.94; Remove colon after option etc. name

From: "Drew Adams" <[email-masked]>
Date: Mon, 11 Jul 2011 09:53:39 -0700

> > Please remove the colon after the option (or face etc.) 
> > name, at least when `custom-unlispify-*' is nil.
> >
> > A colon is a symbol consituent. A command that picks up the 
> > symbol at point will conveniently pick up the variable etc.
> > name, but it will also include the colon (assuming that it
> > correctly respects Lisp symbol syntax), which is incorrect.
> 
> If I have (setq custom-unlispify-tag-names nil)
> and I customize (randomly) `calculator-bind-escape', then 
> `C-h v' on the variable name picks this up as expected (without
> the colon).
> 
> So has this been fixed, or do you still see it with other options?

It has not been fixed.  You do not see it because `variable-at-point' (used by
`describe-variable') compensates here.  (Likewise, `symbol-at-point'.)

The wrong syntax table is being used for Customize, AFAICT.  As the bug report
says, a Customize buffer should use Emacs Lisp syntax, not something else.  And
with Emacs Lisp syntax a `:' is a symbol constituent.

After fixing the syntax table, a command or other function that picks up a Lisp
symbol name at that point will pick up the `:' too (since it is a symbol
constituent).

If you do (set-syntax-table emacs-lisp-mode-syntax-table), which is missing
(part of this bug report), and then you put the cursor on the `:', and then you
do `C-u x =', you will see that the `:' is a symbol constituent.

The buffer syntax should be that of Emacs Lisp.  Arbitrary functions that pick
up (Lisp) symbol names should and will then pick up a `:' as part of a symbol
name.  Because of this, we should remove this colon, which is anyway
unnecessary.