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

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 20 Jun 2014 00:17:03 +0000

Your bug report

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

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
16617: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16617
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#16617: 24.3.50; REGRESSION: `C-q ?' pops up annoying *Char Help* buffer
From: Leo Liu <[email-masked]>
To: Stefan Monnier <[email-masked]>
Cc: Drew Adams <[email-masked]>, [email-masked]
Date: Fri, 20 Jun 2014 08:16:42 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Fixed in 24.4.

On 2014-06-19 11:43 -0400, Stefan Monnier wrote:
>> Can I fix it in emacs-24 along these lines? Thanks.   - Leo
>
> Yes, please.

Done.

Leo

Subject: 24.3.50; REGRESSION: `C-q ?' pops up annoying *Char Help* buffer
From: Drew Adams <[email-masked]>
To: [email-masked]
Date: Sat, 1 Feb 2014 11:15:45 -0800 (PST)
List-Id: <debbugs-submit.debbugs.gnu.org>

This is a regression.  `C-q ?' pops up an annoying "*Char Help*" buffer.

What is said here for `?' is also true for `<f1>'.  It is not true for
`C-h', however.  The char inserted when using `C-q <f1>' is `^@'.
`<f1>' is not a character, so it should not cause a character to be
inserted.

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

2. The doc string for `quoted-insert' does not even mention this bizarre
   `?' behavior.  Nor does this behavior seem to be documented elsewhere.
   It is not even listed in NEWS as a change (an incompatible change, no
   less).  The behavior for `<f1>' is not new, but it too is not
   documented in connection with `C-q' AFAICT.

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.

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.

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).

   For example, `emacs -Q', then set `pop-up-frames' to t, then do `C-q
   ?'.  A frame pops up with the helpful text.  You must hit `?' again,
   for `?'  to be inserted.  But before that you must change the input
   focus back to the original frame, or else you will get a read-only
   error for trying to insert `?' into the *Char Help* frame.  And of
   course at some point you must manually delete that helpful frame.

6. This help enhancement appeared already in previous Emacs versions, at
   least as far back as Emacs 22.  But there, most of the behavior
   described above does not occur.  So this is a regression wrt those
   versions.  But even those versions that introduce this help are a
   regression wrt earlier Emacs versions that do not.

   At least Emacs 22-24.3 do not show help for `?', but only for `<f1>'.
   In Emacs 22 through 24.3, with `emacs -Q', `C-h ?' inserts `?'
   normally.  And `C-q <f1>' does not insert any char; it just displays
   the help text.  So far, so good.

   However, with non-nil `pop-up-frames' in Emacs 22-24.3, the same
   problems described above arise for `C-q <f1>', and `^@' is inserted
   (but at least without needing to change focus back to the original
   frame).  I never noticed that bug (regression) for Emacs 22-24.3,
   because I never hit `<f1>'.

In sum, this help display interferes with `C-q' behavior (user
interaction).  It should be removed altogether.  Or if you do not
agree with that, then at least:

1. `?' should be removed from the equation and handled as any other
   character (i.e., just inserted).  It should not solicit help.

2. The bugged behavior when `pop-up-frames' is non-nil (or via any other
   settings that cause the help buffer to use another frame) must be
   fixed.  `C-q <f1>' should not insert `^@', ever.  And the focus
   should remain in the original frame.  And the help buffer's frame
   should be deleted when `quoted-insert' is done.

`C-q' should not interpret ANY characters, such as `?' specially as
instructions to show help.  It should just insert the character
("quoted", per its description), as it has always done before.

Yes, `<f1>' is not a character.  It could, as before (e.g. in Emacs
22-24.3), show such help.  But it should not do so in another frame
etc., or if it must, then that temporary help frame should be deleted
after the char is inserted, i.e., when `quoted-insert' has finished its
job.

In GNU Emacs 24.3.50.1 (i686-pc-mingw32)
 of 2014-01-23 on ODIEONE
Bzr revision: 116129 [email-masked]
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --prefix=/c/Devel/emacs/binary --enable-checking=yes,glyphs
 'CFLAGS=-O0 -g3' LDFLAGS=-Lc:/Devel/emacs/lib
 CPPFLAGS=-Ic:/Devel/emacs/include'