From a5e3a06b2ebc2c870433411f095dbb0c89c9b809 Mon Sep 17 00:00:00 2001 From: Ihor Radchenko Date: Wed, 8 Nov 2023 18:07:15 +0200 Subject: [PATCH] org-element--cache-process-request: Fix edge case * lisp/org-element.el (org-element--cache-process-request): Avoid applying OFFSET during Phase 3 twice in already offseted elements that are before an obsolete element. Reported-by: Sharon Kimble --- lisp/org-element.el | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lisp/org-element.el b/lisp/org-element.el index 8f54d0d6e..a790a6528 100644 --- a/lisp/org-element.el +++ b/lisp/org-element.el @@ -6382,6 +6382,10 @@ completing the request." ;; We altered the tree structure. The tree ;; traversal needs to be restarted. (setf (org-element--request-key request) key) + ;; Make sure that we restart tree traversal + ;; past already shifted elements (before the + ;; removed DATA). + (setq start key) (setf (org-element--request-parent request) parent) ;; Restart tree traversal. (setq node (org-element--cache-root)