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.
This commit is contained in:
Nicolas Goaziou 2015-09-01 21:32:47 +02:00
parent 2d62c0e173
commit 7c49b7a66c
1 changed files with 3 additions and 1 deletions

View File

@ -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))