[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org 325b06b 2/3: org-element-cache: Do not carry over w
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org 325b06b 2/3: org-element-cache: Do not carry over warning after sync |
Date: |
Thu, 16 Dec 2021 08:57:31 -0500 (EST) |
branch: externals/org
commit 325b06bde4496a8f228bc0791174db1aec1d7c39
Author: Ihor Radchenko <yantar92@gmail.com>
Commit: Ihor Radchenko <yantar92@gmail.com>
org-element-cache: Do not carry over warning after sync
* lisp/org-element.el (org-element--cache-sync): Set
`org-element--cache-warning' to nil at the end of synchronisation.
We do not need to consider that next request might be merged with
existing request in such scenario.
(org-element--cache-before-change): Add comment explaining the use of
`org-element--cache-warning'.
---
lisp/org-element.el | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/lisp/org-element.el b/lisp/org-element.el
index 9b52372..d2e493c 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -5932,6 +5932,7 @@ The buffer is: %s\n Current command: %S\n Chars modified:
%S\n Buffer modified:
;; Otherwise, reset keys.
(if org-element--cache-sync-requests
(org-element--cache-set-timer buffer)
+ (setq org-element--cache-change-warning nil)
(setq org-element--cache-sync-keys-value (1+
org-element--cache-sync-keys-value))))))))
(defun org-element--cache-process-request
@@ -6533,6 +6534,17 @@ The function returns the new value of
`org-element--cache-change-warning'."
end
(line-end-position)))))
(prog1
+ ;; Use the worst change warning to not miss important edits.
+ ;; This function is called before edit and after edit by
+ ;; `org-element--cache-after-change'. Before the edit, we still
+ ;; want to use the old value if it comes from previous
+ ;; not yet processed edit (they may be merged by
+ ;; `org-element--cache-submit-request'). After the edit, we want
to
+ ;; look if there was a sensitive removed during edit.
+ ;; FIXME: This is not the most efficient way and we now
+ ;; have to delete more elemetns than needed in some
+ ;; cases. A better approach may be storing the warning
+ ;; in the modification request itself.
(let ((org-element--cache-change-warning-before
org-element--cache-change-warning)
(org-element--cache-change-warning-after))
(setq org-element--cache-change-warning-after