Procházet zdrojové kódy

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.
Nicolas Goaziou před 9 roky
rodič
revize
7c49b7a66c
1 změnil soubory, kde provedl 3 přidání a 1 odebrání
  1. 3 1
      lisp/org-element.el

+ 3 - 1
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))