Function: org-clean-visibility-after-subtree-move
org-clean-visibility-after-subtree-move is a byte-compiled function
defined in org.el.gz.
Signature
(org-clean-visibility-after-subtree-move)
Documentation
Fix visibility issues after moving a subtree.
Source Code
;; Defined in /usr/src/emacs/lisp/org/org.el.gz
(defun org-clean-visibility-after-subtree-move ()
"Fix visibility issues after moving a subtree."
;; First, find a reasonable region to look at:
;; Start two siblings above, end three below
(let* ((beg (save-excursion
(and (org-get-previous-sibling)
(org-get-previous-sibling))
(point)))
(end (save-excursion
(and (org-get-next-sibling)
(org-get-next-sibling)
(org-get-next-sibling))
(if (org-at-heading-p)
(line-end-position)
(point))))
(level (looking-at "\\*+"))
(re (when level (concat "^" (regexp-quote (match-string 0)) " "))))
(save-excursion
(save-restriction
(narrow-to-region beg end)
(when re
;; Properly fold already folded siblings
(goto-char (point-min))
(while (re-search-forward re nil t)
(when (and (not (org-invisible-p))
(org-invisible-p (line-end-position)))
(org-fold-heading nil))))
(org-cycle-hide-drawers 'all)
(org-cycle-show-empty-lines 'overview)))))