diff options
| author | Mattias EngdegÄrd | 2019-05-15 22:44:00 +0200 |
|---|---|---|
| committer | Mattias EngdegÄrd | 2019-05-20 17:56:40 +0200 |
| commit | afdc20d73c8588e5a744ecf7bffaf4401a557d20 (patch) | |
| tree | fa09854d24edb81160a2d709bd450ea7284d83f1 /etc | |
| parent | c2cda3ff4025e8c27bdfc2a5279f3b635c8df260 (diff) | |
| download | emacs-afdc20d73c8588e5a744ecf7bffaf4401a557d20.tar.gz emacs-afdc20d73c8588e5a744ecf7bffaf4401a557d20.zip | |
Allow zero-argument rx `or' and `seq' forms
Make the rx `or' and `seq' forms accept zero arguments to produce a
never-matching regexp and an empty string, respectively.
* lisp/emacs-lisp/rx.el: Require cl-extra.
(rx-constituents, rx-or): Permit zero args.
(rx): Amend doc string for `or' and `seq'.
* test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-seq): Test the change.
* etc/NEWS (Changes in Specialized Modes and Packages): Mention the change.
Diffstat (limited to 'etc')
| -rw-r--r-- | etc/NEWS | 6 |
1 files changed, 6 insertions, 0 deletions
| @@ -1321,6 +1321,12 @@ when given in a string. Previously, '(any "\x80-\xff")' would match | |||
| 1321 | characters U+0080...U+00FF. Now the expression matches raw bytes in | 1321 | characters U+0080...U+00FF. Now the expression matches raw bytes in |
| 1322 | the 128...255 range, as expected. | 1322 | the 128...255 range, as expected. |
| 1323 | 1323 | ||
| 1324 | *** The rx 'or' and 'seq' forms no longer require any arguments. | ||
| 1325 | (or) produces a regexp that never matches anything, while (seq) | ||
| 1326 | matches the empty string, each being an identity for the operation. | ||
| 1327 | This also works for their aliases: '|' for 'or'; ':', 'and' and | ||
| 1328 | 'sequence' for 'seq'. | ||
| 1329 | |||
| 1324 | ** Frames | 1330 | ** Frames |
| 1325 | 1331 | ||
| 1326 | +++ | 1332 | +++ |