org-element: Disable cache for orgstruct-mode

* lisp/org-element.el (org-element--cache-active-p):
(org-element-cache-reset): Do not activate cache outside Org buffers,
even if using "orgstruct-mode".

Reported-by: "Mark A. Hershberger" <mah@nichework.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/104648>
This commit is contained in:
Nicolas Goaziou 2016-02-01 00:17:39 +01:00
parent ffb08b28cd
commit 0b97a55170
1 changed files with 2 additions and 3 deletions

View File

@ -4920,7 +4920,7 @@ This function assumes `org-element--cache' is a valid AVL tree."
"Non-nil when cache is active in current buffer."
(and org-element-use-cache
org-element--cache
(or (derived-mode-p 'org-mode) orgstruct-mode)))
(derived-mode-p 'org-mode)))
(defun org-element--cache-find (pos &optional side)
"Find element in cache starting at POS or before.
@ -5632,8 +5632,7 @@ buffers."
(interactive "P")
(dolist (buffer (if all (buffer-list) (list (current-buffer))))
(with-current-buffer buffer
(when (and org-element-use-cache
(or (derived-mode-p 'org-mode) orgstruct-mode))
(when (and org-element-use-cache (derived-mode-p 'org-mode))
(org-set-local 'org-element--cache
(avl-tree-create #'org-element--cache-compare))
(org-set-local 'org-element--cache-objects (make-hash-table :test #'eq))