summaryrefslogtreecommitdiff
path: root/lisp/org/org-element.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/org/org-element.el')
-rw-r--r--lisp/org/org-element.el7
1 files changed, 5 insertions, 2 deletions
diff --git a/lisp/org/org-element.el b/lisp/org/org-element.el
index df43ebcf0c5..296468eed1a 100644
--- a/lisp/org/org-element.el
+++ b/lisp/org/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)
@@ -6942,12 +6944,13 @@ known element in cache (it may start after END)."
(let ((current (org-with-point-at (org-element-property :begin up)
(org-element-with-disabled-cache
(and (looking-at-p org-element-headline-re)
- (org-element-headline-parser))))))
+ (org-element-headline-parser nil 'fast))))))
(when (eq 'headline (org-element-type current))
(org-element--cache-log-message
"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