From unknown Tue Aug 19 05:08:42 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34100: 26.1; Incomplete ? and ?? handling in rx Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 16 Jan 2019 11:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 34100 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 34100@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.154763885119611 (code B ref -1); Wed, 16 Jan 2019 11:41:01 +0000 Received: (at submit) by debbugs.gnu.org; 16 Jan 2019 11:40:51 +0000 Received: from localhost ([127.0.0.1]:60806 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gjjYx-00056F-4i for submit@debbugs.gnu.org; Wed, 16 Jan 2019 06:40:51 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40363) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gjjYu-000561-Qq for submit@debbugs.gnu.org; Wed, 16 Jan 2019 06:40:49 -0500 Received: from lists.gnu.org ([209.51.188.17]:43289) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gjjYn-0004qc-Dk for submit@debbugs.gnu.org; Wed, 16 Jan 2019 06:40:42 -0500 Received: from eggs.gnu.org ([209.51.188.92]:50508) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gjjYm-0000MU-Eg for bug-gnu-emacs@gnu.org; Wed, 16 Jan 2019 06:40:41 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_LOW autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gjjYi-0004k7-Im for bug-gnu-emacs@gnu.org; Wed, 16 Jan 2019 06:40:38 -0500 Received: from mail174c50.megamailservers.eu ([91.136.10.184]:47522 helo=mail36c50.megamailservers.eu) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gjjYR-00040g-9Y for bug-gnu-emacs@gnu.org; Wed, 16 Jan 2019 06:40:25 -0500 X-Authenticated-User: mattiase@bredband.net Received: from [192.168.1.64] (c-e636e253.032-75-73746f71.bbcust.telenor.se [83.226.54.230]) (authenticated bits=0) by mail36c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id x0GBdxrJ030784 for ; Wed, 16 Jan 2019 11:40:00 +0000 From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 12.2 \(3445.102.3\)) Message-Id: <58F99E68-AC42-40E9-8ADF-CCC416266C25@acm.org> Date: Wed, 16 Jan 2019 12:39:58 +0100 X-Mailer: Apple Mail (2.3445.102.3) X-CTCH-RefID: str=0001.0A0B0214.5C3F1810.00A5, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=CvSRjEwD c=1 sm=1 tr=0 a=M+GU/qJco4WXjv8D6jB2IA==:117 a=M+GU/qJco4WXjv8D6jB2IA==:17 a=kj9zAlcOel0A:10 a=c2AVrvsOpNzrU9ScW98A:9 a=CjuIK1q_8ugA:10 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] X-Received-From: 91.136.10.184 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) In rx, the ? and ?? operators can be written verbatim as ? and ?? (space = and ? character), or by using symbols whose leading character needs to = be escaped, \? and \?? respectively. The names come from Olin Shivers's = SRE, but ? is not a special character in Scheme syntax, hence the = character syntax hack. However, the symbols only partially work: (rx (\? "x") (\?? "y")) --> "x?y?" ; expected "x?y??" (rx (minimal-match (\? "x"))) --> "x??" ; expected "x?" While it could be argued that only the character-based syntax should be = used, the fact is that the symbols are accepted and seem to work, just = in a subtly broken way. The documentation is also not clear on this point, and a programmer = knowing the elisp syntax might very well assume that the symbols are the = ones to use. Suggested fix: diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el index a39fe55c32..8b4551d0d3 100644 --- a/lisp/emacs-lisp/rx.el +++ b/lisp/emacs-lisp/rx.el @@ -733,8 +733,8 @@ is non-nil." (rx-check form) (setq form (rx-trans-forms form)) - (let ((suffix (cond ((memq (car form) '(* + ?\s)) "") - ((memq (car form) '(*? +? ??)) "?") + (let ((suffix (cond ((memq (car form) '(* + \? ?\s)) "") + ((memq (car form) '(*? +? \?? ??)) "?") (rx-greedy-flag "") (t "?"))) (op (cond ((memq (car form) '(* *? 0+ zero-or-more)) "*") From unknown Tue Aug 19 05:08:42 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34100: rx \? and \??: patch References: <58F99E68-AC42-40E9-8ADF-CCC416266C25@acm.org> In-Reply-To: <58F99E68-AC42-40E9-8ADF-CCC416266C25@acm.org> Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 16 Jan 2019 14:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34100 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 34100@debbugs.gnu.org Received: via spool by 34100-submit@debbugs.gnu.org id=B34100.154764757410032 (code B ref 34100); Wed, 16 Jan 2019 14:07:01 +0000 Received: (at 34100) by debbugs.gnu.org; 16 Jan 2019 14:06:14 +0000 Received: from localhost ([127.0.0.1]:32774 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gjlpe-0002bh-EI for submit@debbugs.gnu.org; Wed, 16 Jan 2019 09:06:14 -0500 Received: from mail237c50.megamailservers.eu ([91.136.10.247]:41404 helo=mail56c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gjlpc-0002bQ-Bv for 34100@debbugs.gnu.org; Wed, 16 Jan 2019 09:06:13 -0500 X-Authenticated-User: mattiase@bredband.net Received: from [192.168.1.64] (c-e636e253.032-75-73746f71.bbcust.telenor.se [83.226.54.230]) (authenticated bits=0) by mail56c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id x0GE68FY028346 for <34100@debbugs.gnu.org>; Wed, 16 Jan 2019 14:06:10 +0000 From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Content-Type: multipart/mixed; boundary="Apple-Mail=_D14AE1F3-F5EE-4181-B32B-C96EA53CC32E" Mime-Version: 1.0 (Mac OS X Mail 12.2 \(3445.102.3\)) Message-Id: <239398CD-108C-41C4-B242-9DC3518F869B@acm.org> Date: Wed, 16 Jan 2019 15:06:08 +0100 X-Mailer: Apple Mail (2.3445.102.3) X-CTCH-RefID: str=0001.0A0B020C.5C3F3A52.0060, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=Oo5hNR3t c=1 sm=1 tr=0 a=M+GU/qJco4WXjv8D6jB2IA==:117 a=M+GU/qJco4WXjv8D6jB2IA==:17 a=t4z01xgn3AAmqvMjXHIA:9 a=CjuIK1q_8ugA:10 a=b7Ev2zj1bUAyQmFWfAwA:9 a=B2y7HmGcmWMA:10 X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --Apple-Mail=_D14AE1F3-F5EE-4181-B32B-C96EA53CC32E Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii Here is a patch with a test. --Apple-Mail=_D14AE1F3-F5EE-4181-B32B-C96EA53CC32E Content-Disposition: attachment; filename=0001-Make-the-rx-operators-and-behave-correctly.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-Make-the-rx-operators-and-behave-correctly.patch" Content-Transfer-Encoding: quoted-printable =46rom=20b7ffa6c7220032ee1ea4d8773f58a37a647ecc22=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20=3D?UTF-8?q?Mattias=3D20Engdeg=3DC3=3DA5rd?=3D=20= =0ADate:=20Wed,=2016=20Jan=202019=2014:57:12=20+0100=0A= Subject:=20[PATCH]=20Make=20the=20rx=20operators=20\?=20and=20\??=20= behave=20correctly=0A=0A*=20lisp/emacs-lisp/rx.el=20(rx-kleene):=0ATreat=20= \?=20and=20\??=20like=20?=20and=20??=20(Bug#34100).=0A*=20= test/lisp/emacs-lisp/rx-tests.el:=20Add=20tests=20for=20all=20repetition=20= operators.=0A---=0A=20lisp/emacs-lisp/rx.el=20=20=20=20=20=20=20=20=20=20= =20=20|=20=204=20++--=0A=20test/lisp/emacs-lisp/rx-tests.el=20|=2023=20= +++++++++++++++++++++++=0A=202=20files=20changed,=2025=20insertions(+),=20= 2=20deletions(-)=0A=0Adiff=20--git=20a/lisp/emacs-lisp/rx.el=20= b/lisp/emacs-lisp/rx.el=0Aindex=20a39fe55c32..8b4551d0d3=20100644=0A---=20= a/lisp/emacs-lisp/rx.el=0A+++=20b/lisp/emacs-lisp/rx.el=0A@@=20-733,8=20= +733,8=20@@=20If=20OP=20is=20anything=20else,=20produce=20a=20greedy=20= regexp=20if=20`rx-greedy-flag'=0A=20is=20non-nil."=0A=20=20=20(rx-check=20= form)=0A=20=20=20(setq=20form=20(rx-trans-forms=20form))=0A-=20=20(let=20= ((suffix=20(cond=20((memq=20(car=20form)=20'(*=20+=20?\s))=20"")=0A-=09=09= =20=20=20=20=20=20((memq=20(car=20form)=20'(*?=20+?=20??))=20"?")=0A+=20=20= (let=20((suffix=20(cond=20((memq=20(car=20form)=20'(*=20+=20\?=20?\s))=20= "")=0A+=09=09=20=20=20=20=20=20((memq=20(car=20form)=20'(*?=20+?=20\??=20= ??))=20"?")=0A=20=09=09=20=20=20=20=20=20(rx-greedy-flag=20"")=0A=20=09=09= =20=20=20=20=20=20(t=20"?")))=0A=20=09(op=20(cond=20((memq=20(car=20= form)=20'(*=20*?=200+=20zero-or-more))=20"*")=0Adiff=20--git=20= a/test/lisp/emacs-lisp/rx-tests.el=20b/test/lisp/emacs-lisp/rx-tests.el=0A= index=20392a38ab95..f15e1016f7=20100644=0A---=20= a/test/lisp/emacs-lisp/rx-tests.el=0A+++=20= b/test/lisp/emacs-lisp/rx-tests.el=0A@@=20-65,5=20+65,28=20@@=0A=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(list=20u=20v)))=0A= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20'("1"=20"3"))))=0A=20= =0A+(ert-deftest=20rx-kleene=20()=0A+=20=20"Test=20greedy=20and=20= non-greedy=20repetition=20operators."=0A+=20=20(should=20(equal=20(rx=20= (*=20"a")=20(+=20"b")=20(\?=20"c")=20(?\s=20"d")=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20(*?=20"e")=20(+?=20"f")=20(\??=20= "g")=20(??=20"h"))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= "a*b+c?d?e*?f+?g??h??"))=0A+=20=20(should=20(equal=20(rx=20(zero-or-more=20= "a")=20(0+=20"b")=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(one-or-more=20"c")=20(1+=20"d")=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20(zero-or-one=20"e")=20(optional=20"f")=20= (opt=20"g"))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= "a*b*c+d+e?f?g?"))=0A+=20=20(should=20(equal=20(rx=20(minimal-match=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(seq=20(*=20= "a")=20(+=20"b")=20(\?=20"c")=20(?\s=20"d")=0A+=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(*?=20"e")=20(+?=20= "f")=20(\??=20"g")=20(??=20"h"))))=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20"a*b+c?d?e*?f+?g??h??"))=0A+=20=20(should=20(equal=20(rx=20= (minimal-match=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(seq=20(zero-or-more=20"a")=20(0+=20"b")=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(one-or-more=20= "c")=20(1+=20"d")=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20(zero-or-one=20"e")=20(optional=20"f")=20(opt=20= "g"))))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= "a*?b*?c+?d+?e??f??g??"))=0A+=20=20(should=20(equal=20(rx=20= (maximal-match=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(seq=20(*=20"a")=20(+=20"b")=20(\?=20"c")=20(?\s=20"d")=0A+=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(*?=20= "e")=20(+?=20"f")=20(\??=20"g")=20(??=20"h"))))=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20"a*b+c?d?e*?f+?g??h??")))=0A+=0A=20(provide=20= 'rx-tests)=0A=20;;=20rx-tests.el=20ends=20here.=0A--=20=0A2.17.2=20= (Apple=20Git-113)=0A=0A= --Apple-Mail=_D14AE1F3-F5EE-4181-B32B-C96EA53CC32E-- From unknown Tue Aug 19 05:08:42 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34100: Acknowledgement (26.1; Incomplete ? and ?? handling in rx) Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 25 Jan 2019 10:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34100 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 34100@debbugs.gnu.org Received: via spool by 34100-submit@debbugs.gnu.org id=B34100.15484109934525 (code B ref 34100); Fri, 25 Jan 2019 10:10:02 +0000 Received: (at 34100) by debbugs.gnu.org; 25 Jan 2019 10:09:53 +0000 Received: from localhost ([127.0.0.1]:44558 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gmyQq-0001Av-Q4 for submit@debbugs.gnu.org; Fri, 25 Jan 2019 05:09:53 -0500 Received: from mail235c50.megamailservers.eu ([91.136.10.245]:50048 helo=mail56c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gmyQp-0001Ak-1w for 34100@debbugs.gnu.org; Fri, 25 Jan 2019 05:09:51 -0500 X-Authenticated-User: mattiase@bredband.net Received: from [192.168.1.64] (c-e636e253.032-75-73746f71.bbcust.telenor.se [83.226.54.230]) (authenticated bits=0) by mail56c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id x0PA9kH2025488 for <34100@debbugs.gnu.org>; Fri, 25 Jan 2019 10:09:48 +0000 From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Mac OS X Mail 12.2 \(3445.102.3\)) Date: Fri, 25 Jan 2019 11:09:46 +0100 References: <58F99E68-AC42-40E9-8ADF-CCC416266C25@acm.org> In-Reply-To: Message-Id: <12346BD1-F010-47B3-A428-32700F105E63@acm.org> X-Mailer: Apple Mail (2.3445.102.3) X-CTCH-RefID: str=0001.0A0B020A.5C4AE06C.006C, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=Oo5hNR3t c=1 sm=1 tr=0 a=M+GU/qJco4WXjv8D6jB2IA==:117 a=M+GU/qJco4WXjv8D6jB2IA==:17 a=kj9zAlcOel0A:10 a=2kRrJZukiJ3ZADMw6vwA:9 a=CjuIK1q_8ugA:10 a=pHzHmUro8NiASowvMSCR:22 a=Ew2E2A-JSTLzCXPT_086:22 X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Anything more I can do? I thought this one would be rather straightforward. I do understand that there are more pressing matters. From unknown Tue Aug 19 05:08:42 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34100: Acknowledgement (26.1; Incomplete ? and ?? handling in rx) Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 28 Jan 2019 15:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34100 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Cc: 34100@debbugs.gnu.org Received: via spool by 34100-submit@debbugs.gnu.org id=B34100.154869082228171 (code B ref 34100); Mon, 28 Jan 2019 15:54:01 +0000 Received: (at 34100) by debbugs.gnu.org; 28 Jan 2019 15:53:42 +0000 Received: from localhost ([127.0.0.1]:49303 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1go9EE-0007KI-09 for submit@debbugs.gnu.org; Mon, 28 Jan 2019 10:53:42 -0500 Received: from mout.web.de ([212.227.15.14]:57227) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1go9EB-0007K4-OD for 34100@debbugs.gnu.org; Mon, 28 Jan 2019 10:53:40 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1548690809; bh=8LCj5mloUSXdDbtmYsl67Y7+puWzEkjicGY3PyJkD6I=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=CY3m/AkO25vaCoNzNAFOeN1OjWeBBVItaUcsVWqFg+i5/WA1XK9VN1C2V6vdwBii7 gPBcLpPAiODhC8vohNxmcRph02FGELkvYnET5trL5GQo73khnMJnWoMk1yEwRwD/C0 EQDYNDVG6xBKyZrx6rV42it5xwAGJisx3vKH0vfM= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([188.110.196.137]) by smtp.web.de (mrweb003 [213.165.67.108]) with ESMTPSA (Nemesis) id 0MKa0t-1gmDgU2iYh-00221O; Mon, 28 Jan 2019 16:53:29 +0100 From: Michael Heerdegen References: <58F99E68-AC42-40E9-8ADF-CCC416266C25@acm.org> <12346BD1-F010-47B3-A428-32700F105E63@acm.org> Date: Mon, 28 Jan 2019 16:53:28 +0100 In-Reply-To: <12346BD1-F010-47B3-A428-32700F105E63@acm.org> ("Mattias \=\?utf-8\?Q\?Engdeg\=C3\=A5rd\=22's\?\= message of "Fri, 25 Jan 2019 11:09:46 +0100") Message-ID: <87fttczslj.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:RKs52reZGxAqRbOumfVeQiFsJl86sX+hAbt9vJ5af04MbyVPiWi YXdFHuHFF55RySTXkFq94GXvBv0ZRzB3lTKqmsUcXQ3e83FRpMilD+l3InwqiVHR8FA7TB/ WqKd0VcRsPXTfm4Hrp3e4RCnnOJwgRBz4TpKuJye7LL+x22AuSEfWySxV14oHaPN+f/YyfS 7T+WSGLzJGID4MhYqNC+w== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:e2p2SN1bPF4=:VpcTpN57IK6qAbBzzuInYR MXdlE2jfNQwFW0bGmVSpKPaMrOw7JlzriEjmZXhZlufQ6KtjAVGK+P/5hvuDD5aNC5pPDptLR 5P1V8IaumXFBn4utoEBNYpja9+KGKYoVsy1D/ZarTNL+1yBA6rXHNE1IjsG/xYp6Tstp8DXhT 25ks9dwkPwalS+S3Sxk9VPPGosXuTZn5uuZSJ45/ez6hKMGnTJsnBhbikrylBrvDkxY+lqzWz /PkQaS8VZe8v1Q/xz2s7thHYNnWbae3wUjujWfxx3BTU3AWIHqFXFxKuhDi38wtd0wewaGX4k k21Nbatb8GkAcJ/JnSBq+3xE9d4sfvoWPJAkHsRL5ETG7TtDUIBO9I21dch9bQxPO1vwkquob 96jAEs71YlN35FJeBDaksq+M0ZKD5q1Vy02xTG8rHUCC89izm7BLa4KsZEInzmLJqmVi54b1B m8U2GvNPItmWhvoDVp2e46Eb6Xj2Q5sfVetlFAkKHGW4RnRFtOMNH+4kXOQd3kiG8sErFgV6k WGm4GnTubhf9RRoWckS29aLn2TnjaKHXskJVtl25ECI5Rsf1OezyjWEMYxEhj8f75nvBo3vb7 dOGZMaAgA7jS+XrOsNcQb2wByd1B4zGzHGO98OwShiqZQxj/fJ/zeSyflnkjBLr7yu7fRZsiM e5rZf5w1WxftJdKZuBdICad1pMm61dE7N99yt0l+KmCcrBgIxo+pUDmCpkghhGvt7u/gY1bt/ aEm7TKD2YooJdr46mj8lTrIPtzLd4bZENf739+QnLdrZfos07ry+qWqgSPldCnJJhawapKQrr p9K6Xp5jfoI/8CQCabUwvEOJnwanQmsqgvyk9sbynmslL3OeacZToLDCHT6ffI3SOXWmC4PFu Qc8J+FGyXSBGK4bAVcWZrNczzdGXtFcYcjB0gUQe+qYnfZX+zWjIXDzpUHtha9nzKZKhmFPuX KZWnuHV70Sg== X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Mattias Engdeg=C3=A5rd writes: > Anything more I can do? I thought this one would be rather > straightforward. I do understand that there are more pressing > matters. I guess you just have to be patient until someone has a look. That can sometimes take some time, there are a lot of open bug reports... For me what you suggest looks like a good idea btw. Michael. From unknown Tue Aug 19 05:08:42 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Subject: bug#34100: closed (Re: bug#34100: Acknowledgement (26.1; Incomplete ? and ?? handling in rx)) Message-ID: References: <83va23yhaj.fsf@gnu.org> <58F99E68-AC42-40E9-8ADF-CCC416266C25@acm.org> X-Gnu-PR-Message: they-closed 34100 X-Gnu-PR-Package: emacs Reply-To: 34100@debbugs.gnu.org Date: Fri, 01 Feb 2019 09:45:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1549014302-24552-1" This is a multi-part message in MIME format... ------------=_1549014302-24552-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #34100: 26.1; Incomplete ? and ?? handling in rx which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 34100@debbugs.gnu.org. --=20 34100: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D34100 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1549014302-24552-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 34100-done) by debbugs.gnu.org; 1 Feb 2019 09:44:41 +0000 Received: from localhost ([127.0.0.1]:53735 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gpVNI-0006NC-MA for submit@debbugs.gnu.org; Fri, 01 Feb 2019 04:44:40 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40603) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gpVNG-0006My-Uu for 34100-done@debbugs.gnu.org; Fri, 01 Feb 2019 04:44:39 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:55239) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gpVN7-0001TY-RP; Fri, 01 Feb 2019 04:44:32 -0500 Received: from [176.228.60.248] (port=3855 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gpVN1-0007Xa-EG; Fri, 01 Feb 2019 04:44:24 -0500 Date: Fri, 01 Feb 2019 11:44:20 +0200 Message-Id: <83va23yhaj.fsf@gnu.org> From: Eli Zaretskii To: mattiase@acm.org In-reply-to: <87fttczslj.fsf@web.de> (message from Michael Heerdegen on Mon, 28 Jan 2019 16:53:28 +0100) Subject: Re: bug#34100: Acknowledgement (26.1; Incomplete ? and ?? handling in rx) References: <58F99E68-AC42-40E9-8ADF-CCC416266C25@acm.org> <12346BD1-F010-47B3-A428-32700F105E63@acm.org> <87fttczslj.fsf@web.de> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 34100-done Cc: Michael Heerdegen , 34100-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > From: Michael Heerdegen > Date: Mon, 28 Jan 2019 16:53:28 +0100 > Cc: 34100@debbugs.gnu.org > > Mattias EngdegÄrd writes: > > > Anything more I can do? I thought this one would be rather > > straightforward. I do understand that there are more pressing > > matters. > > I guess you just have to be patient until someone has a look. That can > sometimes take some time, there are a lot of open bug reports... > > For me what you suggest looks like a good idea btw. Sorry for the long delay, Mattias. I've now pushed your changes to the master branch, and I'm marking this bug done. Thanks. ------------=_1549014302-24552-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 16 Jan 2019 11:40:51 +0000 Received: from localhost ([127.0.0.1]:60806 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gjjYx-00056F-4i for submit@debbugs.gnu.org; Wed, 16 Jan 2019 06:40:51 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40363) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gjjYu-000561-Qq for submit@debbugs.gnu.org; Wed, 16 Jan 2019 06:40:49 -0500 Received: from lists.gnu.org ([209.51.188.17]:43289) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gjjYn-0004qc-Dk for submit@debbugs.gnu.org; Wed, 16 Jan 2019 06:40:42 -0500 Received: from eggs.gnu.org ([209.51.188.92]:50508) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gjjYm-0000MU-Eg for bug-gnu-emacs@gnu.org; Wed, 16 Jan 2019 06:40:41 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_LOW autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gjjYi-0004k7-Im for bug-gnu-emacs@gnu.org; Wed, 16 Jan 2019 06:40:38 -0500 Received: from mail174c50.megamailservers.eu ([91.136.10.184]:47522 helo=mail36c50.megamailservers.eu) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gjjYR-00040g-9Y for bug-gnu-emacs@gnu.org; Wed, 16 Jan 2019 06:40:25 -0500 X-Authenticated-User: mattiase@bredband.net Received: from [192.168.1.64] (c-e636e253.032-75-73746f71.bbcust.telenor.se [83.226.54.230]) (authenticated bits=0) by mail36c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id x0GBdxrJ030784 for ; Wed, 16 Jan 2019 11:40:00 +0000 From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 12.2 \(3445.102.3\)) Subject: 26.1; Incomplete ? and ?? handling in rx Message-Id: <58F99E68-AC42-40E9-8ADF-CCC416266C25@acm.org> Date: Wed, 16 Jan 2019 12:39:58 +0100 To: bug-gnu-emacs@gnu.org X-Mailer: Apple Mail (2.3445.102.3) X-CTCH-RefID: str=0001.0A0B0214.5C3F1810.00A5, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=CvSRjEwD c=1 sm=1 tr=0 a=M+GU/qJco4WXjv8D6jB2IA==:117 a=M+GU/qJco4WXjv8D6jB2IA==:17 a=kj9zAlcOel0A:10 a=c2AVrvsOpNzrU9ScW98A:9 a=CjuIK1q_8ugA:10 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] X-Received-From: 91.136.10.184 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) In rx, the ? and ?? operators can be written verbatim as ? and ?? (space = and ? character), or by using symbols whose leading character needs to = be escaped, \? and \?? respectively. The names come from Olin Shivers's = SRE, but ? is not a special character in Scheme syntax, hence the = character syntax hack. However, the symbols only partially work: (rx (\? "x") (\?? "y")) --> "x?y?" ; expected "x?y??" (rx (minimal-match (\? "x"))) --> "x??" ; expected "x?" While it could be argued that only the character-based syntax should be = used, the fact is that the symbols are accepted and seem to work, just = in a subtly broken way. The documentation is also not clear on this point, and a programmer = knowing the elisp syntax might very well assume that the symbols are the = ones to use. Suggested fix: diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el index a39fe55c32..8b4551d0d3 100644 --- a/lisp/emacs-lisp/rx.el +++ b/lisp/emacs-lisp/rx.el @@ -733,8 +733,8 @@ is non-nil." (rx-check form) (setq form (rx-trans-forms form)) - (let ((suffix (cond ((memq (car form) '(* + ?\s)) "") - ((memq (car form) '(*? +? ??)) "?") + (let ((suffix (cond ((memq (car form) '(* + \? ?\s)) "") + ((memq (car form) '(*? +? \?? ??)) "?") (rx-greedy-flag "") (t "?"))) (op (cond ((memq (car form) '(* *? 0+ zero-or-more)) "*") ------------=_1549014302-24552-1--