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)))))))