Subject: bug#23130: 25.1.50; `C-h f' etc.: escaping in symbol names

From: Drew Adams <[email-masked]>
Date: Sun, 27 Mar 2016 16:25:07 -0700 (PDT)

(defun foo. () (message "FOOOOOO"))

Put point somewhere on the name `foo.'.
`C-h f'
You see this message: Describe function (default foo.):
                                                 ^^^^

Hit `RET'.  You see this output in *Help*:

 foo\. is a Lisp function.

 (foo\.)

Not sure what others might think of this.  The name of the symbol is
"foo.", not "foo\.".  This is correctly reflected in the prompt.

I'm thinking it should also be reflected in the first line of the *Help*
output: "foo. is a Lisp function."

Or better yet, to remove all ambiguity, even for characters such as SPC
in the function name, enclose the name in `...':

(defun bar\  () (message "BARRRR"))

`C-h f'
Describe function (default bar ): RET

 bar\ is a Lisp function.

 (bar\ )

Note that the first line here is not even correct - it should at least
have another SPC char after the `\ '.  The way it is written now, it
suggests that the name is `bar\', i.e., that the symbol is bar\\.

I think it would be better to show something like this:

 `foo.' is a Lisp function.

 (foo\.)

 `bar ' is a Lisp function.

 (bar\ )

And it would be better to use `...' also in the prompt:

 Describe function (default `foo.'):
 Describe function (default `bar '):

The same thing holds for other help commands (`describe-variable',
`describe-mode', `describe-face', etc.).  The first line of help output
gives the symbol's name.  At least it should be enclosed in `...'.  And
perhaps when the name is indicated, as opposed to the symbol itself,
such chars should not be escaped.

In GNU Emacs 25.1.50.1 (i686-pc-mingw32)
 of 2015-12-10
Repository revision: 6148555ee5a3d0139ae517803718b3e0357933c7
Windowing system distributor 'Microsoft Corp.', version 6.1.7601
Configured using:
 'configure --prefix=/c/Devel/emacs/snapshot/trunk --enable-checking=yes
 --enable-check-lisp-object-type --without-compress-install 'CFLAGS=-Og
 -ggdb3' LDFLAGS=-Lc:/Devel/emacs/lib 'CPPFLAGS=-DGC_MCHECK=1
 -Ic:/Devel/emacs/include''