[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org 6998536 5/9: org-element-cache: Consider non-PROPER
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org 6998536 5/9: org-element-cache: Consider non-PROPERTIES drawers robust |
Date: |
Wed, 15 Dec 2021 23:57:29 -0500 (EST) |
branch: externals/org
commit 69985367cd5a1f39d060b295f66c67bc245eb93f
Author: Ihor Radchenko <yantar92@gmail.com>
Commit: Ihor Radchenko <yantar92@gmail.com>
org-element-cache: Consider non-PROPERTIES drawers robust
* lisp/org-element.el (org-element--cache-for-removal): Drawers are
generally robust elements (they cannot be changed if a non-sensitive
change is made inside their contents). The only exception is
PROPERTIES drawer that may switch back and forth between ordinary
drawer and properties drawer depending on its contents. The old code
treated all possible drawer as non-robust for this reason, degrading
performance on large LOGBOOK drawers that are now processed much
faster since they do not need to be removed and re-parsed on every
single change.
---
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 30721fe..2e1c108 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -6631,7 +6631,10 @@ known element in cache (it may start after END)."
(while up
(if (let ((type (org-element-type up)))
(or (and (memq type '( center-block dynamic-block
- quote-block special-block))
+ quote-block special-block
+ drawer))
+ (or (not (eq type 'drawer))
+ (not (string= "PROPERTIES" (org-element-property
:drawer-name up))))
;; Sensitive change. This is
;; unconditionally non-robust change.
(not org-element--cache-change-warning)
- [elpa] externals/org updated (8908fba -> f0c474e), ELPA Syncer, 2021/12/15
- [elpa] externals/org 5840e4d 6/9: org-element-cache Do not make headline non-robust after changes at :end, ELPA Syncer, 2021/12/15
- [elpa] externals/org f0c474e 9/9: test-org-element: Add new tests for org-element-cache, ELPA Syncer, 2021/12/15
- [elpa] externals/org 4bad221 8/9: test-org-element: Add new tests, ELPA Syncer, 2021/12/15
- [elpa] externals/org cfe4b17 2/9: org-element-cache: Optimise changed property drawer detection, ELPA Syncer, 2021/12/15
- [elpa] externals/org 6339c62 4/9: org-element-cache: Do not consider BEGIN lines of elements sensitive, ELPA Syncer, 2021/12/15
- [elpa] externals/org 6998536 5/9: org-element-cache: Consider non-PROPERTIES drawers robust,
ELPA Syncer <=
- [elpa] externals/org fd93ad6 3/9: org-element-cache: Do not treat inserting newline at :begin sensitive, ELPA Syncer, 2021/12/15
- [elpa] externals/org 23d8d59 1/9: ob-gnuplot: Use org backend when assigning table to variable, ELPA Syncer, 2021/12/15
- [elpa] externals/org 003968f 7/9: test-org-element: Rename cache-bugs test to cache-table, ELPA Syncer, 2021/12/15