From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.bugs Subject: bug#16617: 24.3.50; REGRESSION: `C-q ?' pops up annoying *Char Help* buffer Date: Thu, 3 Apr 2014 11:38:15 -0700 (PDT) Message-ID: References: <<891cf052-6085-4ad4-b03b-83379a85ff0f@default>> <<7367bf77-7602-4a02-82ce-804c2f88bf25@default>> <> <<831txebg2x.fsf@gnu.org>> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1396550373 2989 80.91.229.3 (3 Apr 2014 18:39:33 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 3 Apr 2014 18:39:33 +0000 (UTC) Cc: 16617@debbugs.gnu.org To: Eli Zaretskii , Leo Liu Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Apr 03 20:39:25 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WVmXt-00087y-2H for geb-bug-gnu-emacs@m.gmane.org; Thu, 03 Apr 2014 20:39:25 +0200 Original-Received: from localhost ([::1]:45774 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WVmXs-00087Z-L6 for geb-bug-gnu-emacs@m.gmane.org; Thu, 03 Apr 2014 14:39:24 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52288) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WVmXh-00087Q-M8 for bug-gnu-emacs@gnu.org; Thu, 03 Apr 2014 14:39:22 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WVmXY-00033H-Sa for bug-gnu-emacs@gnu.org; Thu, 03 Apr 2014 14:39:13 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:33544) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WVmXY-00033C-Oo for bug-gnu-emacs@gnu.org; Thu, 03 Apr 2014 14:39:04 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1WVmXX-0000rE-IB for bug-gnu-emacs@gnu.org; Thu, 03 Apr 2014 14:39:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 03 Apr 2014 18:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 16617 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 16617-submit@debbugs.gnu.org id=B16617.13965503053235 (code B ref 16617); Thu, 03 Apr 2014 18:39:02 +0000 Original-Received: (at 16617) by debbugs.gnu.org; 3 Apr 2014 18:38:25 +0000 Original-Received: from localhost ([127.0.0.1]:34726 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WVmWu-0000q4-1H for submit@debbugs.gnu.org; Thu, 03 Apr 2014 14:38:24 -0400 Original-Received: from userp1040.oracle.com ([156.151.31.81]:26110) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WVmWo-0000pr-TT for 16617@debbugs.gnu.org; Thu, 03 Apr 2014 14:38:20 -0400 Original-Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s33IcGLp015880 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 3 Apr 2014 18:38:17 GMT Original-Received: from aserz7022.oracle.com (aserz7022.oracle.com [141.146.126.231]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s33IcGO4020962 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 3 Apr 2014 18:38:16 GMT Original-Received: from abhmp0010.oracle.com (abhmp0010.oracle.com [141.146.116.16]) by aserz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s33IcFjs020952; Thu, 3 Apr 2014 18:38:15 GMT In-Reply-To: <<831txebg2x.fsf@gnu.org>> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6680.5000 (x86)] X-Source-IP: acsinet22.oracle.com [141.146.126.238] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:87721 Archived-At: > 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. No, what you describe is one problem - a problem for the `pop-up-frames' =3D nil case (or equivalent). But that is not the problem that concerns my context, which I care about at least as much as the `pop-up-frames' =3D nil case. The only problem you are apparently concerned about is the one I referred to as "This alone is a regression wrt previous Emacs releases." "This alone" means that this is one regression - an additional regression, but it is NOT the regression that is the main reason for my bug report. What problem did I report? "`C-q ?' pops up an annoying "*Char Help*" buffer." What part of that is not clear? It is true that I also I reported, in passing, some additional problems - problems with that annoying help display. See the original report. They include minor ones such as inserting a character and lack of formatting (filling) in the help buffer. For my case (non-nil `pop-up-frames'), the major annoyance about the help buffer display is this: "(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)." But again, NONE of that is the real bug that this report is about. THIS bug has nothing to do with these particular negative qualities of the help display as implemented. THIS bug is that the help display is shown at all! (See the subject line.) Why should `C-q ?' show any "help"? Why doesn't it just insert the character `?'? `C-q w' inserts the character `w'. Why should `C-q ?' act differently? It does some pretty weird things: (1) It does not insert `?' (which is all that it should do). (2) It pops up an incomprehensible (in this context) "help" buffer that is no help at all. Totally inappropriate. (3) If you try `C-h ?' again in the same buffer while *Char Help* is already displayed (e.g., in the separate, popped-up frame, which remains until the user deletes it), then buffer *Help* is popped up, with the content you normally see from `C-h C-h': This is the Emacs `help-command', accessible via `C-h'. Type a help option (below) now, for help on a particular topic. ... [52 lines of help] Also totally inappropriate. (I did not report #3 originally - I discovered it now. It is just one more problem with the help-display implementation. But again - NOT the real bug reported, which is that `C-h ?' should not display "help" at all.) The FIX for this bug is to treat `?' like the ordinary printable, self-inserting character that it is in such contexts: `C-q' should simply insert `?'. End of story. Hard to believe there is so much attention paid to everything but the obvious here. If you also want to fix the additional problems with the *Char Help* display which I mentioned, please do. But they have nothing to do with THIS bug, which is that `C-h ?' should simply insert `?', at least whenever `?' is self-inserting. > I don't know why '?' should also be excluded It is an ordinary, printable, self-inserting character in the context I reported. `' is not - it is not comparable to `?' (or even to ^H, which `C-q' handles correctly, BTW, inserting ^H). > -- it's not like someone needs C-q to insert '?' in most > situations It is not about "need". `C-q' is SUPPOSED to insert ordinary, self-inserting characters. For such characters its "quoting" is SUPPOSED to just be the identity (a no-op). That should be true for ALL self-inserting chars, including `?'. > -- but in any case it's one of the help characters, No, it is definitely not "one of the help characters". Not in the reported context, and not in MOST buffers. > and many commands show help when user presses '?'. I > don't see why this command should not. No, when the user presses `?' in the context I reported, no "commands show help". Pressing `?' just inserts it. Let me say again, in no uncertain terms, what THIS bug is about: At least whenever `?' is self-inserting - i.e., bound to `self-insert-command' or another command that inserts it, `C-q' should just insert it. A self-inserting character should not be treated as a "help" command! I will go further and say that UNLESS `?' is a help character (i.e., bound to a help command), `C-q ?' should insert `?'. So for example, if `?' is bound to `end-of-line' or `complete-symbol', `C-q ?' should insert `?'. I would even argue that `C-q ?' should always insert `?' - even when it is a help character. That's what quoting is about. And you will note that that is what `C-q C-h' does: it inserts the Control-H character. Even though it is "one of the help characters". But I won't insist on that last degree here (for THIS bug) - we can save that for another discussion, perhaps. What you say might constitute a reasonable argument in a buffer where `?' is in fact "one of the help characters". I don't agree with that argument, and it conflicts with what `C-q' does for `C-h', but it is arguable. The point here is that that case (where `?' is a help char) is a tiny minority of the contexts where users actually insert characters (using `C-q' or otherwise). In most editable buffers, `?' just self-inserts - it is certainly not a "help character", and at least in these (common) contexts, `C-q' should stay out of the way.