Variable: org-element--cache-sync-requests

org-element--cache-sync-requests is a buffer-local variable defined in org-element.el.gz.

Documentation

List of pending synchronization requests.

A request is a vector with the following pattern:

 [NEXT BEG END OFFSET PARENT PHASE]

Processing a synchronization request consists of three phases:

  0. Delete modified elements,
  1. Fill missing area in cache,
  2. Shift positions and re-parent elements after the changes.

During phase 0, NEXT is the key of the first element to be removed, BEG and END is buffer position delimiting the modifications. Elements starting between them (inclusive) are removed. So are elements whose parent is removed. PARENT, when non-nil, is the common parent of all the elements between BEG and END.

It is guaranteed that only a single phase 0 request exists at any moment of time. If it does, it must be the first request in the list.

During phase 1, NEXT is the key of the next known element in cache and BEG its beginning position. Parse buffer between that element and the one before it in order to determine the parent of the next element. Set PARENT to the element containing NEXT.

During phase 2, NEXT is the key of the next element to shift in the parse tree. All elements starting from this one have their properties relative to buffer positions shifted by integer OFFSET and, if they belong to element PARENT, are adopted by it.

PHASE specifies the phase number, as an integer.

For any synchronization request, all the later requests in the cache must not start at or before END. See org-element--cache-submit-request.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-element.el.gz
(defvar-local org-element--cache-sync-requests nil
  "List of pending synchronization requests.

A request is a vector with the following pattern:

 [NEXT BEG END OFFSET PARENT PHASE]

Processing a synchronization request consists of three phases:

  0. Delete modified elements,
  1. Fill missing area in cache,
  2. Shift positions and re-parent elements after the changes.

During phase 0, NEXT is the key of the first element to be
removed, BEG and END is buffer position delimiting the
modifications.  Elements starting between them (inclusive) are
removed.  So are elements whose parent is removed.  PARENT, when
non-nil, is the common parent of all the elements between BEG and END.

It is guaranteed that only a single phase 0 request exists at any
moment of time.  If it does, it must be the first request in the list.

During phase 1, NEXT is the key of the next known element in
cache and BEG its beginning position.  Parse buffer between that
element and the one before it in order to determine the parent of
the next element.  Set PARENT to the element containing NEXT.

During phase 2, NEXT is the key of the next element to shift in
the parse tree.  All elements starting from this one have their
properties relative to buffer positions shifted by integer
OFFSET and, if they belong to element PARENT, are adopted by it.

PHASE specifies the phase number, as an integer.

For any synchronization request, all the later requests in the cache
must not start at or before END.  See `org-element--cache-submit-request'.")