Variable: org-fold-core--optimize-for-huge-buffers
org-fold-core--optimize-for-huge-buffers is a buffer-local variable
defined in org-fold-core.el.gz.
Documentation
Non-nil turns on extra speedup on huge buffers (Mbs of folded text).
This setting is risky and may cause various artifacts and degraded functionality, especially when using external packages. It is recommended to enable it on per-buffer basis as file-local variable.
When set to non-nil, must be a list containing one or multiple the following symbols:
- grab-invisible: Use invisible text property to hide text. This
will reduce the load on Emacs display engine and one may use it if
moving point across folded regions becomes slow. However, as a side
effect, some external packages extracting i.e. headlings from folded
parts of buffer may keep the text invisible.
- ignore-fragility-checks: Do not try to detect when user edits
break structure of the folded elements. This will speed up
modifying the folded regions at the cost that some higher-level
functions relying on this package might not be able to unfold the
edited text. For example, removed leading stars from a folded
headline in Org mode will break visibility cycling since Org mode
will not be aware that the following folded text belonged to
headline.
- ignore-modification-checks: Do not try to detect insertions in the
middle of the folded regions. This will speed up non-interactive
edits of the folded regions. However, text inserted in the middle
of the folded regions may become visible for some external packages
inserting text using insert instead of insert-and-inherit (the
latter is rarely used in practice).
- ignore-indirect: Do not decouple folding state in the indirect
buffers. This can speed up Emacs display engine (and thus motion of
point), especially when large number of indirect buffers is being
used.
- merge-folds: Do not distinguish between different types of folding
specs. This is the most aggressive optimization with unforeseen and
potentially drastic effects.
Source Code
;; Defined in /usr/src/emacs/lisp/org/org-fold-core.el.gz
(defvar-local org-fold-core--optimize-for-huge-buffers nil
"Non-nil turns on extra speedup on huge buffers (Mbs of folded text).
This setting is risky and may cause various artifacts and degraded
functionality, especially when using external packages. It is
recommended to enable it on per-buffer basis as file-local variable.
When set to non-nil, must be a list containing one or multiple the
following symbols:
- `grab-invisible': Use `invisible' text property to hide text. This
will reduce the load on Emacs display engine and one may use it if
moving point across folded regions becomes slow. However, as a side
effect, some external packages extracting i.e. headlings from folded
parts of buffer may keep the text invisible.
- `ignore-fragility-checks': Do not try to detect when user edits
break structure of the folded elements. This will speed up
modifying the folded regions at the cost that some higher-level
functions relying on this package might not be able to unfold the
edited text. For example, removed leading stars from a folded
headline in Org mode will break visibility cycling since Org mode
will not be aware that the following folded text belonged to
headline.
- `ignore-modification-checks': Do not try to detect insertions in the
middle of the folded regions. This will speed up non-interactive
edits of the folded regions. However, text inserted in the middle
of the folded regions may become visible for some external packages
inserting text using `insert' instead of `insert-and-inherit' (the
latter is rarely used in practice).
- `ignore-indirect': Do not decouple folding state in the indirect
buffers. This can speed up Emacs display engine (and thus motion of
point), especially when large number of indirect buffers is being
used.
- `merge-folds': Do not distinguish between different types of folding
specs. This is the most aggressive optimization with unforeseen and
potentially drastic effects.")