From 453c47b57d07435f09c5b289086ce5c07428dcb8 Mon Sep 17 00:00:00 2001 From: Ihor Radchenko Date: Sat, 5 Aug 2023 11:10:20 +0300 Subject: [PATCH] fixup! org-element--cache-for-removal: Fix changing heading granularity * lisp/org-element.el: (org-element--cache-for-removal): Explicitly assign :granularity to not deceive parser when parsing for different granularity than cache. Cache is always using 'element granularity. This commit is only needed on bugfix. On main, :granularity is set correctly. --- lisp/org-element.el | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lisp/org-element.el b/lisp/org-element.el index e7e66927f..296468eed 100644 --- a/lisp/org-element.el +++ b/lisp/org-element.el @@ -6567,7 +6567,9 @@ If you observe Emacs hangs frequently, please report this to Org mode mailing li ;; Make sure that we return referenced element in cache ;; that can be altered directly. (if element - (setq element (or (org-element--cache-put element) element)) + (progn + (org-element-put-property element :granularity 'element) + (setq element (or (org-element--cache-put element) element))) ;; Nothing to parse (i.e. empty file). (throw 'exit parent)) (unless (or (not (org-element--cache-active-p)) parent) @@ -6948,6 +6950,7 @@ known element in cache (it may start after END)." "Found non-robust headline that can be updated individually: %S" (org-element--format-element current)) (org-element-set-element up current) + (org-element-put-property up :granularity 'element) t))) ;; If UP is org-data, the situation is similar to ;; headline case. We just need to re-parse the