GNU bug report logs -
#1108
23.0.60; conversion bugs of rx.el
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Tue, 07 Oct 2008 14:11:15 -0400
with message-id <87wsgk9sxo.fsf <at> cyd.mit.edu>
and subject line Re: 23.0.60; conversion bugs of rx.el
has caused the Emacs bug report #1108,
regarding 23.0.60; conversion bugs of rx.el
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact don <at> donarmstrong.com
immediately.)
--
1108: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=1108
Emacs Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, 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
[rx.tgz (application/x-gzip, attachment)]
[Message part 5 (message/rfc822, inline)]
> rx.el of the latest Emacs (23.0.60) has several problems. I fixed
> them and attach a tar file including the following.
Thanks for fixing the bugs. Your changes look good; I've checked them
into CVS.
This bug report was last modified 16 years and 287 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.