From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Mauro Aranda Newsgroups: gmane.emacs.bugs Subject: bug#35202: 27.0.50; Info-quoted false positives and false negatives Date: Sat, 13 Apr 2019 10:26:19 -0300 Message-ID: References: <83sgur7lbv.fsf@gnu.org> <837ec36nra.fsf@gnu.org> <831s26l33c.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="00000000000017c8de0586695e4e" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="38600"; mail-complaints-to="usenet@blaine.gmane.org" Cc: 35202@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Apr 13 15:27:13 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hFIga-0009wJ-3e for geb-bug-gnu-emacs@m.gmane.org; Sat, 13 Apr 2019 15:27:12 +0200 Original-Received: from localhost ([127.0.0.1]:51845 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hFIgZ-0007nc-2D for geb-bug-gnu-emacs@m.gmane.org; Sat, 13 Apr 2019 09:27:11 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:57807) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hFIgS-0007nM-Et for bug-gnu-emacs@gnu.org; Sat, 13 Apr 2019 09:27:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hFIgQ-0004GD-Lr for bug-gnu-emacs@gnu.org; Sat, 13 Apr 2019 09:27:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:44808) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hFIgQ-0004G1-HZ for bug-gnu-emacs@gnu.org; Sat, 13 Apr 2019 09:27:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hFIgQ-0007aR-8L for bug-gnu-emacs@gnu.org; Sat, 13 Apr 2019 09:27:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Mauro Aranda Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 13 Apr 2019 13:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 35202 X-GNU-PR-Package: emacs Original-Received: via spool by 35202-submit@debbugs.gnu.org id=B35202.155516200029135 (code B ref 35202); Sat, 13 Apr 2019 13:27:02 +0000 Original-Received: (at 35202) by debbugs.gnu.org; 13 Apr 2019 13:26:40 +0000 Original-Received: from localhost ([127.0.0.1]:58352 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hFIg3-0007Zr-KR for submit@debbugs.gnu.org; Sat, 13 Apr 2019 09:26:40 -0400 Original-Received: from mail-lj1-f180.google.com ([209.85.208.180]:37439) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hFIg1-0007Zd-Oa for 35202@debbugs.gnu.org; Sat, 13 Apr 2019 09:26:38 -0400 Original-Received: by mail-lj1-f180.google.com with SMTP id v13so11386291ljk.4 for <35202@debbugs.gnu.org>; Sat, 13 Apr 2019 06:26:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=RRBMjIYJZS4AJ/EciDgXIWaf3Oy0Mm5USWCQ0vwIrMU=; b=SMrkOwe63VL5Aes4GA1WN48JPCM4uCpC6oq3AnoNeoGfje2dEJPhnw3DtM7a87S/nV NrwhgdBkKC9gRcfFaLBJ/O/KbLuWQbGFqZip84P+Vpuu0OTZLbOnyjmqwzmyEvwOYmhG 4t9OHLg4w0Wo3TC3OxyEgKCUwY4bXFSJ5I7ECaDXUWuFpn9OmgDoUbYHYEWUsv9CIOJ5 5WTS/QStBhhv6/lLHRFHV2wy5CGvcAQ3yOtlB5ic9DC/H38P/XwYGsvhdT0+y7E0webv 3+uVpWctIq0MxksTURaZE5ppuvvdEBNWynmNP5wJJmbicHkgBY8uO2lIWCNr7o8gNem7 fZNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=RRBMjIYJZS4AJ/EciDgXIWaf3Oy0Mm5USWCQ0vwIrMU=; b=uacUxI8+6lsGIeyEwouT9SP2HefMkBwfKwyk9mllTRyLXP7vyG25eJOAALXjLunJEw /umOAexRB7bkbihJmCrlz2WAYtbJEs1lOF1vU6wdMpsoNlAxK2ztIRQgiR7WZMDZS1qZ qXqkHEZ6cKN18epvXiL8/zurFNlUK05HqPfSbG9HGvgx5gETqOy0SEFV9TdAXlEx/6gz 6H0+CUbSGdvqtJrbcPiE38k5xIjcw2PxBvncMlVydZYtvSpuMNHiUmqw+Dcu34b0M0K4 reCHlS0R2ze1dE8kVc2GE8JE2Caip5WnMAa/CNnm9l2eSh0opvp201cyACrw63lxL1xB znXA== X-Gm-Message-State: APjAAAXmzF5vtBDlSCoDMeuR2so++EcnKr9atnymGGNIw2kr0r6DpXwm 5QUcyZTznoKnCRXURw4pleuu209BY40D/NPSKXU= X-Google-Smtp-Source: APXvYqyDuVO4jCsAnSsEYYNgavQIeRuyykEjOuF7rxzYS68wUkWPOdpz7l/8BhLixoUNfFiZEichQqxsgCZb+ouHzdM= X-Received: by 2002:a2e:8703:: with SMTP id m3mr33444097lji.107.1555161991857; Sat, 13 Apr 2019 06:26:31 -0700 (PDT) In-Reply-To: <831s26l33c.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.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" Xref: news.gmane.org gmane.emacs.bugs:157582 Archived-At: --00000000000017c8de0586695e4e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > cannot be sure what to look at. Could you please specify, for each > spot you analyzed, the node name and the text surrounding the regexp > match? I'd like to go over all the places you found, but I need a Sure Eli. Sorry for not thinking about that before. In the following, navigate to the mentioned node of the respective manual, and either search for the string in "Search for", or just search for the string in "Old match". The string in "Search for" is the text just before the spot analyzed. * Emacs (=E2=80=98C-h r=E2=80=99): 1) Node: Inserting Text (=E2=80=98m Inserting Text=E2=80=99) Search for: For example, =E2=80=98C-x 8 [=E2=80=99 inserts Old match: which is Unicode code-point =E2=80=98U+2018 New match: U+2018 2) Node: Inserting Text (=E2=80=98m Inserting Text=E2=80=99) Search for: C-x 8 [=E2=80=99 and inserts Old match: . To see which characters have =E2=80=98C-x 8 New match: C-x 8 The new regexp is right, the old one is wrong. 3) Node: Setting Mark (=E2=80=98m Setting Mark=E2=80=99) Search for: (=E2=80=98mouse-save-then-kill=E2=80=99). Old match: =E2=80=98Shifted cursor motion keys New match: Shifted cursor motion keys Nested quotes: The new regexp matches all of the inner quote, while the old one leaves the first =E2=80=99 unquoted. 4) and 5) Node: Text Display (=E2=80=98m Text Display=E2=80=99) Search for: Emacs tries to determine if the curved quotes Old match: The empty string in =E2=80=98=E2=80=99=E2=80=99. New match: =E2=80=99 Similarly, search for: If the curved quotes. Same situation as before. The new regexp is right, the old one is wrong (it fails to quote the =E2=80= =99). 6) Node: International Chars (=E2=80=98m International Chars=E2=80=99) Search for: a left single quotation mark Old match: by typing =E2=80=98C-x 8 [ New match: C-x 8 [ Similar to 1) and 2). 7) Node: Quotation Marks (=E2=80=98m Quotation Marks=E2=80=99) Search for: "whose default value is" Old match: '(?=E2=80=98 ? New match: ? Quote characters inside a quote, but not making an inner quote. Both regexps get it wrong. 8) Node: Quotation Marks (=E2=80=98m Quotation Marks=E2=80=99) Search for: you can type =E2=80=98C-x 8 [=E2=80=99 for Old match: , =E2=80=98C-x 8 ] New match: C-x 8 ] Similar to 1) and 2). * Calc (=E2=80=98C-h i m Calc RET=E2=80=99) 9) Node: Yacas Language Mode (=E2=80=987 8 5=E2=80=99) Search for: in Yacas mode, and Old match: =E2=80=98arcsin(x^2) New match: arcsin(x^2) I find this one a little weird. In the calc.texi file, I navigated to this spot, by searching for "arcsin(x^2)". There is a suspicious "`" before @samp. 10) Node: Summary (=E2=80=98m Summary RET=E2=80=99) Search for: calc-grab-sum-across C-x * Sorry, I don't know how to specify more this one (the text matched is very long, for both regexps). Notice that the text matched begins in " editing" and ends up in the row that has a "@". Both regexps fail. 11) Node: Summary (=E2=80=98m Summary RET=E2=80=99) =E2=80=98m Summary RET=E2=80=99 Search for: cancel if/loop command Z Same as before. The quoting can be seen in "calc-kbd-push Z". Both regexps fail. * MH-E (=E2=80=98C-h i m MH-E=E2=80=99) 12) Node: Speedbar (=E2=80=98m Speedbar=E2=80=99) Search for: =E2=80=98mh-speed-view=E2=80=99). Old match: Expand Nested Folders (=E2=80=98+ New match: + Similar situation for the next two items: Old match: Contract Nested Folders (=E2=80=98- New match: - Old match: Refresh Speedbar (=E2=80=98r New match: r While the old regexp quotes inconsistently, the old one just quotes the shortcut. A regexp that matches nested quotes (and quotes the outer ones) could do the trick (though I believe it could break cases like 1) and 2), for example). * Org (=E2=80=98C-h i m Org RET=E2=80=99) 13) Node: TTY keys (=E2=80=98m Miscellaneous RET 9) Search for: =E2=80=98S-=E2=80=99 As with the Calc table, it is not easy to write this one. Notice that there are keybindings that take two rows: C-c C-c C-x C-c C-x The old regexp matches up until the first =E2=80=99, leaving the end of the keybinding unquoted. The new one, just matches the space between =E2=80=98 and =E2=80=99 (under = the Speed key column of the table), leaving the keybinding unquoted. Similar to 11), and both regexps get it wrong. * SC (=E2=80=98C-h i m SC RET=E2=80=99) 14) Node: Citations (=E2=80=98m Citations=E2=80=99) Search for: result in a nesting of the Old match: =E2=80=98> New match: > Similarly, search for: and multiple nesting of Old match: =E2=80=98> New match: > Again a case of nested quotes, though I think the nested quote is not necessary. The old regexp quotes inconsistently, making it look uglier. The new one just quote the important character, >. That is all. I built the info files from the latest master I could get, just in case. That is, commit: c2c9ef2c1e509f1a01ffaefd7475004854162a10 I think it is much easier to navigate to the problematic spots now, but please let me know if I missed something again. Best regards, Mauro. --00000000000017c8de0586695e4e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
> cannot be sure what to look at.=C2= =A0 Could you please specify, for each
> spot you analyzed, the node = name and the text surrounding the regexp
> match?=C2=A0 I'd like = to go over all the places you found, but I need a

