From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Shigeru Fukaya" Newsgroups: gmane.emacs.bugs Subject: bug#1108: 23.0.60; conversion bugs of rx.el Date: Tue, 7 Oct 2008 23:02:28 +0900 Message-ID: <64bd60570810070702j2e29e7d7o54c39c2069f3b5c8@mail.gmail.com> Reply-To: Shigeru Fukaya , 1108@emacsbugs.donarmstrong.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_88644_5340202.1223388148420" X-Trace: ger.gmane.org 1223398950 31621 80.91.229.12 (7 Oct 2008 17:02:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 7 Oct 2008 17:02:30 +0000 (UTC) To: bug-gnu-emacs@gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Oct 07 19:03:21 2008 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1KnFte-0002YC-IU for geb-bug-gnu-emacs@m.gmane.org; Tue, 07 Oct 2008 18:58:55 +0200 Original-Received: from localhost ([127.0.0.1]:58649 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KnFsa-0007ZL-Mw for geb-bug-gnu-emacs@m.gmane.org; Tue, 07 Oct 2008 12:57:48 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KnDZa-0005Su-49 for bug-gnu-emacs@gnu.org; Tue, 07 Oct 2008 10:30:02 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KnDZZ-0005S0-Bo for bug-gnu-emacs@gnu.org; Tue, 07 Oct 2008 10:30:01 -0400 Original-Received: from [199.232.76.173] (port=35615 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KnDZZ-0005Rv-24 for bug-gnu-emacs@gnu.org; Tue, 07 Oct 2008 10:30:01 -0400 Original-Received: from rzlab.ucr.edu ([138.23.92.77]:50312) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KnDZX-0005CC-P8 for bug-gnu-emacs@gnu.org; Tue, 07 Oct 2008 10:30:00 -0400 Original-Received: from rzlab.ucr.edu (rzlab.ucr.edu [127.0.0.1]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id m97ETviL016361; Tue, 7 Oct 2008 07:29:57 -0700 Original-Received: (from debbugs@localhost) by rzlab.ucr.edu (8.13.8/8.13.8/Submit) id m97EA3Mk011645; Tue, 7 Oct 2008 07:10:03 -0700 X-Loop: don@donarmstrong.com Resent-From: "Shigeru Fukaya" Resent-To: bug-submit-list@donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Tue, 07 Oct 2008 14:10:03 +0000 Resent-Message-ID: Resent-Sender: don@donarmstrong.com X-Emacs-PR-Message: report 1108 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Original-Received: via spool by submit@emacsbugs.donarmstrong.com id=B.12233881659673 (code B ref -1); Tue, 07 Oct 2008 14:10:03 +0000 Original-Received: (at submit) by emacsbugs.donarmstrong.com; 7 Oct 2008 14:02:45 +0000 Original-Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id m97E2Zc0009667 for ; Tue, 7 Oct 2008 07:02:37 -0700 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KnD8z-00076L-SN for bug-gnu-emacs@gnu.org; Tue, 07 Oct 2008 10:02:34 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KnD8z-00075f-CL for bug-gnu-emacs@gnu.org; Tue, 07 Oct 2008 10:02:33 -0400 Original-Received: from [199.232.76.173] (port=35206 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KnD8z-00075O-8o for bug-gnu-emacs@gnu.org; Tue, 07 Oct 2008 10:02:33 -0400 Original-Received: from fg-out-1718.google.com ([72.14.220.157]:44165) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KnD8x-0004gY-Bs for bug-gnu-emacs@gnu.org; Tue, 07 Oct 2008 10:02:32 -0400 Original-Received: by fg-out-1718.google.com with SMTP id l26so2610247fgb.30 for ; Tue, 07 Oct 2008 07:02:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type; bh=QqGmozAbjITzzbbIbIQaGcgFbCgl6gQxSkfcrmpsM1U=; b=VfWgoEMneE6CBIoV1AQ7MRBKwZo0XGtdHyWWmRJoT56gw0CIR4txTBoMHl3ugdYGam Yz+Psp/ZHhTDIKz1GZkq4HWYOzIibKoMalhaPMNzGuXJC5/Dbb3QbFIFbtHaPN664wvg 6czWRYB7poMKEbwyqH5Bjg5IYa6l1cfVl00pQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=LmBsO6Z14dss9DITfsInR3APunZtLIlg7fTavKNcjwiVgC901JGuG7nEhumPWtJyOS tsmtO4LVUzrD2sQakj2xDd3WbICP3PHeSe6l58XcgilrKks0zs1yq3WamqAHNtNtSqaq S4o92mJIxL2tmNH3BOuK2/77ZBHdPMHp82SQc= Original-Received: by 10.180.246.10 with SMTP id t10mr4845797bkh.104.1223388148434; Tue, 07 Oct 2008 07:02:28 -0700 (PDT) Original-Received: by 10.181.17.3 with HTTP; Tue, 7 Oct 2008 07:02:28 -0700 (PDT) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) Resent-Date: Tue, 07 Oct 2008 10:30:01 -0400 X-Mailman-Approved-At: Tue, 07 Oct 2008 12:57:22 -0400 X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:21224 Archived-At: ------=_Part_88644_5340202.1223388148420 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hello, rx.el of the latest Emacs (23.0.60) has several problems. I fixed them and attach a tar file including the following. rx.diff - diff file rx-new.el - new replacement of rx.el (as many changes) rx-test.el - for simple output of original and fixed RX.txt - test output of mine (not by the above) Changelog Fixed problems are as follows: * (NOT CHAR-CLASS-SYMBOL) cause an error. (rx (not word)) => (error "rx `not' syntax error: word") (rx (not digit)) => (error "rx `not' syntax error: digit") * "^" in ANY produce a unnecessary escape or incorrect result. (rx (any "^")) => "[\\^]" (rx (not (any "^"))) => "[^\\^]" (rx (any ?^ ?a)) => "[\\^a]" (rx (any ?a ?^)) => "[a\\^]" * "]", "-" in ANY produce incorrect result. (rx (any ?- ?a ?\])) => "[]-a]" (rx (any "--]")) => "[]--]" * NOT-NOT-ANY produce incorrect result for special characters. (rx (not (not (any ".")))) => "." * NOT-WORDCHAR is incorrectly treated as character class. NOT-WORDCHAR should not be defined as a character class. (rx (any ascii not-wordchar)) => "[[:ascii:]^[:word:]]" * ANY accept syntax symbols and produce an senseless result. (rx (any symbol-start symbol-end)) => "[__]" (rx (any word-boundary)) => "[]" * NOT-NOT to symbol produce an incorrect result. (rx (not (not word-boundary))) => "[^\\B]" (rx (not (not (syntax word)))) => "[^\\Sw]" * Rx produce unnecessary shy groups easily. (rx (or (and "a" "b") (and "b" "c"))) => "\\(?:\\(?:ab\\)\\|\\(?:bc\\)\\)" * ANYTHING always produce shy groups even when unnecessary. (rx anything) => "\\(?:.\\|\n\\)" (rx (or anything "abc")) => "\\(?:\\(?:.\\|\n\\)\\|abc\\)" * NO-GROUP in `rx-to-string' doesn't work as documented, or is ambiguously defined. (rx-to-string "ab" t) => "ab" (rx-to-string "ab" nil) => "ab" (rx-to-string '(and "a" "b") t) => "\\(?:ab\\)" (rx-to-string '(and "a" "b") nil) => "\\(?:ab\\)" Regards, Shigeru ------=_Part_88644_5340202.1223388148420 Content-Type: application/x-gzip; name=rx.tgz Content-Transfer-Encoding: base64 X-Attachment-Id: f_fm0loh3e0 Content-Disposition: attachment; filename=rx.tgz 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 f8o//w9XjQPEAEABAA== ------=_Part_88644_5340202.1223388148420--