diff options
author | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2015-09-01 21:32:47 +0200 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2015-09-01 21:32:47 +0200 |
commit | 7c49b7a66cff994454ee5b92f0d0c7444580c002 (patch) | |
tree | 079516484a638db1489d3af8d924326dfc471cb4 | |
parent | 2d62c0e173dabc4ef1eb5172ceae32407e6049be (diff) | |
download | org-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.el | 4 |
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)) |