Function: org-fold-core-decouple-indirect-buffer-folds

org-fold-core-decouple-indirect-buffer-folds is a byte-compiled function defined in org-fold-core.el.gz.

Signature

(org-fold-core-decouple-indirect-buffer-folds)

Documentation

Copy and decouple folding state in a newly created indirect buffer.

This function is mostly intended to be used in clone-indirect-buffer-hook.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-fold-core.el.gz
(defun org-fold-core-decouple-indirect-buffer-folds ()
  "Copy and decouple folding state in a newly created indirect buffer.
This function is mostly intended to be used in
`clone-indirect-buffer-hook'."
  ;; Add current buffer to the list of indirect buffers in the base buffer.
  (when (buffer-base-buffer)
    (let ((new-buffer (current-buffer)))
      (with-current-buffer (buffer-base-buffer)
        (setq-local org-fold-core--indirect-buffers
                    (let (bufs)
                      (org-fold-core-cycle-over-indirect-buffers
                        (push (current-buffer) bufs))
                      (push new-buffer bufs)
                      (delete-dups bufs))))))
  (when (and (buffer-base-buffer)
             (eq org-fold-core-style 'text-properties)
             (not (memql 'ignore-indirect org-fold-core--optimise-for-huge-buffers)))
    (org-fold-core--update-buffer-folds)))