Subject: bug#16617: 24.3.50; REGRESSION: `C-q ?' pops up annoying *Char Help* buffer

From: Eli Zaretskii <[email-masked]>
Date: Thu, 03 Apr 2014 19:24:15 +0300

> Date: Sat, 1 Feb 2014 11:15:45 -0800 (PST)
> From: Drew Adams <[email-masked]>
> 
> This is a regression.  `C-q ?' pops up an annoying "*Char Help*" buffer.

This is indeed a regression, but the only real bug I see here is that
the "*Char Help*" buffer pops _down_ so quickly one can hardly notice
it, let alone read the text it wants to display.

> What is said here for `?' is also true for `<f1>'.  It is not true for
> `C-h', however.

C-h is explicitly excluded from triggering this.  I don't know why '?'
should also be excluded -- it's not like someone needs C-q to insert
'?' in most situations -- but in any case it's one of the help
characters, and many commands show help when user presses '?'.  I
don't see why this command should not.

> The char inserted when using `C-q <f1>' is `^@'.
> `<f1>' is not a character, so it should not cause a character to be
> inserted.

I disagree.  C-q causes the next keystroke act as self-inserting
character.  What that inserts depends on the keyboard configuration
and on the platform.  I don't know how you decided that F1 should not
cause any insertions; FWIW, Emacs inserts ^@ (i.e. null) on GNU/Linux
as well, at least on the system where I tried.

> 1. The text in this help buffer is not formatted (e.g. filled)
>    correctly.

Not sure if that is on purpose, but I can see some logic to the way it
is shaped.

> 2. The doc string for `quoted-insert' does not even mention this bizarre
>    `?' behavior.

'?' is a usual help character; we don't mention its effect in any
other commands, so why should this be different?

>    Nor does this behavior seem to be documented elsewhere.

??? From the Emacs manual (node "Help"):

     `C-h', <F1>, or `?' means "help" in various other contexts as well.
  For instance, you can type them after a prefix key to view a list of
  the keys that can follow the prefix key.  (A few prefix keys don't
  support `C-h' or `?' in this way, because they define other meanings
  for it, but they all support <F1> for help.)

>    It is not even listed in NEWS as a change (an incompatible change, no
>    less).

This feature is very old, so I don't see why you'd want to find it in
NEWS.  We don't usually announce regressions in NEWS.

> 3. This *Char Help* buffer should not be popped up at all - for ANY char
>    that you type after `C-q'.  This is a misfeature.  `?' should just be
>    inserted, with no noise.  It should certainly not be interpreted as
>    a plea for help.

Disagree, see above.  C-q is just another command, and as such, it can
benefit from some user guidance, like other commands.

> 4. With `emacs -Q', you might not even notice the popped-up *Char Help*
>    buffer, which means that it does not even do what the enhancer
>    presumably intended.  It just flashes for an instant - impossible to
>    read it, and serving no purpose but to annoy and puzzle.  This alone
>    is a regression wrt previous Emacs releases.

Agreed.  This should be fixed.

> 5. In other contexts it can be even more annoying: (a) The help really
>    is shown.  (b) It can remain shown, requiring the user to remove it.
>    (c) That can even involve requiring the user to change buffers and
>    delete a frame.  (d) It can require that you hit `?' again, to insert
>    the `?' char (after moving back to the right frame).

This isn't different from any other help, is it?  If so, I see no
problem here, just the usual Emacs behavior.