Function: isearch-close-unnecessary-overlays

isearch-close-unnecessary-overlays is a byte-compiled function defined in isearch.el.gz.

Signature

(isearch-close-unnecessary-overlays BEG END)

Source Code

;; Defined in /usr/src/emacs/lisp/isearch.el.gz
;; Verify if the current match is outside of each element of
;; `isearch-opened-overlays', if so close that overlay.

(defun isearch-close-unnecessary-overlays (beg end)
  (let ((overlays isearch-opened-overlays))
    (setq isearch-opened-overlays nil)
    (dolist (ov overlays)
      (when (overlay-buffer ov)
        (if (isearch-intersects-p beg end (overlay-start ov) (overlay-end ov))
            (push ov isearch-opened-overlays)
          (let ((fct-temp (overlay-get ov 'isearch-open-invisible-temporary)))
            (if fct-temp
                ;; If this exists it means that the overlay was opened
                ;; using this function, not by us tweaking the overlay
                ;; properties.
                (funcall fct-temp ov t)
              (overlay-put ov 'invisible (overlay-get ov 'isearch-invisible))
              (overlay-put ov 'isearch-invisible nil))))))))