[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org c35a856048 3/4: org-in-archived-heading-p: Improve
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org c35a856048 3/4: org-in-archived-heading-p: Improve performance |
Date: |
Wed, 21 Sep 2022 00:59:29 -0400 (EDT) |
branch: externals/org
commit c35a856048f205101f9f06a7f67d4b1d420c9e19
Author: Ihor Radchenko <yantar92@gmail.com>
Commit: Ihor Radchenko <yantar92@gmail.com>
org-in-archived-heading-p: Improve performance
* lisp/org.el (org-in-archived-heading-p): Use explicit `while' loop
instead of `org-element-lineage'.
---
lisp/org.el | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/lisp/org.el b/lisp/org.el
index daa0b6d956..c0b505e0aa 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -20156,9 +20156,13 @@ Optional argument ELEMENT contains element at point."
(cl-some (apply-partially #'string= org-archive-tag) tags)))))
(no-inheritance nil)
(t
- (if (org-element--cache-active-p)
- (cl-some (lambda (el) (org-element-property :archivedp el))
- (org-element-lineage (or element (org-element-at-point)) nil
t))
+ (if (or element (org-element--cache-active-p))
+ (catch :archived
+ (unless element (setq element (org-element-at-point)))
+ (while element
+ (when (org-element-property :archivedp element)
+ (throw :archived t))
+ (setq element (org-element-property :parent element))))
(save-excursion (and (org-up-heading-safe)
(org-in-archived-heading-p)))))))
(defun org-at-comment-p nil