Function: org-flag-drawer
org-flag-drawer is a byte-compiled function defined in
org-compat.el.gz.
This function is obsolete since 9.4; use org-hide-drawer-toggle
instead.
Signature
(org-flag-drawer FLAG &optional ELEMENT BEG END)
Documentation
When FLAG is non-nil, hide the drawer we are at.
Otherwise make it visible.
When optional argument ELEMENT is a parsed drawer, as returned by
org-element-at-point, hide or show that drawer instead.
When buffer positions BEG and END are provided, hide or show that region as a drawer without further ado.
Source Code
;; Defined in /usr/src/emacs/lisp/org/org-compat.el.gz
(defun org-flag-drawer (flag &optional element beg end)
"When FLAG is non-nil, hide the drawer we are at.
Otherwise make it visible.
When optional argument ELEMENT is a parsed drawer, as returned by
`org-element-at-point', hide or show that drawer instead.
When buffer positions BEG and END are provided, hide or show that
region as a drawer without further ado."
(declare (obsolete "use `org-hide-drawer-toggle' instead." "9.4"))
(if (and beg end) (org-fold-region beg end flag (if (eq org-fold-core-style 'text-properties) 'drawer 'outline))
(let ((drawer
(or element
(and (save-excursion
(beginning-of-line)
(looking-at-p "^[ \t]*:\\(\\(?:\\w\\|[-_]\\)+\\):[ \t]*$"))
(org-element-at-point)))))
(when (memq (org-element-type drawer) '(drawer property-drawer))
(let ((post (org-element-property :post-affiliated drawer)))
(org-fold-region
(save-excursion (goto-char post) (line-end-position))
(save-excursion (goto-char (org-element-property :end drawer))
(skip-chars-backward " \t\n")
(line-end-position))
flag (if (eq org-fold-core-style 'text-properties) 'drawer 'outline))
;; When the drawer is hidden away, make sure point lies in
;; a visible part of the buffer.
(when (invisible-p (max (1- (point)) (point-min)))
(goto-char post)))))))