From 7c49b7a66cff994454ee5b92f0d0c7444580c002 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Tue, 1 Sep 2015 21:32:47 +0200 Subject: [PATCH] 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. --- lisp/org-element.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/org-element.el b/lisp/org-element.el index 8f41ab282..3179faef7 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))