aboutsummaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorMattias EngdegÄrd2019-05-14 11:43:49 +0200
committerMattias EngdegÄrd2019-05-15 18:55:27 +0200
commit26f735ff198e52370aafe09ed5ed669e78f196ab (patch)
treeb54c83556db3e13b5852642c84097ee0c4531778 /etc
parentd0ebc389ebba0ca5b99e019c47c4a616941378ac (diff)
downloademacs-26f735ff198e52370aafe09ed5ed669e78f196ab.tar.gz
emacs-26f735ff198e52370aafe09ed5ed669e78f196ab.zip
Add standard unmatchable regexp
Add `regexp-unmatchable' as a standard unmatchable regexp, defined as "\\`a\\`". Use it where such a regexp is needed, replacing slower expressions in several places. From a suggestion by Philippe Schnoebelen. * lisp/subr.el (regexp-unmatchable): New defconst. * etc/NEWS (Lisp Changes): Mention `regexp-unmatchable'. * doc/lispref/searching.texi (Regexp Functions): Document it. * lisp/emacs-lisp/regexp-opt.el (regexp-opt) * lisp/progmodes/cc-defs.el (cc-conditional-require-after-load) (c-make-keywords-re) * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1) (c-forward-<>-arglist-recur, c-forward-decl-or-cast-1) (c-looking-at-decl-block) * lisp/progmodes/cc-fonts.el (c-doc-line-join-re) (c-doc-bright-comment-start-re) * lisp/progmodes/cc-langs.el (c-populate-syntax-table) (c-assignment-op-regexp) (c-block-comment-ender-regexp, c-font-lock-comment-end-skip) (c-block-comment-start-regexp, c-line-comment-start-regexp) (c-doc-comment-start-regexp, c-decl-start-colon-kwd-re) (c-type-decl-prefix-key, c-type-decl-operator-prefix-key) (c-pre-id-bracelist-key, c-enum-clause-introduction-re) (c-nonlabel-token-2-key) * lisp/progmodes/cc-mode.el (c-doc-fl-decl-start, c-doc-fl-decl-end) * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re) (c-noise-macro-name-re, c-make-noise-macro-regexps) * lisp/progmodes/octave.el (octave-help-mode) * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode, vc-bzr-revision-completion-table) * lisp/vc/vc-git.el (vc-git-log-view-mode) * lisp/vc/vc-hg.el (vc-hg-log-view-mode) * lisp/vc/vc-mtn.el (vc-mtn-log-view-mode): Use `regexp-unmatchable'. * lisp/textmodes/ispell.el (ispell-non-empty-string): Use `regexp-unmatchable', fixing a broken never-match regexp.
Diffstat (limited to 'etc')
-rw-r--r--etc/NEWS4
1 files changed, 4 insertions, 0 deletions
diff --git a/etc/NEWS b/etc/NEWS
index fc3ca1ea928..699a04b5246 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1990,6 +1990,10 @@ returns a regexp that never matches anything, which is an identity for
1990this operation. Previously, the empty string was returned in this 1990this operation. Previously, the empty string was returned in this
1991case. 1991case.
1992 1992
1993** New constant 'regexp-unmatchable' contains a never-matching regexp.
1994It is a convenient and readable way to specify a regexp that should
1995not match anything, and is as fast as any such regexp can be.
1996
1993 1997
1994* Changes in Emacs 27.1 on Non-Free Operating Systems 1998* Changes in Emacs 27.1 on Non-Free Operating Systems
1995 1999