summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/lispref/searching.texi3
-rw-r--r--etc/NEWS4
-rw-r--r--lisp/emacs-lisp/rx.el7
-rw-r--r--test/lisp/emacs-lisp/rx-tests.el4
4 files changed, 11 insertions, 7 deletions
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi
index a4b65334126..2274bab002c 100644
--- a/doc/lispref/searching.texi
+++ b/doc/lispref/searching.texi
@@ -1220,7 +1220,8 @@ Corresponding string regexp: @samp{[^@dots{}]}, @samp{\S@var{code}},
Match any character except a newline.@*
Corresponding string regexp: @samp{.} (dot)
-@item @code{anything}
+@item @code{anychar}, @code{anything}
+@cindex @code{anychar} in rx
@cindex @code{anything} in rx
Match any character.@*
Corresponding string regexp: @samp{.\|\n} (for example)
diff --git a/etc/NEWS b/etc/NEWS
index e1eb74f86e8..25c1cef9516 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1854,6 +1854,10 @@ at run time, instead of a constant string.
*** New rx extension mechanism: 'rx-define', 'rx-let', 'rx-let-eval'.
These macros add new forms to the rx notation.
++++
+*** 'anychar' is now an alias for 'anything'
+Both match any single character; 'anychar' is more descriptive.
+
** Frames
+++
diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el
index 45fec796cc3..6c0b2069302 100644
--- a/lisp/emacs-lisp/rx.el
+++ b/lisp/emacs-lisp/rx.el
@@ -126,7 +126,6 @@ Each entry is:
(get name 'rx-definition)))
;; TODO: Additions to consider:
-;; - A better name for `anything', like `any-char' or `anychar'.
;; - A name for (or), maybe `unmatchable'.
;; - A construct like `or' but without the match order guarantee,
;; maybe `unordered-or'. Useful for composition or generation of
@@ -138,7 +137,7 @@ Each entry is:
;; Use `list' instead of a quoted list to wrap the strings here,
;; since the return value may be mutated.
((or 'nonl 'not-newline 'any) (cons (list ".") t))
- ('anything (rx--translate-form '(or nonl "\n")))
+ ((or 'anychar 'anything) (rx--translate-form '(or nonl "\n")))
((or 'bol 'line-start) (cons (list "^") 'lseq))
((or 'eol 'line-end) (cons (list "$") 'rseq))
((or 'bos 'string-start 'bot 'buffer-start) (cons (list "\\`") t))
@@ -913,7 +912,7 @@ can expand to any number of values."
"List of built-in rx function-like symbols.")
(defconst rx--builtin-symbols
- (append '(nonl not-newline any anything
+ (append '(nonl not-newline any anychar anything
bol eol line-start line-end
bos eos string-start string-end
bow eow word-start word-end
@@ -1016,7 +1015,7 @@ CHAR Match a literal character.
can be (any ...), (syntax ...), (category ...),
or a character class.
not-newline Match any character except a newline. Alias: nonl.
-anything Match any character.
+anychar Match any character. Alias: anything.
CHARCLASS Match a character from a character class. One of:
alpha, alphabetic, letter Alphabetic characters (defined by Unicode).
diff --git a/test/lisp/emacs-lisp/rx-tests.el b/test/lisp/emacs-lisp/rx-tests.el
index 76dcf419428..d4524e5a251 100644
--- a/test/lisp/emacs-lisp/rx-tests.el
+++ b/test/lisp/emacs-lisp/rx-tests.el
@@ -184,8 +184,8 @@
"ab")))
(ert-deftest rx-atoms ()
- (should (equal (rx anything)
- ".\\|\n"))
+ (should (equal (rx anychar anything)
+ "\\(?:.\\|\n\\)\\(?:.\\|\n\\)"))
(should (equal (rx line-start not-newline nonl any line-end)
"^...$"))
(should (equal (rx bol string-start string-end buffer-start buffer-end