diff options
| author | Mattias EngdegÄrd | 2019-05-14 11:43:49 +0200 |
|---|---|---|
| committer | Mattias EngdegÄrd | 2019-05-15 18:55:27 +0200 |
| commit | 26f735ff198e52370aafe09ed5ed669e78f196ab (patch) | |
| tree | b54c83556db3e13b5852642c84097ee0c4531778 /doc | |
| parent | d0ebc389ebba0ca5b99e019c47c4a616941378ac (diff) | |
| download | emacs-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 'doc')
| -rw-r--r-- | doc/lispref/searching.texi | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi index 8775254dd07..24f30b4dac6 100644 --- a/doc/lispref/searching.texi +++ b/doc/lispref/searching.texi | |||
| @@ -1070,6 +1070,13 @@ list of characters @var{chars}. | |||
| 1070 | 1070 | ||
| 1071 | @c Internal functions: regexp-opt-group | 1071 | @c Internal functions: regexp-opt-group |
| 1072 | 1072 | ||
| 1073 | @defvar regexp-unmatchable | ||
| 1074 | This variable contains a regexp that is guaranteed not to match any | ||
| 1075 | string at all. It is particularly useful as default value for | ||
| 1076 | variables that may be set to a pattern that actually matches | ||
| 1077 | something. | ||
| 1078 | @end defvar | ||
| 1079 | |||
| 1073 | @node Regexp Search | 1080 | @node Regexp Search |
| 1074 | @section Regular Expression Searching | 1081 | @section Regular Expression Searching |
| 1075 | @cindex regular expression searching | 1082 | @cindex regular expression searching |