Browse Source

org-element--cache-find: Do not hash section/org-data/table elements

* lisp/org-element.el (org-element--cache-find): Never use hashed
elements with children that can have the same :begin property.
Ihor Radchenko 2 years ago
parent
commit
96746438c0
1 changed files with 4 additions and 0 deletions
  1. 4 0
      lisp/org-element.el

+ 4 - 0
lisp/org-element.el

@@ -5764,6 +5764,10 @@ the cache."
                    ;; Limit can be a list key.
                    (org-element--cache-key-less-p pos limit))
                (= pos (org-element-property :begin hashed))
+               ;; We cannot rely on element :begin for elements with
+               ;; children starting at the same pos.
+               (not (memq (org-element-type hashed)
+                        '(section org-data table)))
                (org-element-property :cached hashed))
           (progn
             (cl-incf (car org-element--cache-hash-statistics))