Function: org-list-set-item-visibility

org-list-set-item-visibility is a byte-compiled function defined in org-list.el.gz.

Signature

(org-list-set-item-visibility ITEM STRUCT VIEW)

Documentation

Set visibility of ITEM in STRUCT to VIEW.

Possible values are: folded, children or subtree. See org-cycle for more information.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-list.el.gz
(defun org-list-set-item-visibility (item struct view)
  "Set visibility of ITEM in STRUCT to VIEW.

Possible values are: `folded', `children' or `subtree'.  See
`org-cycle' for more information."
  (cond
   ((eq view 'folded)
    (let ((item-end (org-list-get-item-end-before-blank item struct)))
      ;; Hide from eol
      (org-fold-region (save-excursion (goto-char item) (line-end-position))
		       item-end t 'outline)))
   ((eq view 'children)
    ;; First show everything.
    (org-list-set-item-visibility item struct 'subtree)
    ;; Then fold every child.
    (let* ((parents (org-list-parents-alist struct))
	   (children (org-list-get-children item struct parents)))
      (dolist (child children)
	(org-list-set-item-visibility child struct 'folded))))
   ((eq view 'subtree)
    ;; Show everything
    (let ((item-end (org-list-get-item-end item struct)))
      (org-fold-region item item-end nil 'outline)))))