Noam Postavsky
b59ffd2290
Support (rx (and (regexp EXPR) (literal EXPR))) (Bug#36237)
...
* lisp/emacs-lisp/rx.el (rx-regexp): Allow non-string forms.
(rx-constituents): Add literal constituent, which is like a plain
STRING form, but allows arbitrary lisp expressions.
(rx-literal): New function.
(rx-compile-to-lisp): New variable.
(rx--subforms): New helper function for handling subforms, including
non-constant case.
(rx-group-if, rx-and, rx-or, rx-=, rx->=, rx-repeat, rx-submatch)
(rx-submatch-n, rx-kleene, rx-atomic-p): Use it to handle non-constant
subforms.
(rx): Document new form, wrap non-constant forms with concat call.
* test/lisp/emacs-lisp/rx-tests.el (rx-tests--match): New macro.
(rx-nonstring-expr, rx-nonstring-expr-non-greedy): New tests.
* etc/NEWS: Announce changes.
2019-06-25 22:00:03 -04:00
..
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-01-10 13:27:34 +01:00
2019-06-25 22:00:03 -04:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 18:47:22 -08:00
2019-04-02 21:40:56 -07:00
2019-05-28 19:33:20 -04:00
2019-06-22 12:15:40 +03:00
2019-06-24 17:36:00 +02:00
2019-06-05 20:30:23 -04:00
2019-05-25 14:25:18 -07:00
2019-06-01 18:52:22 -07:00
2019-06-25 13:23:15 -07:00
2019-06-23 07:27:19 +02:00
2019-06-15 09:50:33 -07:00
2019-05-25 14:25:18 -07:00
2019-06-22 19:25:44 -04:00
2019-02-03 23:00:29 +02:00
2019-06-24 09:15:41 +02:00
2018-12-31 17:57:29 -08:00
2019-05-31 19:07:48 +02:00
2019-06-15 11:08:05 +02:00
2019-01-01 01:01:13 +00:00
2019-04-07 03:56:27 +01:00
2019-06-03 23:18:31 +03:00
2019-01-01 01:01:13 +00:00
2019-06-06 19:29:42 -04:00
2019-01-10 13:27:34 +01:00
2019-01-01 01:01:13 +00:00
2019-05-20 15:29:26 +01:00
2019-05-26 01:00:16 -07:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-22 16:42:43 +00:00
2018-12-31 17:57:29 -08:00
2019-01-28 17:24:04 +02:00
2019-01-01 01:01:13 +00:00
2019-06-14 19:45:00 +02:00
2019-06-23 20:30:50 +02:00
2019-03-09 16:44:24 +01:00
2019-05-13 20:41:02 -04:00
2019-05-25 14:25:18 -07:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-04-19 10:31:02 +02:00
2019-04-28 16:45:13 -04:00
2019-05-18 10:01:10 -07:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-05-26 01:00:15 -07:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-05-29 20:47:16 +02:00
2019-01-01 01:01:13 +00:00
2019-05-25 14:25:18 -07:00
2019-03-20 10:52:30 -04:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-05-26 11:22:27 +02:00
2019-06-09 10:08:36 -07:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-03-31 17:08:21 +01:00
2019-01-01 01:01:13 +00:00
2019-05-25 14:25:18 -07:00
2019-05-29 15:56:14 -04:00
2019-05-26 11:56:57 +01:00
2019-02-03 23:00:29 +02:00
2019-05-21 15:23:23 +01:00
2019-06-07 12:01:11 +03:00
2018-12-31 17:57:29 -08:00
2018-12-31 18:47:22 -08:00
2019-06-01 01:44:31 -07:00
2019-04-25 19:17:23 +02:00
2019-01-01 01:01:13 +00:00
2019-04-07 03:56:27 +01:00
2019-05-25 14:25:18 -07:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00