From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Newsgroups: gmane.emacs.bugs Subject: bug#36496: [PATCH] Describe the rx notation in the lisp manual Date: Sat, 6 Jul 2019 21:45:58 +0200 Message-ID: References: <0C783D67-9502-408B-B845-5599BD596361@acm.org> <838stdbw8e.fsf@gnu.org> <83r2738r9j.fsf@gnu.org> <83k1cv8k5z.fsf@gnu.org> <83zhlr6ksx.fsf@gnu.org> Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Content-Type: multipart/mixed; boundary="Apple-Mail=_A0D8A56C-E758-4D48-B700-ED23794126B7" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="53012"; mail-complaints-to="usenet@blaine.gmane.org" Cc: Noam Postavsky , 36496@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Jul 06 21:47:11 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.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hjqeM-000DgW-Pf for geb-bug-gnu-emacs@m.gmane.org; Sat, 06 Jul 2019 21:47:11 +0200 Original-Received: from localhost ([::1]:32882 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hjqeL-00019E-CN for geb-bug-gnu-emacs@m.gmane.org; Sat, 06 Jul 2019 15:47:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50254) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hjqeF-00018s-Ii for bug-gnu-emacs@gnu.org; Sat, 06 Jul 2019 15:47:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hjqeE-0001ph-6F for bug-gnu-emacs@gnu.org; Sat, 06 Jul 2019 15:47:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:47097) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hjqeE-0001pR-1u for bug-gnu-emacs@gnu.org; Sat, 06 Jul 2019 15:47:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hjqeD-0002Mf-UH for bug-gnu-emacs@gnu.org; Sat, 06 Jul 2019 15:47:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 06 Jul 2019 19:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36496 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 36496-submit@debbugs.gnu.org id=B36496.15624423679006 (code B ref 36496); Sat, 06 Jul 2019 19:47:01 +0000 Original-Received: (at 36496) by debbugs.gnu.org; 6 Jul 2019 19:46:07 +0000 Original-Received: from localhost ([127.0.0.1]:55918 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hjqdK-0002LA-OI for submit@debbugs.gnu.org; Sat, 06 Jul 2019 15:46:06 -0400 Original-Received: from mail172c50.megamailservers.eu ([91.136.10.182]:50438 helo=mail33c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hjqdG-0002KY-UZ for 36496@debbugs.gnu.org; Sat, 06 Jul 2019 15:46:04 -0400 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1562442361; bh=kNReqyQGCnRLAXR9s1FzoyezH00NLnYL/zOJYMjD1o8=; h=From:Subject:Date:In-Reply-To:Cc:To:References:From; b=ICl//5aZV960hpgB4L8pCuJ2KPcuAtQVnpH4M1j3Nh7WRrS2R2kTzzYmz1zzoUdvi X2VeIij+AlrSfFnoml6Fytc71JDkQ1UIvnWGcFRj/lqCSKtvsafj2mct2Tydj4slm2 ylx+t1Q4YeLmYSA7y29vTOKszSNLCMCo0qOR/cXs= Feedback-ID: mattiase@acm.or Original-Received: from [192.168.0.4] ([188.150.171.71]) (authenticated bits=0) by mail33c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id x66Jjwfh005208; Sat, 6 Jul 2019 19:46:00 +0000 In-Reply-To: <83zhlr6ksx.fsf@gnu.org> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B0204.5D20FA79.0001, 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-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=Ioswjo3g c=1 sm=1 tr=0 a=SF+I6pRkHZhrawxbOkkvaA==:117 a=SF+I6pRkHZhrawxbOkkvaA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=mDV3o1hIAAAA:8 a=4CjTDWHgoCpdKWB9E4QA:9 a=CjuIK1q_8ugA:10 a=ncZ9vwaUYPMA:10 a=tCgv9tXcGVBhTxdMYLsA:9 a=B2y7HmGcmWMA:10 a=_FVE-zBwftR9WsbkzFJk:22 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:162256 Archived-At: --Apple-Mail=_A0D8A56C-E758-4D48-B700-ED23794126B7 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii 6 juli 2019 kl. 21.10 skrev Eli Zaretskii : > > Honestly, they look like incorrect English: a sentence, starting with > a capital letter, but not ending with a period. I hope you will > reconsider. Very well, full stops added. --Apple-Mail=_A0D8A56C-E758-4D48-B700-ED23794126B7 Content-Disposition: attachment; filename=0002-Shorter-rx-doc-string-bug-36496.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0002-Shorter-rx-doc-string-bug-36496.patch" Content-Transfer-Encoding: quoted-printable =46rom=20584c325f1488df5c25b69c84222034f0d9a74e9e=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20=3D?UTF-8?q?Mattias=3D20Engdeg=3DC3=3DA5rd?=3D=20= =0ADate:=20Sat,=206=20Jul=202019=2013:22:15=20+0200=0A= Subject:=20[PATCH=202/2]=20Shorter=20`rx'=20doc=20string=20(bug#36496)=0A= =0A*=20lisp/emacs-lisp/rx.el=20(rx):=20Replace=20long=20description=20= with=20a=20condensed=0Asummary=20of=20the=20rx=20syntax,=20with=20= reference=20to=20the=20manual=20section.=0A---=0A=20= lisp/emacs-lisp/rx.el=20|=20417=20= ++++++++++--------------------------------=0A=201=20file=20changed,=2096=20= insertions(+),=20321=20deletions(-)=0A=0Adiff=20--git=20= a/lisp/emacs-lisp/rx.el=20b/lisp/emacs-lisp/rx.el=0Aindex=20= 24dd6cbf1d..249529e54e=20100644=0A---=20a/lisp/emacs-lisp/rx.el=0A+++=20= b/lisp/emacs-lisp/rx.el=0A@@=20-959,327=20+959,102=20@@=20rx-to-string=0A= =20;;;###autoload=0A=20(defmacro=20rx=20(&rest=20regexps)=0A=20=20=20= "Translate=20regular=20expressions=20REGEXPS=20in=20sexp=20form=20to=20a=20= regexp=20string.=0A-REGEXPS=20is=20a=20non-empty=20sequence=20of=20forms=20= of=20the=20sort=20listed=20below.=0A-=0A-Note=20that=20`rx'=20is=20a=20= Lisp=20macro;=20when=20used=20in=20a=20Lisp=20program=20being=0A= -compiled,=20the=20translation=20is=20performed=20by=20the=20compiler.=20= =20The=0A-`literal'=20and=20`regexp'=20forms=20accept=20subforms=20that=20= will=20evaluate=0A-to=20strings,=20in=20addition=20to=20constant=20= strings.=20=20If=20REGEXPS=20include=0A-such=20forms,=20then=20the=20= result=20is=20an=20expression=20which=20returns=20a=0A-regexp=20string,=20= rather=20than=20a=20regexp=20string=20directly.=20=20See=0A= -`rx-to-string'=20for=20performing=20translation=20completely=20at=20run=20= time.=0A-=0A-The=20following=20are=20valid=20subforms=20of=20regular=20= expressions=20in=20sexp=0A-notation.=0A-=0A-STRING=0A-=20=20=20=20=20= matches=20string=20STRING=20literally.=0A-=0A-CHAR=0A-=20=20=20=20=20= matches=20character=20CHAR=20literally.=0A-=0A-`not-newline',=20`nonl'=0A= -=20=20=20=20=20matches=20any=20character=20except=20a=20newline.=0A-=0A= -`anything'=0A-=20=20=20=20=20matches=20any=20character=0A-=0A-`(any=20= SET=20...)'=0A-`(in=20SET=20...)'=0A-`(char=20SET=20...)'=0A-=20=20=20=20= =20matches=20any=20character=20in=20SET=20....=20=20SET=20may=20be=20a=20= character=20or=20string.=0A-=20=20=20=20=20Ranges=20of=20characters=20= can=20be=20specified=20as=20`A-Z'=20in=20strings.=0A-=20=20=20=20=20= Ranges=20may=20also=20be=20specified=20as=20conses=20like=20`(?A=20.=20= ?Z)'.=0A-=20=20=20=20=20Reversed=20ranges=20like=20`Z-A'=20and=20`(?Z=20= .=20?A)'=20are=20not=20permitted.=0A-=0A-=20=20=20=20=20SET=20may=20also=20= be=20the=20name=20of=20a=20character=20class:=20`digit',=0A-=20=20=20=20=20= `control',=20`hex-digit',=20`blank',=20`graph',=20`print',=20`alnum',=0A= -=20=20=20=20=20`alpha',=20`ascii',=20`nonascii',=20`lower',=20`punct',=20= `space',=20`upper',=0A-=20=20=20=20=20`word',=20or=20one=20of=20their=20= synonyms.=0A-=0A-`(not=20(any=20SET=20...))'=0A-=20=20=20=20=20matches=20= any=20character=20not=20in=20SET=20...=0A-=0A-`line-start',=20`bol'=0A-=20= =20=20=20=20matches=20the=20empty=20string,=20but=20only=20at=20the=20= beginning=20of=20a=20line=0A-=20=20=20=20=20in=20the=20text=20being=20= matched=0A-=0A-`line-end',=20`eol'=0A-=20=20=20=20=20is=20similar=20to=20= `line-start'=20but=20matches=20only=20at=20the=20end=20of=20a=20line=0A-=0A= -`string-start',=20`bos',=20`bot'=0A-=20=20=20=20=20matches=20the=20= empty=20string,=20but=20only=20at=20the=20beginning=20of=20the=0A-=20=20=20= =20=20string=20being=20matched=20against.=0A-=0A-`string-end',=20`eos',=20= `eot'=0A-=20=20=20=20=20matches=20the=20empty=20string,=20but=20only=20= at=20the=20end=20of=20the=0A-=20=20=20=20=20string=20being=20matched=20= against.=0A-=0A-`buffer-start'=0A-=20=20=20=20=20matches=20the=20empty=20= string,=20but=20only=20at=20the=20beginning=20of=20the=0A-=20=20=20=20=20= buffer=20being=20matched=20against.=20=20Actually=20equivalent=20to=20= `string-start'.=0A-=0A-`buffer-end'=0A-=20=20=20=20=20matches=20the=20= empty=20string,=20but=20only=20at=20the=20end=20of=20the=0A-=20=20=20=20=20= buffer=20being=20matched=20against.=20=20Actually=20equivalent=20to=20= `string-end'.=0A-=0A-`point'=0A-=20=20=20=20=20matches=20the=20empty=20= string,=20but=20only=20at=20point.=0A-=0A-`word-start',=20`bow'=0A-=20=20= =20=20=20matches=20the=20empty=20string,=20but=20only=20at=20the=20= beginning=20of=20a=20word.=0A-=0A-`word-end',=20`eow'=0A-=20=20=20=20=20= matches=20the=20empty=20string,=20but=20only=20at=20the=20end=20of=20a=20= word.=0A-=0A-`word-boundary'=0A-=20=20=20=20=20matches=20the=20empty=20= string,=20but=20only=20at=20the=20beginning=20or=20end=20of=20a=0A-=20=20= =20=20=20word.=0A-=0A-`(not=20word-boundary)'=0A-`not-word-boundary'=0A-=20= =20=20=20=20matches=20the=20empty=20string,=20but=20not=20at=20the=20= beginning=20or=20end=20of=20a=0A-=20=20=20=20=20word.=0A-=0A= -`symbol-start'=0A-=20=20=20=20=20matches=20the=20empty=20string,=20but=20= only=20at=20the=20beginning=20of=20a=20symbol.=0A-=0A-`symbol-end'=0A-=20= =20=20=20=20matches=20the=20empty=20string,=20but=20only=20at=20the=20= end=20of=20a=20symbol.=0A-=0A-`digit',=20`numeric',=20`num'=0A-=20=20=20=20= =20matches=200=20through=209.=0A-=0A-`control',=20`cntrl'=0A-=20=20=20=20= =20matches=20any=20character=20whose=20code=20is=20in=20the=20range=20= 0-31.=0A-=0A-`hex-digit',=20`hex',=20`xdigit'=0A-=20=20=20=20=20matches=20= 0=20through=209,=20a=20through=20f=20and=20A=20through=20F.=0A-=0A= -`blank'=0A-=20=20=20=20=20matches=20horizontal=20whitespace,=20as=20= defined=20by=20Annex=20C=20of=20the=0A-=20=20=20=20=20Unicode=20= Technical=20Standard=20#18.=20=20In=20particular,=20it=20matches=0A-=20=20= =20=20=20spaces,=20tabs,=20and=20other=20characters=20whose=20Unicode=0A= -=20=20=20=20=20`general-category'=20property=20indicates=20they=20are=20= spacing=0A-=20=20=20=20=20separators.=0A-=0A-`graphic',=20`graph'=0A-=20=20= =20=20=20matches=20graphic=20characters--everything=20except=20= whitespace,=20ASCII=0A-=20=20=20=20=20and=20non-ASCII=20control=20= characters,=20surrogates,=20and=20codepoints=0A-=20=20=20=20=20= unassigned=20by=20Unicode.=0A-=0A-`printing',=20`print'=0A-=20=20=20=20=20= matches=20whitespace=20and=20graphic=20characters.=0A-=0A= -`alphanumeric',=20`alnum'=0A-=20=20=20=20=20matches=20alphabetic=20= characters=20and=20digits.=20=20For=20multibyte=20characters,=0A-=20=20=20= =20=20it=20matches=20characters=20whose=20Unicode=20`general-category'=20= property=0A-=20=20=20=20=20indicates=20they=20are=20alphabetic=20or=20= decimal=20number=20characters.=0A-=0A-`letter',=20`alphabetic',=20= `alpha'=0A-=20=20=20=20=20matches=20alphabetic=20characters.=20=20For=20= multibyte=20characters,=0A-=20=20=20=20=20it=20matches=20characters=20= whose=20Unicode=20`general-category'=20property=0A-=20=20=20=20=20= indicates=20they=20are=20alphabetic=20characters.=0A-=0A-`ascii'=0A-=20=20= =20=20=20matches=20ASCII=20(unibyte)=20characters.=0A-=0A-`nonascii'=0A-=20= =20=20=20=20matches=20non-ASCII=20(multibyte)=20characters.=0A-=0A= -`lower',=20`lower-case'=0A-=20=20=20=20=20matches=20anything=20= lower-case,=20as=20determined=20by=20the=20current=20case=0A-=20=20=20=20= =20table.=20=20If=20`case-fold-search'=20is=20non-nil,=20this=20also=20= matches=20any=0A-=20=20=20=20=20upper-case=20letter.=0A-=0A-`upper',=20= `upper-case'=0A-=20=20=20=20=20matches=20anything=20upper-case,=20as=20= determined=20by=20the=20current=20case=0A-=20=20=20=20=20table.=20=20If=20= `case-fold-search'=20is=20non-nil,=20this=20also=20matches=20any=0A-=20=20= =20=20=20lower-case=20letter.=0A-=0A-`punctuation',=20`punct'=0A-=20=20=20= =20=20matches=20punctuation.=20=20(But=20at=20present,=20for=20multibyte=20= characters,=0A-=20=20=20=20=20it=20matches=20anything=20that=20has=20= non-word=20syntax.)=0A-=0A-`space',=20`whitespace',=20`white'=0A-=20=20=20= =20=20matches=20anything=20that=20has=20whitespace=20syntax.=0A-=0A= -`word',=20`wordchar'=0A-=20=20=20=20=20matches=20anything=20that=20has=20= word=20syntax.=0A-=0A-`not-wordchar'=0A-=20=20=20=20=20matches=20= anything=20that=20has=20non-word=20syntax.=0A-=0A-`(syntax=20SYNTAX)'=0A= -=20=20=20=20=20matches=20a=20character=20with=20syntax=20SYNTAX.=20=20= SYNTAX=20must=20be=20one=0A-=20=20=20=20=20of=20the=20following=20= symbols,=20or=20a=20symbol=20corresponding=20to=20the=20syntax=0A-=20=20=20= =20=20character,=20e.g.=20`\\.'=20for=20`\\s.'.=0A-=0A-=20=20=20=20=20= `whitespace'=09=09(\\s-=20in=20string=20notation)=0A-=20=20=20=20=20= `punctuation'=09=09(\\s.)=0A-=20=20=20=20=20`word'=09=09=09(\\sw)=0A-=20=20= =20=20=20`symbol'=09=09=09(\\s_)=0A-=20=20=20=20=20`open-parenthesis'=09=09= (\\s()=0A-=20=20=20=20=20`close-parenthesis'=09(\\s))=0A-=20=20=20=20=20= `expression-prefix'=09(\\s')=0A-=20=20=20=20=20`string-quote'=09=09= (\\s\")=0A-=20=20=20=20=20`paired-delimiter'=09=09(\\s$)=0A-=20=20=20=20=20= `escape'=09=09=09(\\s\\)=0A-=20=20=20=20=20`character-quote'=09=09(\\s/)=0A= -=20=20=20=20=20`comment-start'=09=09(\\s<)=0A-=20=20=20=20=20= `comment-end'=09=09(\\s>)=0A-=20=20=20=20=20`string-delimiter'=09=09= (\\s|)=0A-=20=20=20=20=20`comment-delimiter'=09(\\s!)=0A-=0A-`(not=20= (syntax=20SYNTAX))'=0A-=20=20=20=20=20matches=20a=20character=20that=20= doesn't=20have=20syntax=20SYNTAX.=0A-=0A-`(category=20CATEGORY)'=0A-=20=20= =20=20=20matches=20a=20character=20with=20category=20CATEGORY.=20=20= CATEGORY=20must=20be=0A-=20=20=20=20=20either=20a=20character=20to=20use=20= for=20C,=20or=20one=20of=20the=20following=20symbols.=0A-=0A-=20=20=20=20= =20`space-for-indent'=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (\\c\\s=20in=20string=20notation)=0A-=20=20=20=20=20`base'=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=20= (\\c.)=0A-=20=20=20=20=20`consonant'=09=09=09(\\c0)=0A-=20=20=20=20=20= `base-vowel'=09=09=09(\\c1)=0A-=20=20=20=20=20`upper-diacritical-mark'=09= =09(\\c2)=0A-=20=20=20=20=20`lower-diacritical-mark'=09=09(\\c3)=0A-=20=20= =20=20=20`tone-mark'=09=09=20=20=20=20=20=20=20=20(\\c4)=0A-=20=20=20=20=20= `symbol'=09=09=09=20=20=20=20=20=20=20=20(\\c5)=0A-=20=20=20=20=20= `digit'=09=09=09=20=20=20=20=20=20=20=20(\\c6)=0A-=20=20=20=20=20= `vowel-modifying-diacritical-mark'=09(\\c7)=0A-=20=20=20=20=20= `vowel-sign'=09=09=09(\\c8)=0A-=20=20=20=20=20`semivowel-lower'=09=09=09= (\\c9)=0A-=20=20=20=20=20`not-at-end-of-line'=09=09(\\c<)=0A-=20=20=20=20= =20`not-at-beginning-of-line'=09=09(\\c>)=0A-=20=20=20=20=20= `alpha-numeric-two-byte'=09=09(\\cA)=0A-=20=20=20=20=20= `chinese-two-byte'=09=09=09(\\cC)=0A-=20=20=20=20=20`greek-two-byte'=09=09= =09(\\cG)=0A-=20=20=20=20=20`japanese-hiragana-two-byte'=09(\\cH)=0A-=20=20= =20=20=20`indian-two-byte'=09=09=09(\\cI)=0A-=20=20=20=20=20= `japanese-katakana-two-byte'=09(\\cK)=0A-=20=20=20=20=20= `strong-left-to-right'=20=20=20=20=20=20=20=20=20=20=20=20=20(\\cL)=0A-=20= =20=20=20=20`korean-hangul-two-byte'=09=09(\\cN)=0A-=20=20=20=20=20= `strong-right-to-left'=20=20=20=20=20=20=20=20=20=20=20=20=20(\\cR)=0A-=20= =20=20=20=20`cyrillic-two-byte'=09=09(\\cY)=0A-=20=20=20=20=20= `combining-diacritic'=09=09(\\c^)=0A-=20=20=20=20=20`ascii'=09=09=09=09= (\\ca)=0A-=20=20=20=20=20`arabic'=09=09=09=09(\\cb)=0A-=20=20=20=20=20= `chinese'=09=09=09=09(\\cc)=0A-=20=20=20=20=20`ethiopic'=09=09=09=09= (\\ce)=0A-=20=20=20=20=20`greek'=09=09=09=09(\\cg)=0A-=20=20=20=20=20= `korean'=09=09=09=09(\\ch)=0A-=20=20=20=20=20`indian'=09=09=09=09(\\ci)=0A= -=20=20=20=20=20`japanese'=09=09=09=09(\\cj)=0A-=20=20=20=20=20= `japanese-katakana'=09=09(\\ck)=0A-=20=20=20=20=20`latin'=09=09=09=09= (\\cl)=0A-=20=20=20=20=20`lao'=09=09=09=09(\\co)=0A-=20=20=20=20=20= `tibetan'=09=09=09=09(\\cq)=0A-=20=20=20=20=20`japanese-roman'=09=09=09= (\\cr)=0A-=20=20=20=20=20`thai'=09=09=09=09(\\ct)=0A-=20=20=20=20=20= `vietnamese'=09=09=09(\\cv)=0A-=20=20=20=20=20`hebrew'=09=09=09=09(\\cw)=0A= -=20=20=20=20=20`cyrillic'=09=09=09=09(\\cy)=0A-=20=20=20=20=20= `can-break'=09=09=09(\\c|)=0A-=0A-`(not=20(category=20CATEGORY))'=0A-=20=20= =20=20=20matches=20a=20character=20that=20doesn't=20have=20category=20= CATEGORY.=0A-=0A-`(and=20SEXP1=20SEXP2=20...)'=0A-`(:=20SEXP1=20SEXP2=20= ...)'=0A-`(seq=20SEXP1=20SEXP2=20...)'=0A-`(sequence=20SEXP1=20SEXP2=20= ...)'=0A-=20=20=20=20=20matches=20what=20SEXP1=20matches,=20followed=20= by=20what=20SEXP2=20matches,=20etc.=0A-=20=20=20=20=20Without=20= arguments,=20matches=20the=20empty=20string.=0A-=0A-`(submatch=20SEXP1=20= SEXP2=20...)'=0A-`(group=20SEXP1=20SEXP2=20...)'=0A-=20=20=20=20=20like=20= `and',=20but=20makes=20the=20match=20accessible=20with=20`match-end',=0A= -=20=20=20=20=20`match-beginning',=20and=20`match-string'.=0A-=0A= -`(submatch-n=20N=20SEXP1=20SEXP2=20...)'=0A-`(group-n=20N=20SEXP1=20= SEXP2=20...)'=0A-=20=20=20=20=20like=20`group',=20but=20make=20it=20an=20= explicitly-numbered=20group=20with=0A-=20=20=20=20=20group=20number=20N.=0A= -=0A-`(or=20SEXP1=20SEXP2=20...)'=0A-`(|=20SEXP1=20SEXP2=20...)'=0A-=20=20= =20=20=20matches=20anything=20that=20matches=20SEXP1=20or=20SEXP2,=20= etc.=20=20If=20all=0A-=20=20=20=20=20args=20are=20strings,=20use=20= `regexp-opt'=20to=20optimize=20the=20resulting=0A-=20=20=20=20=20regular=20= expression.=20=20Without=20arguments,=20never=20matches=20anything.=0A-=0A= -`(minimal-match=20SEXP)'=0A-=20=20=20=20=20produce=20a=20non-greedy=20= regexp=20for=20SEXP.=20=20Normally,=20regexps=20matching=0A-=20=20=20=20=20= zero=20or=20more=20occurrences=20of=20something=20are=20\"greedy\"=20in=20= that=20they=0A-=20=20=20=20=20match=20as=20much=20as=20they=20can,=20as=20= long=20as=20the=20overall=20regexp=20can=0A-=20=20=20=20=20still=20= match.=20=20A=20non-greedy=20regexp=20matches=20as=20little=20as=20= possible.=0A-=0A-`(maximal-match=20SEXP)'=0A-=20=20=20=20=20produce=20a=20= greedy=20regexp=20for=20SEXP.=20=20This=20is=20the=20default.=0A-=0A= -Below,=20`SEXP=20...'=20represents=20a=20sequence=20of=20regexp=20= forms,=20treated=20as=20if=0A-enclosed=20in=20`(and=20...)'.=0A-=0A= -`(zero-or-more=20SEXP=20...)'=0A-`(0+=20SEXP=20...)'=0A-=20=20=20=20=20= matches=20zero=20or=20more=20occurrences=20of=20what=20SEXP=20...=20= matches.=0A-=0A-`(*=20SEXP=20...)'=0A-=20=20=20=20=20like=20= `zero-or-more',=20but=20always=20produces=20a=20greedy=20regexp,=20= independent=0A-=20=20=20=20=20of=20`rx-greedy-flag'.=0A-=0A-`(*?=20SEXP=20= ...)'=0A-=20=20=20=20=20like=20`zero-or-more',=20but=20always=20produces=20= a=20non-greedy=20regexp,=0A-=20=20=20=20=20independent=20of=20= `rx-greedy-flag'.=0A-=0A-`(one-or-more=20SEXP=20...)'=0A-`(1+=20SEXP=20= ...)'=0A-=20=20=20=20=20matches=20one=20or=20more=20occurrences=20of=20= SEXP=20...=0A-=0A-`(+=20SEXP=20...)'=0A-=20=20=20=20=20like=20= `one-or-more',=20but=20always=20produces=20a=20greedy=20regexp.=0A-=0A= -`(+?=20SEXP=20...)'=0A-=20=20=20=20=20like=20`one-or-more',=20but=20= always=20produces=20a=20non-greedy=20regexp.=0A-=0A-`(zero-or-one=20SEXP=20= ...)'=0A-`(optional=20SEXP=20...)'=0A-`(opt=20SEXP=20...)'=0A-=20=20=20=20= =20matches=20zero=20or=20one=20occurrences=20of=20A.=0A-=0A-`(?=20SEXP=20= ...)'=0A-=20=20=20=20=20like=20`zero-or-one',=20but=20always=20produces=20= a=20greedy=20regexp.=0A-=0A-`(??=20SEXP=20...)'=0A-=20=20=20=20=20like=20= `zero-or-one',=20but=20always=20produces=20a=20non-greedy=20regexp.=0A-=0A= -`(repeat=20N=20SEXP)'=0A-`(=3D=20N=20SEXP=20...)'=0A-=20=20=20=20=20= matches=20N=20occurrences.=0A-=0A-`(>=3D=20N=20SEXP=20...)'=0A-=20=20=20=20= =20matches=20N=20or=20more=20occurrences.=0A-=0A-`(repeat=20N=20M=20= SEXP)'=0A-`(**=20N=20M=20SEXP=20...)'=0A-=20=20=20=20=20matches=20N=20to=20= M=20occurrences.=0A-=0A-`(backref=20N)'=0A-=20=20=20=20=20matches=20what=20= was=20matched=20previously=20by=20submatch=20N.=0A-=0A-`(literal=20= STRING-EXPR)'=0A-=20=20=20=20=20matches=20STRING-EXPR=20literally,=20= where=20STRING-EXPR=20is=20any=20lisp=0A-=20=20=20=20=20expression=20= that=20evaluates=20to=20a=20string.=0A-=0A-`(regexp=20REGEXP-EXPR)'=0A-=20= =20=20=20=20include=20REGEXP-EXPR=20in=20string=20notation=20in=20the=20= result,=20where=0A-=20=20=20=20=20REGEXP-EXPR=20is=20any=20lisp=20= expression=20that=20evaluates=20to=20a=0A-=20=20=20=20=20string=20= containing=20a=20valid=20regexp.=0A-=0A-`(eval=20FORM)'=0A-=20=20=20=20=20= evaluate=20FORM=20and=20insert=20result.=20=20If=20result=20is=20a=20= string,=0A-=20=20=20=20=20`regexp-quote'=20it.=20=20Note=20that=20FORM=20= is=20evaluated=20during=0A-=20=20=20=20=20macroexpansion."=0A+Each=20= argument=20is=20one=20of=20the=20forms=20below;=20RX=20is=20a=20subform,=20= and=20RX...=20stands=0A+for=20one=20or=20more=20RXs.=20=20For=20details,=20= see=20Info=20node=20`(elisp)=20Rx=20Notation'.=0A+See=20`rx-to-string'=20= for=20the=20corresponding=20function.=0A+=0A+STRING=20=20=20=20=20=20=20=20= =20Match=20a=20literal=20string.=0A+CHAR=20=20=20=20=20=20=20=20=20=20=20= Match=20a=20literal=20character.=0A+=0A+(seq=20RX...)=20=20=20=20Match=20= the=20RXs=20in=20sequence.=20=20Alias:=20:,=20sequence,=20and.=0A+(or=20= RX...)=20=20=20=20=20Match=20one=20of=20the=20RXs.=20=20Alias:=20|.=0A+=0A= +(zero-or-more=20RX...)=20Match=20RXs=20zero=20or=20more=20times.=20=20= Alias:=200+.=0A+(one-or-more=20RX...)=20=20Match=20RXs=20one=20or=20more=20= times.=20=20Alias:=201+.=0A+(zero-or-one=20RX...)=20=20Match=20RXs=20or=20= the=20empty=20string.=20=20Alias:=20opt,=20optional.=0A+(*=20RX...)=20=20= =20=20=20=20=20Match=20RXs=20zero=20or=20more=20times;=20greedy.=0A+(+=20= RX...)=20=20=20=20=20=20=20Match=20RXs=20one=20or=20more=20times;=20= greedy.=0A+(?=20RX...)=20=20=20=20=20=20=20Match=20RXs=20or=20the=20= empty=20string;=20greedy.=0A+(*?=20RX...)=20=20=20=20=20=20Match=20RXs=20= zero=20or=20more=20times;=20non-greedy.=0A+(+?=20RX...)=20=20=20=20=20=20= Match=20RXs=20one=20or=20more=20times;=20non-greedy.=0A+(??=20RX...)=20=20= =20=20=20=20Match=20RXs=20or=20the=20empty=20string;=20non-greedy.=0A+(=3D= =20N=20RX...)=20=20=20=20=20Match=20RXs=20exactly=20N=20times.=0A+(>=3D=20= N=20RX...)=20=20=20=20Match=20RXs=20N=20or=20more=20times.=0A+(**=20N=20= M=20RX...)=20=20Match=20RXs=20N=20to=20M=20times.=20=20Alias:=20repeat.=0A= +(minimal-match=20RX)=20=20Match=20RX,=20with=20zero-or-more,=20= one-or-more,=20zero-or-one=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20and=20aliases=20using=20non-greedy=20matching.=0A+(maximal-match=20= RX)=20=20Match=20RX,=20with=20zero-or-more,=20one-or-more,=20zero-or-one=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20and=20aliases=20using=20= greedy=20matching,=20which=20is=20the=20default.=0A+=0A+(any=20SET...)=20= =20=20=20Match=20a=20character=20from=20one=20of=20the=20SETs.=20=20Each=20= SET=20is=20a=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= character,=20a=20string,=20a=20range=20as=20string=20\"A-Z\"=20or=20cons=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(?A=20.=20?Z),=20or=20a=20= character=20class=20(see=20below).=20=20Alias:=20in,=20char.=0A+(not=20= CHARSPEC)=20=20Match=20one=20character=20not=20matched=20by=20CHARSPEC.=20= =20CHARSPEC=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20can=20be=20= (any=20...),=20(syntax=20...),=20(category=20...),=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20or=20a=20character=20class.=0A+not-newline=20=20= =20=20=20Match=20any=20character=20except=20a=20newline.=20=20Alias:=20= nonl.=0A+anything=20=20=20=20=20=20=20=20Match=20any=20character.=0A+=0A= +CHARCLASS=20=20=20=20=20=20=20Match=20a=20character=20from=20a=20= character=20class.=20=20One=20of:=0A+=20alpha,=20alphabetic,=20letter=20=20= =20Alphabetic=20characters=20(defined=20by=20Unicode).=0A+=20alnum,=20= alphanumeric=20=20=20=20=20=20=20=20=20Alphabetic=20or=20decimal=20digit=20= chars=20(Unicode).=0A+=20digit=20numeric,=20num=20=20=20=20=20=20=20=20=20= =200-9.=0A+=20xdigit,=20hex-digit,=20hex=20=20=20=20=20=200-9,=20A-F,=20= a-f.=0A+=20cntrl,=20control=20=20=20=20=20=20=20=20=20=20=20=20=20=20= ASCII=20codes=200-31.=0A+=20blank=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20Horizontal=20whitespace=20(Unicode).=0A+=20= space,=20whitespace,=20white=20=20=20=20Chars=20with=20whitespace=20= syntax.=0A+=20lower,=20lower-case=20=20=20=20=20=20=20=20=20=20=20= Lower-case=20chars,=20from=20current=20case=20table.=0A+=20upper,=20= upper-case=20=20=20=20=20=20=20=20=20=20=20Upper-case=20chars,=20from=20= current=20case=20table.=0A+=20graph,=20graphic=20=20=20=20=20=20=20=20=20= =20=20=20=20=20Graphic=20characters=20(Unicode).=0A+=20print,=20printing=20= =20=20=20=20=20=20=20=20=20=20=20=20Whitespace=20or=20graphic=20= (Unicode).=0A+=20punct,=20punctuation=20=20=20=20=20=20=20=20=20=20Not=20= control,=20space,=20letter=20or=20digit=20(ASCII);=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=20=20not=20= word=20syntax=20(non-ASCII).=0A+=20word,=20wordchar=20=20=20=20=20=20=20=20= =20=20=20=20=20=20Characters=20with=20word=20syntax.=0A+=20ascii=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20ASCII=20= characters=20(codes=200-127).=0A+=20nonascii=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20Non-ASCII=20characters=20(but=20not=20raw=20= bytes).=0A+=0A+(syntax=20SYNTAX)=20=20Match=20a=20character=20with=20= syntax=20SYNTAX,=20being=20one=20of:=0A+=20=20whitespace,=20punctuation,=20= word,=20symbol,=20open-parenthesis,=0A+=20=20close-parenthesis,=20= expression-prefix,=20string-quote,=0A+=20=20paired-delimiter,=20escape,=20= character-quote,=20comment-start,=0A+=20=20comment-end,=20= string-delimiter,=20comment-delimiter=0A+=0A+(category=20CAT)=20=20=20= Match=20a=20character=20in=20category=20CAT,=20being=20one=20of:=0A+=20=20= space-for-indent,=20base,=20consonant,=20base-vowel,=0A+=20=20= upper-diacritical-mark,=20lower-diacritical-mark,=20tone-mark,=20symbol,=0A= +=20=20digit,=20vowel-modifying-diacritical-mark,=20vowel-sign,=0A+=20=20= semivowel-lower,=20not-at-end-of-line,=20not-at-beginning-of-line,=0A+=20= =20alpha-numeric-two-byte,=20chinese-two-byte,=20greek-two-byte,=0A+=20=20= japanese-hiragana-two-byte,=20indian-two-byte,=0A+=20=20= japanese-katakana-two-byte,=20strong-left-to-right,=0A+=20=20= korean-hangul-two-byte,=20strong-right-to-left,=20cyrillic-two-byte,=0A+=20= =20combining-diacritic,=20ascii,=20arabic,=20chinese,=20ethiopic,=20= greek,=0A+=20=20korean,=20indian,=20japanese,=20japanese-katakana,=20= latin,=20lao,=0A+=20=20tibetan,=20japanese-roman,=20thai,=20vietnamese,=20= hebrew,=20cyrillic,=0A+=20=20can-break=0A+=0A+Zero-width=20assertions:=20= these=20all=20match=20the=20empty=20string=20in=20specific=20places.=0A+=20= line-start=20=20=20=20=20=20=20=20=20At=20the=20beginning=20of=20a=20= line.=20=20Alias:=20bol.=0A+=20line-end=20=20=20=20=20=20=20=20=20=20=20= At=20the=20end=20of=20a=20line.=20=20Alias:=20eol.=0A+=20string-start=20=20= =20=20=20=20=20At=20the=20start=20of=20the=20string=20or=20buffer.=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20Alias:=20= buffer-start,=20bos,=20bot.=0A+=20string-end=20=20=20=20=20=20=20=20=20= At=20the=20end=20of=20the=20string=20or=20buffer.=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20Alias:=20buffer-end,=20eos,=20= eot.=0A+=20point=20=20=20=20=20=20=20=20=20=20=20=20=20=20At=20point.=0A= +=20word-start=20=20=20=20=20=20=20=20=20At=20the=20beginning=20of=20a=20= word.=0A+=20word-end=20=20=20=20=20=20=20=20=20=20=20At=20the=20end=20of=20= a=20word.=0A+=20word-boundary=20=20=20=20=20=20At=20the=20beginning=20or=20= end=20of=20a=20word.=0A+=20not-word-boundary=20=20Not=20at=20the=20= beginning=20or=20end=20of=20a=20word.=0A+=20symbol-start=20=20=20=20=20=20= =20At=20the=20beginning=20of=20a=20symbol.=0A+=20symbol-end=20=20=20=20=20= =20=20=20=20At=20the=20end=20of=20a=20symbol.=0A+=0A+(group=20RX...)=20=20= Match=20RXs=20and=20define=20a=20capture=20group.=20=20Alias:=20= submatch.=0A+(group-n=20N=20RX...)=20Match=20RXs=20and=20define=20= capture=20group=20N.=20=20Alias:=20submatch-n.=0A+(backref=20N)=20=20=20=20= Match=20the=20text=20that=20capture=20group=20N=20matched.=0A+=0A= +(literal=20EXPR)=20Match=20the=20literal=20string=20from=20evaluating=20= EXPR=20at=20run=20time.=0A+(regexp=20EXPR)=20=20Match=20the=20string=20= regexp=20from=20evaluating=20EXPR=20at=20run=20time.=0A+(eval=20EXPR)=20=20= =20=20Match=20the=20rx=20sexp=20from=20evaluating=20EXPR=20at=20compile=20= time."=0A=20=20=20(let*=20((rx--compile-to-lisp=20t)=0A=20=20=20=20=20=20= =20=20=20=20(re=20(cond=20((null=20regexps)=0A=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20(error=20"No=20regexp"))=0A--=20=0A= 2.20.1=20(Apple=20Git-117)=0A=0A= --Apple-Mail=_A0D8A56C-E758-4D48-B700-ED23794126B7--