Sure Eli.=C2=A0 So= rry for not thinking about that before.

In the following, navigate t= o the mentioned node of the respective
manual, and either search for the= string in "Search for", or just search
for the string in &quo= t;Old match".=C2=A0 The string in "Search for" is the textjust before the spot analyzed.

* Emacs (=E2=80=98C-h r=E2=80=99):<= br>1) Node: Inserting Text (=E2=80=98m Inserting Text=E2=80=99)
Search f= or: For example, =E2=80=98C-x 8 [=E2=80=99 inserts
Old match: which is U= nicode code-point =E2=80=98U+2018
New match: U+2018

2) Node: Inse= rting Text (=E2=80=98m Inserting Text=E2=80=99)
Search for: C-x 8 [=E2= =80=99 and inserts
Old match: .=C2=A0 To see which characters have =E2= =80=98C-x 8
New match: C-x 8

The new regexp is right, the old one= is wrong.

3) Node: Setting Mark (=E2=80=98m Setting Mark=E2=80=99)<= br>Search for: (=E2=80=98mouse-save-then-kill=E2=80=99).
Old match: =E2= =80=98Shifted cursor motion keys
New match: Shifted cursor motion keys
Nested quotes: The new regexp matches all of the inner quote,
while the old one leaves the first =E2=80=99 unquoted.
=

