Function: org-element--cache-persist-before-write

org-element--cache-persist-before-write is a byte-compiled function defined in org-element.el.gz.

Signature

(org-element--cache-persist-before-write CONTAINER &optional ASSOCIATED)

Documentation

Sync cache before saving.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-element.el.gz
;;; Cache persistence

(defun org-element--cache-persist-before-write (container &optional associated)
  "Sync cache before saving."
  (when (equal container '(elisp org-element--cache))
    (if (and org-element-use-cache
             (plist-get associated :file)
             (get-file-buffer (plist-get associated :file))
             org-element-cache-persistent)
        (with-current-buffer (get-file-buffer (plist-get associated :file))
          (if (and (derived-mode-p 'org-mode)
                   org-element--cache)
              (org-with-wide-buffer
               (org-element--cache-sync (current-buffer) (point-max))
               ;; Cleanup cache request keys to avoid collisions during next
               ;; Emacs session.
               (avl-tree-mapc
                (lambda (el)
                  (org-element-put-property el :org-element--cache-sync-key nil))
                org-element--cache)
               nil)
            'forbid))
      'forbid)))