Function: isearch--highlight-regexp-or-lines
isearch--highlight-regexp-or-lines is a byte-compiled function defined
in isearch.el.gz.
Signature
(isearch--highlight-regexp-or-lines HI-LOCK-FUNC)
Documentation
Run HI-LOCK-FUNC to exit isearch, leaving the matches highlighted.
This is the internal function used by isearch-highlight-regexp
and isearch-highlight-lines-matching-regexp to invoke
HI-LOCK-FUNC (either highlight-regexp or highlight-lines-matching-regexp,
respectively).
Source Code
;; Defined in /usr/src/emacs/lisp/isearch.el.gz
(defun isearch--highlight-regexp-or-lines (hi-lock-func)
"Run HI-LOCK-FUNC to exit isearch, leaving the matches highlighted.
This is the internal function used by `isearch-highlight-regexp'
and `isearch-highlight-lines-matching-regexp' to invoke
HI-LOCK-FUNC (either `highlight-regexp' or `highlight-lines-matching-regexp',
respectively)."
(let (
;; Set `isearch-recursive-edit' to nil to prevent calling
;; `exit-recursive-edit' in `isearch-done' that terminates
;; the execution of this command when it is non-nil.
;; We call `exit-recursive-edit' explicitly at the end below.
(isearch-recursive-edit nil))
(isearch-done nil t)
(isearch-clean-overlays))
(require 'hi-lock nil t)
(let ((regexp (cond ((functionp isearch-regexp-function)
(funcall isearch-regexp-function isearch-string))
(isearch-regexp-function (word-search-regexp isearch-string))
(isearch-regexp isearch-string)
(t (regexp-quote isearch-string)))))
(let ((case-fold-search isearch-case-fold-search)
;; Set `search-upper-case' to nil to not call
;; `isearch-no-upper-case-p' in `hi-lock'.
(search-upper-case nil)
(search-spaces-regexp
(if (if isearch-regexp
isearch-regexp-lax-whitespace
isearch-lax-whitespace)
search-whitespace-regexp)))
(funcall hi-lock-func regexp (hi-lock-read-face-name) isearch-string)))
(and isearch-recursive-edit (exit-recursive-edit)))