4) and 5) Node: Text Display (= =E2=80=98m Text Display=E2=80=99)
Search for: Emacs tries to determine i= f the curved quotes
Old match: The empty string in =E2=80=98=E2=80=99=E2= =80=99.
New match: =E2=80=99

Similarly, search for: If the curved quotes.
Same situation as before.

The new regexp is right, the old one is wrong (it fails to quote the =E2= =80=99).

6) Node: International Chars (=E2=80=98m International Char= s=E2=80=99)
Search for: a left single quotation mark
Old match: by ty= ping =E2=80=98C-x 8 [
New match: C-x 8 [

Similar to 1) and 2).
7) Node: Quotation Marks (=E2=80=98m Quotation Marks=E2=80=99)
Sear= ch for: "whose default value is"
Old match: '(?=E2=80=98 ?=
New match:=C2=A0 ?

Quote characters inside a quote, but not maki= ng an inner quote.=C2=A0 Both
regexps get it wrong.

8) Node: Quot= ation Marks (=E2=80=98m Quotation Marks=E2=80=99)
Search for: you can ty= pe =E2=80=98C-x 8 [=E2=80=99 for
Old match: , =E2=80=98C-x 8 ]
New ma= tch: C-x 8 ]

Similar to 1) and 2).

* Calc (=E2=80=98C-h i m C= alc RET=E2=80=99)
9) Node: Yacas Language Mode (=E2=80=987 8 5=E2=80=99)=
Search for: in Yacas mode, and
Old match: =E2=80=98arcsin(x^2)
Ne= w match: arcsin(x^2)

