GNU bug report logs -
#16617
24.3.50; REGRESSION: `C-q ?' pops up annoying *Char Help* buffer
Previous Next
Reported by: Drew Adams <drew.adams <at> oracle.com>
Date: Sat, 1 Feb 2014 19:17:02 UTC
Severity: minor
Merged with 17371
Found in versions 24.3.50, 24.4.50
Done: Leo Liu <sdl.web <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Fri, 20 Jun 2014 08:16:42 +0800
with message-id <m3y4wswi39.fsf <at> gmail.com>
and subject line Re: bug#16617: 24.3.50; REGRESSION: `C-q ?' pops up annoying *Char Help* buffer
has caused the debbugs.gnu.org bug report #16617,
regarding 24.3.50; REGRESSION: `C-q ?' pops up annoying *Char Help* buffer
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
16617: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16617
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
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 monnier <at> iro.umontreal.ca-20140123150141-qopqqhpm8jqo8a18
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'
[Message part 3 (message/rfc822, inline)]
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
This bug report was last modified 10 years and 339 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.