Function: Info--search-loop

Info--search-loop is a byte-compiled function defined in info.el.gz.

Signature

(Info--search-loop REGEXP BOUND BACKWARD)

Source Code

;; Defined in /usr/src/emacs/lisp/info.el.gz
(defun Info--search-loop (regexp bound backward)
  (when backward
    ;; Hide Info file header for backward search.
    (narrow-to-region (save-excursion
                        (goto-char (point-min))
                        (search-forward "\n\^_")
                        (1- (point)))
                      (point-max)))
  (let ((give-up nil)
        (found nil)
        (beg-found nil))
    (while (not (or give-up
                    (and found
                         (funcall isearch-filter-predicate
                                  beg-found found))))
      (let ((search-spaces-regexp Info-search-whitespace-regexp))
        (if (funcall
             (if backward #'re-search-backward #'re-search-forward)
             regexp bound t)
            (setq found (point) beg-found (if backward (match-end 0)
                                            (match-beginning 0)))
          (setq give-up t found nil))))
    found))