I find this one a little weird.=C2=A0 In the ca= lc.texi file, I navigated to
this spot, by searching for "arcsin(x^= 2)".=C2=A0 There is a suspicious "`"
before @samp.
10) Node: Summary (=E2=80=98m Summary RET=E2=80=99)
Search for: calc-gr= ab-sum-across C-x *

Sorry, I don't know how to specify more this= one (the text matched is
very long, for both regexps).=C2=A0 Notice tha= t the text matched begins in
" editing" and ends up in the row= that has a "@".
Both regexps fail.

11) Node: Summary (= =E2=80=98m Summary RET=E2=80=99)
=E2=80=98m Summary RET=E2=80=99
Sear= ch for: cancel if/loop command Z

Same as before.=C2=A0 The quoting c= an be seen in "calc-kbd-push Z".
Both regexps fail.

* MH-E (=E2=80=98C-h i m MH-E=E2=80=99)
12) Node: Speedbar (=E2=80=98m = Speedbar=E2=80=99)
Search for: =E2=80=98mh-speed-view=E2=80=99).
Old = match: Expand Nested Folders (=E2=80=98+
New match: +

Similar sit= uation for the next two items:
Old match: Contract Nested Folders (=E2= =80=98-
New match: -

Old match: Refresh Speedbar (=E2=80=98r
N= ew match: r

While the old regexp quotes inconsistently, the old one = just quotes the
shortcut.=C2=A0 A regexp that matches nested quotes (and= quotes the outer
ones) could do the trick (though I believe it could br= eak cases like
1) and 2), for example).


* = Org (=E2=80=98C-h i m Org RET=E2=80=99)
13) Node: TTY keys (=E2=80=98m M= iscellaneous RET 9)
Search for: =E2=80=98S-<RIGHT>=E2=80=99
As with the Calc table, it is not easy to write this one.
Notice that t= here are keybindings that take two rows:
C-c <RIGHT>
C-c C-x &l= t;LEFT>
C-c C-x <RIGHT>
The old regexp matches up until the = first =E2=80=99, leaving the end of the
keybinding unquoted.
The new = one, just matches the space between =E2=80=98 and =E2=80=99 (under the Spee= d key
column of the table), leaving the keybinding unquoted.

Simi= lar to 11), and both regexps get it wrong.

* SC (=E2=80=98C-h i m SC= RET=E2=80=99)
14) Node: Citations (=E2=80=98m Citations=E2=80=99)
Se= arch for: result in a nesting of the
Old match: =E2=80=98>
New mat= ch: >

Similarly,
search for: and multiple nesting of
Old ma= tch: =E2=80=98>
New match: >

Again a case of nested quotes,= though I think the nested quote is not
necessary.=C2=A0 The old regexp = quotes inconsistently, making it look
uglier.=C2=A0 The new one just quo= te the important character, >.


That is all.=C2=A0 I built the= info files from the latest master I could get,
= just in case.=C2=A0 That is, commit: c2c9ef2c1e509f1a01ffaefd7475004854162a= 10
I think it is much easier to navigate to the problematic spots now, b= ut
please let me know if I missed something again.

Best regards,<= br>Mauro.
--00000000000017c8de0586695e4e--