Function: hs-discard-overlays

hs-discard-overlays is a byte-compiled function defined in hideshow.el.gz.

Signature

(hs-discard-overlays BEG END)

Documentation

Delete hideshow overlays in region defined by BEG and END.

Skip "internal" overlays if hs-allow-nesting is non-nil.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/hideshow.el.gz
(defun hs-discard-overlays (beg end)
  "Delete hideshow overlays in region defined by BEG and END.
Skip \"internal\" overlays if `hs-allow-nesting' is non-nil."
  (when (< end beg)
    (setq beg (prog1 end (setq end beg))))
  (if hs-allow-nesting
      (let ((beg beg))
        (while (> end (setq beg (next-overlay-change beg)))
          (when-let* ((ov (hs-overlay-at beg)))
            ;; Reposition point to the end of the overlay, so we avoid
            ;; removing the nested overlays too.
            (setq beg (overlay-end ov))
            (delete-overlay ov))))
    (remove-overlays beg end 'invisible 'hs))
  (hs--refresh-indicators beg end))