Function: org-fold--hide-drawers

org-fold--hide-drawers is a byte-compiled function defined in org-fold.el.gz.

Signature

(org-fold--hide-drawers BEGIN END)

Documentation

Hide all drawers between BEGIN and END.

Aliases

org--hide-drawers (obsolete since 9.6)

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-fold.el.gz
(defun org-fold--hide-drawers (begin end)
  "Hide all drawers between BEGIN and END."
  (save-excursion
    (goto-char begin)
    (while (and (< (point) end)
                (re-search-forward org-drawer-regexp end t))
      ;; Skip folded drawers
      (if (org-fold-folded-p nil 'drawer)
          (goto-char (org-fold-next-folding-state-change 'drawer nil end))
        (let* ((drawer (org-element-at-point))
               (type (org-element-type drawer)))
          (when (memq type '(drawer property-drawer))
            (org-fold-hide-drawer-toggle t nil drawer)
            ;; Make sure to skip drawer entirely or we might flag it
            ;; another time when matching its ending line with
            ;; `org-drawer-regexp'.
            (goto-char (org-element-property :end drawer))))))))