diff options
author | Mattias Engdegård <mattiase@acm.org> | 2019-10-09 10:22:10 +0200 |
---|---|---|
committer | Mattias Engdegård <mattiase@acm.org> | 2019-10-18 14:46:12 +0200 |
commit | 6331d23de3a861de2374be2c03b42e3a2f150792 (patch) | |
tree | 1efa44e4818ae482688a3872154592597eed6488 /test/lisp/emacs-lisp | |
parent | ae5407b8579feae17ab34ed9ac68149cc29387c9 (diff) | |
download | emacs-6331d23de3a861de2374be2c03b42e3a2f150792.tar.gz |
Use [^z-a] for matching any character (anychar/anything) in rx
* lisp/emacs-lisp/rx.el (rx--translate-symbol):
* test/lisp/emacs-lisp/rx-tests.el (rx-any, rx-atoms):
Use [^z-a] instead of ".\\|\n" for anychar.
The new expression is faster (about 2×) and does not allocate regexp
stack space. For example, (0+ anychar) now matches strings of any
size (bug#37659).
Diffstat (limited to 'test/lisp/emacs-lisp')
-rw-r--r-- | test/lisp/emacs-lisp/rx-tests.el | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/test/lisp/emacs-lisp/rx-tests.el b/test/lisp/emacs-lisp/rx-tests.el index 903b191c98e..ef2541d83af 100644 --- a/test/lisp/emacs-lisp/rx-tests.el +++ b/test/lisp/emacs-lisp/rx-tests.el @@ -126,9 +126,9 @@ (should (equal (rx (not (any "!a" "0-8" digit nonascii))) "[^!0-8a[:digit:][:nonascii:]]")) (should (equal (rx (any) (not (any))) - "\\`a\\`\\(?:.\\|\n\\)")) + "\\`a\\`[^z-a]")) (should (equal (rx (any "") (not (any ""))) - "\\`a\\`\\(?:.\\|\n\\)"))) + "\\`a\\`[^z-a]"))) (ert-deftest rx-pcase () (should (equal (pcase "a 1 2 3 1 1 b" @@ -185,7 +185,7 @@ (ert-deftest rx-atoms () (should (equal (rx anychar anything) - "\\(?:.\\|\n\\)\\(?:.\\|\n\\)")) + "[^z-a][^z-a]")) (should (equal (rx unmatchable) "\\`a\\`")) (should (equal (rx line-start not-newline nonl any line-end) |