diff options
author | Mattias EngdegÄrd <mattiase@acm.org> | 2019-12-06 22:23:57 +0100 |
---|---|---|
committer | Mattias EngdegÄrd <mattiase@acm.org> | 2019-12-10 22:37:47 +0100 |
commit | ea93326cc046cb1beb7535cdf6d69b216b767685 (patch) | |
tree | 5494bab812fdaf3f7a2997cb70926bdf6ec13993 /test/lisp/vc/log-edit-tests.el | |
parent | 9546a2a0d6653a7d930cda722f5babbebb0a1d0c (diff) | |
download | emacs-ea93326cc046cb1beb7535cdf6d69b216b767685.tar.gz emacs-ea93326cc046cb1beb7535cdf6d69b216b767685.tar.bz2 emacs-ea93326cc046cb1beb7535cdf6d69b216b767685.zip |
Add `union' and `intersection' to rx (bug#37849)
These character set operations, together with `not' for set
complement, improve the compositionality of rx, and reduce duplication
in complicated cases. Named character classes are not permitted in
set operations.
* lisp/emacs-lisp/rx.el (rx--translate-any): Split into multiple
functions.
(rx--foldl, rx--parse-any, rx--generate-alt, rx--intervals-to-alt)
(rx--complement-intervals, rx--intersect-intervals)
(rx--union-intervals, rx--charset-intervals, rx--charset-union)
(rx--charset-all, rx--charset-intersection, rx--translate-union)
(rx--translate-intersection): New.
(rx--translate-not, rx--translate-form, rx--builtin-forms, rx):
Add `union' and `intersection'.
* test/lisp/emacs-lisp/rx-tests.el (rx-union ,rx-def-in-union)
(rx-intersection, rx-def-in-intersection): New tests.
* doc/lispref/searching.texi (Rx Constructs):
* etc/NEWS:
Document `union' and `intersection'.
Diffstat (limited to 'test/lisp/vc/log-edit-tests.el')
0 files changed, 0 insertions, 0 deletions