summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2015-09-01 21:32:47 +0200
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2015-09-01 21:32:47 +0200
commit7c49b7a66cff994454ee5b92f0d0c7444580c002 (patch)
tree079516484a638db1489d3af8d924326dfc471cb4
parent2d62c0e173dabc4ef1eb5172ceae32407e6049be (diff)
downloadorg-mode-7c49b7a66cff994454ee5b92f0d0c7444580c002.tar.gz
org-element: Fix cache bug
* lisp/org-element.el (org-element-cache-reset): Avoid using `org-element--cache-active-p'. (org-element--cache-active-p): Check cache is properly initialized.
-rw-r--r--lisp/org-element.el4
1 files changed, 3 insertions, 1 deletions
diff --git a/lisp/org-element.el b/lisp/org-element.el
index 8f41ab2..3179fae 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -4903,6 +4903,7 @@ This function assumes `org-element--cache' is a valid AVL tree."
(defsubst org-element--cache-active-p ()
"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)))
(defun org-element--cache-find (pos &optional side)
@@ -5615,7 +5616,8 @@ buffers."
(interactive "P")
(dolist (buffer (if all (buffer-list) (list (current-buffer))))
(with-current-buffer buffer
- (when (org-element--cache-active-p)
+ (when (and org-element-use-cache
+ (or (derived-mode-p 'org-mode) orgstruct-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))