Function: org-flag-drawer

org-flag-drawer is a byte-compiled function defined in org-compat.el.

This function is obsolete since 9.4; use org-fold-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 ~/.emacs.d/elpa/org-9.8.2/org-compat.el
(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-fold-hide-drawer-toggle' instead." "9.4"))
  (if (and beg end) (org-fold-region beg end flag 'drawer)
    (let ((drawer
	   (or element
	       (and (save-excursion
		      (forward-line 0)
		      (looking-at-p "^[ \t]*:\\(\\(?:\\w\\|[-_]\\)+\\):[ \t]*$"))
		    (org-element-at-point)))))
      (when (org-element-type-p drawer '(drawer property-drawer))
	(let ((post (org-element-post-affiliated drawer)))
	  (org-fold-region
	   (save-excursion (goto-char post) (line-end-position))
	   (save-excursion (goto-char (org-element-end drawer))
			   (skip-chars-backward " \t\n")
			   (line-end-position))
	   flag 'drawer)
	  ;; 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)))))))