[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org d437817 11/29: org.el/org-goto-first-child: Support
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org d437817 11/29: org.el/org-goto-first-child: Support cache and passing element arg |
Date: |
Sun, 17 Oct 2021 02:57:27 -0400 (EDT) |
branch: externals/org
commit d43781707be1042ceeeda416216f6bec4da1890a
Author: Ihor Radchenko <yantar92@gmail.com>
Commit: Ihor Radchenko <yantar92@gmail.com>
org.el/org-goto-first-child: Support cache and passing element arg
---
lisp/org.el | 31 +++++++++++++++++++++++--------
1 file changed, 23 insertions(+), 8 deletions(-)
diff --git a/lisp/org.el b/lisp/org.el
index 38ce7ac..158e37d 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -20777,17 +20777,32 @@ move point."
(while (org-goto-sibling 'previous)
(org-flag-heading nil))))
-(defun org-goto-first-child ()
+(defun org-goto-first-child (&optional element)
"Goto the first child, even if it is invisible.
Return t when a child was found. Otherwise don't move point and
return nil."
- (let (level (pos (point)) (re org-outline-regexp-bol))
- (when (org-back-to-heading-or-point-min t)
- (setq level (org-outline-level))
- (forward-char 1)
- (if (and (re-search-forward re nil t) (> (org-outline-level) level))
- (progn (goto-char (match-beginning 0)) t)
- (goto-char pos) nil))))
+ (if (org-element--cache-active-p)
+ (when-let ((heading (org-element-lineage
+ (or element (org-element-at-point))
+ '(headline inlinetask org-data)
+ t)))
+ (unless (or (eq 'inlinetask (org-element-type heading))
+ (not (org-element-property :contents-begin heading)))
+ (let ((pos (point)))
+ (goto-char (org-element-property :contents-begin heading))
+ (if (re-search-forward
+ org-outline-regexp-bol
+ (org-element-property :end heading)
+ t)
+ (progn (goto-char (match-beginning 0)) t)
+ (goto-char pos) nil))))
+ (let (level (pos (point)) (re org-outline-regexp-bol))
+ (when (org-back-to-heading-or-point-min t)
+ (setq level (org-outline-level))
+ (forward-char 1)
+ (if (and (re-search-forward re nil t) (> (org-outline-level) level))
+ (progn (goto-char (match-beginning 0)) t)
+ (goto-char pos) nil)))))
(defun org-show-hidden-entry ()
"Show an entry where even the heading is hidden."
- [elpa] externals/org 07ca988 24/29: Fix compatibility with Emacs 27, (continued)
- [elpa] externals/org 07ca988 24/29: Fix compatibility with Emacs 27, ELPA Syncer, 2021/10/17
- [elpa] externals/org eeb0450 26/29: Use XDG cache dir as default dir for cache persistance, ELPA Syncer, 2021/10/17
- [elpa] externals/org 8ceb9e7 27/29: Add NEWS entry for new element cache, ELPA Syncer, 2021/10/17
- [elpa] externals/org 85e0a69 20/29: Avoid frequent cache updates in some functions, ELPA Syncer, 2021/10/17
- [elpa] externals/org 7b83168 08/29: org.el/org--property-local-values: Support cache and passing element arg, ELPA Syncer, 2021/10/17
- [elpa] externals/org ec73755 12/29: org.el/org-end-of-subtree: Support cache and passing element arg, ELPA Syncer, 2021/10/17
- [elpa] externals/org fe6cefd 16/29: ox.el: Support cache during export, ELPA Syncer, 2021/10/17
- [elpa] externals/org 60c927f 17/29: Add new element parser and cache tests, ELPA Syncer, 2021/10/17
- [elpa] externals/org 3c4290e 21/29: org.el/org-scan-tags: Make use of fast `org-element-cache-map', ELPA Syncer, 2021/10/17
- [elpa] externals/org 004ac14 28/29: Fix compatibility with Emacs 26, ELPA Syncer, 2021/10/17
- [elpa] externals/org d437817 11/29: org.el/org-goto-first-child: Support cache and passing element arg,
ELPA Syncer <=
- [elpa] externals/org 399a29c 13/29: org.el/org-up-heading-safe: Add cache support, ELPA Syncer, 2021/10/17
- [elpa] externals/org 86345df 14/29: org.el/org-in-commented-heading-p: Support cache and passing element arg, ELPA Syncer, 2021/10/17
- [elpa] externals/org 5aeeb4f 19/29: Use `org-element-at-point-no-context' in performance-critical places, ELPA Syncer, 2021/10/17
- [elpa] externals/org e70a8aa 18/29: Use org-element-cache in place of text property cache in agenda, ELPA Syncer, 2021/10/17
- [elpa] externals/org 885808f 22/29: Fix incorrectly written test, ELPA Syncer, 2021/10/17
- [elpa] externals/org 85712d6 25/29: Add comments documenting cache diagnostics, ELPA Syncer, 2021/10/17
- [elpa] externals/org abe7222 23/29: Add declares to suppress compiler warnings, ELPA Syncer, 2021/10/17