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

From: Eli Zaretskii <[email-masked]>
Date: Thu, 03 Apr 2014 18:51:07 +0300

> From:  Leo Liu <[email-masked]>
> Cc: [email-masked]
> Date: Thu, 03 Apr 2014 23:39:08 +0800
> 
> On 2014-04-03 23:14 +0800, Eli Zaretskii wrote:
> > FWIW, I don't think this is the right fix.  The problem is not that
> > '?' pops up the help text -- I disagree with Drew about that, as '?'
> > is a normal way to ask Emacs for guidance.  The problem is that the
> > help text is not really displayed -- it flashes for a fraction of a
> > second and disappears without a trace.  Your suggestion doesn't fix
> > that part.  Even if it is eventually decided that '?' should not
> > invoke help in this case, the problem with momentarily flashing the
> > help text should be solved, because it actually renders the whole
> > help-form feature useless.
> 
> Agreed.

To help investigating this, I can say that it looks like we call
help-form-show, which displays the help text inside
with-output-to-temp-buffer, and when help-form-show returns, we call
read_char, which calls redisplay.  But since
with-output-to-temp-buffer already exited by that time, redisplay
simply pops down the help buffer, so the user doesn't get the chance
to read the text.  Moreover, the help character, either '?' or F1,
gets inserted into the original buffer, instead of being gobbled by
the code which pops up the help text.

Hope this description will help someone fix the feature.