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

Previous Next

Package: emacs;

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


Message #47 received at 16617 <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: sdl.web <at> gmail.com, 16617 <at> debbugs.gnu.org
Subject: RE: bug#16617: 24.3.50;	REGRESSION: `C-q ?' pops up annoying *Char
 Help* buffer
Date: Thu, 3 Apr 2014 13:58:25 -0700 (PDT)
> It's clear, I just don't agree that it's a problem.  It is intended
> behavior shared by many other Emacs commands.
> 
> > Why should `C-q ?' show any "help"?
>
> Because '?' is a help character.

1. Not in most contexts, it is not.  Did you type your reply message in
   Emacs?  When you typed `?', did Emacs pop up a help buffer?  If not,
   do you wish it had?

2. And `C-h' IS a help character in most contexts.  And yet `C-q C-h'
   inserts a Control-Q character - it does NOT pop up a help buffer.
   So the argument that help characters must behave the way you claim
   just does not hold water.

> > Why doesn't it just insert the character `?'?  `C-q w' inserts the
> > character `w'.  Why should `C-q ?' act differently?
> 
> For the same reason "M-x ?" triggers a different response than "M-x w".

3. `?' is specifically bound to a help command, `minibuffer-completion-help',
   in `minibuffer-local-must-match-map'.  It is not bound to a help char
   in the recipe I gave (e.g. in *scratch*).

4. And I specifically stated that THIS bug report is NOT for the cases
   where `?' is bound to a help command.  Even though the same arguments
   hold for that rare case as well, I will not include it as part of this
   bug report.  I'm willing to limit THIS bug report to the vast majority
   of cases: those in which `?' is NOT bound to a help character.

> You can say this till Kingdom Come, it won't change the basic facts:
> this is a very old feature,

It is still a regression wrt even older behavior. 

> and I at least see no reason to remove it,

Too bad.

> since Emacs behaves like that in many other commands.

Name one.  What is similar to this?

> End of story.
> 
> > > I don't know why '?' should also be excluded
> >
> > It is an ordinary, printable, self-inserting character in the
> > context I reported.
> 
> No, it isn't.  It is a character that invokes help.

No, it is NOT.  Not in the contexts that THIS bug report is about.

emacs -Q
In *scratch*: `C-q ?'

`?' is not a character that invokes help in *scratch*.  Likewise
in most buffers/modes.

You try to distract us by giving an example of `?' in
`minibuffer-local-must-match-map', where it IS a help character.
That's a shame.

And even there, I would argue (but not for this bug report) that
`C-q ?' should just insert `?'.

> > `C-q' is SUPPOSED to insert ordinary, self-inserting characters.
> 
> And "M-x" is supposed to echo the next word, but '?' still behaves
> differently there.

No, again a strawman.  M-x does lots of things.  And `?' is not a
word-constituent in the minibuffer for M-x.  It is not even
self-inserting.  It is 100% irrelevant to THIS bug.

(Oh and BTW, IMO `?' *should* be self-inserting in the minibuffer.)

> Just let go, Drew.  You keep repeating the same arguments, and they
> didn't fly the first time.

Ditto.  But I would suggest that you think a little more about this.

Do I really care?  Not so much, except in so far as I care about
Emacs.  I probably came across this bug by accidentally hitting
`C-q ?' instead of `C-q C-?' or something - I really don't recall.

As you point out, this has been broken for a long time.  And I only
recently noticed it.  It doesn't bother me if you leave this broken
forever.  That would be too bad for Emacs (unclean), but I wouldn't
lose any sleep over it.  Have a nice day.




This bug report was last modified 10 years and 340 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.