GNU bug report logs -
#37659
rx additions: anychar, unmatchable, unordered-or
Previous Next
Reported by: Mattias Engdegård <mattiase <at> acm.org>
Date: Tue, 8 Oct 2019 09:37:01 UTC
Severity: wishlist
Tags: fixed, patch
Fixed in version 27.1
Done: Mattias Engdegård <mattiase <at> acm.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Three minor rx additions follow:
* Add `anychar' as an alias for `anything': the latter suggests an expression that can match any string, while in reality it only matches a single character. The documentation now uses `anychar' as the preferred name. (`any-char' would also be possible, but is longer.)
* Add `unmatchable' for a never-match regexp. This follows the previously introduced variable `regexp-unmatchable'.
* Add `unordered-or' as a variant of `or' without the left-to-right match order guarantee. It allows unconditional regexp-opt optimisations, and is particularly useful for matching sets of keywords. With rx-let and rx-define, it also has the potential for better compositionality, allowing expressions to be put together from smaller parts.
Abstractly: while `or' is associative, `unordered-or' is also commutative.
The name `unordered-or' is descriptive but phonetically (and lexically) somewhat weak. Strong alternatives welcome.
[0001-Add-anychar-as-alias-to-anything-in-rx.patch (application/octet-stream, attachment)]
[0002-Add-unmatchable-as-alias-for-or-in-rx.patch (application/octet-stream, attachment)]
[0003-Add-rx-unordered-or-construct.patch (application/octet-stream, attachment)]
This bug report was last modified 5 years and 132 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.