|
@@ -6495,7 +6495,7 @@ If you observe Emacs hangs frequently, please report this to Org mode mailing li
|
|
|
org-list-full-item-re "\\|"
|
|
|
":\\(?: \\|$\\)" "\\|"
|
|
|
"\\\\begin{[A-Za-z0-9*]+}" "\\|"
|
|
|
- ":\\(?:\\w\\|[-_]\\)+:[ \t]*$"
|
|
|
+ ":\\(?:\\w\\|[-_]\\)+:[ \t]*.*$"
|
|
|
"\\)")
|
|
|
"Regexp matching a sensitive line, structure wise.
|
|
|
A sensitive line is a headline, inlinetask, block, drawer, or
|
|
@@ -6619,6 +6619,11 @@ known element in cache (it may start after END)."
|
|
|
(if (not before) after
|
|
|
(let ((up before)
|
|
|
(robust-flag t))
|
|
|
+ (when (and (eq 'org-data (org-element-type up))
|
|
|
+ org-element--cache-change-warning)
|
|
|
+ ;; We may be doing changes in first section that affect
|
|
|
+ ;; org-data.
|
|
|
+ (setq org-element--cache-change-warning 'org-data))
|
|
|
(while up
|
|
|
(if (let ((type (org-element-type up)))
|
|
|
(or (and (memq type '( center-block dynamic-block
|
|
@@ -6644,7 +6649,17 @@ known element in cache (it may start after END)."
|
|
|
(pcase type
|
|
|
;; Sensitive change in section. Need to
|
|
|
;; re-parse.
|
|
|
- (`section (not org-element--cache-change-warning))
|
|
|
+ (`section
|
|
|
+ (or (not org-element--cache-change-warning) ; robust
|
|
|
+ (when (and org-element--cache-change-warning
|
|
|
+ (eq 'org-data
|
|
|
+ (org-element-type (org-element-property :parent up))))
|
|
|
+ ;; Breaking change in section
|
|
|
+ ;; potentially breaks org-data
|
|
|
+ ;; (i.e. top property drawer change).
|
|
|
+ (setq org-element--cache-change-warning 'org-data)
|
|
|
+ ;; Not robust
|
|
|
+ nil)))
|
|
|
;; Headline might be inserted. This is non-robust
|
|
|
;; change when `up' is a `headline' or `section'
|
|
|
;; with `>' level compared to the inserted headline.
|