• Mattias Engdegård's avatar
    Add standard unmatchable regexp · 26f735ff
    Mattias Engdegård authored
    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.
    26f735ff
grep.el 49.3 KB