Function: org-element--cache-setup-change-functions
org-element--cache-setup-change-functions is a byte-compiled function
defined in org-element.el.gz.
Signature
(org-element--cache-setup-change-functions)
Documentation
Setup before-change-functions and after-change-functions.
Source Code
;; Defined in /usr/src/emacs/lisp/org/org-element.el.gz
(defun org-element--cache-setup-change-functions ()
"Setup `before-change-functions' and `after-change-functions'."
(when (and (derived-mode-p 'org-mode) org-element-use-cache)
;; Clear copied local cache to avoid extra memory usage.
;; We only use cache stored in the base buffer.
(when (buffer-base-buffer)
(setq-local org-element--cache nil)
(setq-local org-element--headline-cache nil))
;; Register current buffer in `org-fold-core--indirect-buffers' to
;; be used within `org-fold-core-cycle-over-indirect-buffers'.
;; FIXME: We should eventually factor out indirect buffer tracking
;; from org-fold-core.
(org-fold-core-decouple-indirect-buffer-folds)
(add-hook 'before-change-functions
#'org-element--cache-before-change nil t)
;; Run `org-element--cache-after-change' early to handle cases
;; when other `after-change-functions' require element cache.
(add-hook 'after-change-functions
#'org-element--cache-after-change -1 t)))