[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org 3b1693c461 043/101: org-back-to-heading: Use org-el
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org 3b1693c461 043/101: org-back-to-heading: Use org-element API |
Date: |
Sat, 1 Jul 2023 09:59:04 -0400 (EDT) |
branch: externals/org
commit 3b1693c461edc4b7bd9a637d118736f35709ceb2
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>
org-back-to-heading: Use org-element API
---
lisp/org.el | 54 ++++++++++++------------------------------------------
1 file changed, 12 insertions(+), 42 deletions(-)
diff --git a/lisp/org.el b/lisp/org.el
index 34c4559b14..027862a11f 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -20511,53 +20511,23 @@ interactive command with similar behavior."
(<= (org-outline-level) level))))))))
(defun org-back-to-heading (&optional invisible-ok)
- "Go back to beginning of heading."
+ "Go back to beginning of heading or inlinetask."
(beginning-of-line)
(or (and (org-at-heading-p (not invisible-ok))
(not (and (featurep 'org-inlinetask)
(fboundp 'org-inlinetask-end-p)
(org-inlinetask-end-p))))
- (if (org-element--cache-active-p)
- (let ((heading (org-element-lineage (org-element-at-point)
- '(headline inlinetask)
- 'include-self)))
- (when heading
- (goto-char (org-element-begin heading)))
- (while (and (not invisible-ok)
- heading
- (org-fold-folded-p))
- (goto-char (org-fold-core-previous-visibility-change))
- (setq heading (org-element-lineage (org-element-at-point)
- '(headline inlinetask)
- 'include-self))
- (when heading
- (goto-char (org-element-begin heading))))
- (unless heading
- (user-error "Before first headline at position %d in buffer %s"
- (point) (current-buffer)))
- (point))
- (let (found)
- (save-excursion
- ;; At inlinetask end. Move to bol, so that the following
- ;; search goes to the beginning of the inlinetask.
- (when (and (featurep 'org-inlinetask)
- (fboundp 'org-inlinetask-end-p)
- (org-inlinetask-end-p))
- (goto-char (line-beginning-position)))
- (while (not found)
- (or (re-search-backward (concat "^\\(?:" outline-regexp "\\)")
- nil t)
- (user-error "Before first headline at position %d in buffer
%s"
- (point) (current-buffer)))
- ;; Skip inlinetask end.
- (if (and (featurep 'org-inlinetask)
- (fboundp 'org-inlinetask-end-p)
- (org-inlinetask-end-p))
- (org-inlinetask-goto-beginning)
- (setq found (and (or invisible-ok (not (org-fold-folded-p)))
- (point))))))
- (goto-char found)
- found))))
+ (unless
+ (org-element-lineage-map
+ (org-element-at-point)
+ (lambda (el)
+ (goto-char (org-element-begin el))
+ (or invisible-ok (not (org-fold-folded-p))))
+ '(headline inlinetask)
+ 'with-self 'first-match)
+ (user-error "Before first headline at position %d in buffer %s"
+ (point) (current-buffer))))
+ (point))
(defun org-back-to-heading-or-point-min (&optional invisible-ok)
"Go back to heading or first point in buffer.
- [elpa] externals/org 669e8d8824 006/101: org-element-ast: New function `org-element-property-inherited', (continued)
- [elpa] externals/org 669e8d8824 006/101: org-element-ast: New function `org-element-property-inherited', ELPA Syncer, 2023/07/01
- [elpa] externals/org ae49451364 009/101: org-element-ast: New function `org-element-put-property-2', ELPA Syncer, 2023/07/01
- [elpa] externals/org 6b20a23065 010/101: org-element-ast: New function `org-element-type-p', ELPA Syncer, 2023/07/01
- [elpa] externals/org f4aa3747e1 014/101: org-element: Preserve order of multiple affiliated keywords, ELPA Syncer, 2023/07/01
- [elpa] externals/org 71e2ea5698 025/101: org-element: Update docstrings using new syntax node terminology, ELPA Syncer, 2023/07/01
- [elpa] externals/org ad75fd2bae 016/101: org-element: Use `org-element-create' when parsing, ELPA Syncer, 2023/07/01
- [elpa] externals/org daebeb6446 020/101: org-element-inlinetask-parser: Use deferred properties, ELPA Syncer, 2023/07/01
- [elpa] externals/org 23f9347d1a 024/101: org-element-map: Allow TYPES t and add new arg NO-UNDEFER, ELPA Syncer, 2023/07/01
- [elpa] externals/org 2d22d7f515 036/101: ox.el: Rename `org-element-get-parent-element' and move to org-element, ELPA Syncer, 2023/07/01
- [elpa] externals/org 6a7aee2c35 034/101: org-texinfo--normalize-headlines: Use `org-element-create', ELPA Syncer, 2023/07/01
- [elpa] externals/org 3b1693c461 043/101: org-back-to-heading: Use org-element API,
ELPA Syncer <=
- [elpa] externals/org eb0a293a02 048/101: Remove 'org-category text property cache, ELPA Syncer, 2023/07/01
- [elpa] externals/org e3d690edf8 054/101: org-element-cache-map: Allow when cache is disabled, ELPA Syncer, 2023/07/01
- [elpa] externals/org ebbdd67a2a 059/101: Remove effort property cache, ELPA Syncer, 2023/07/01
- [elpa] externals/org c22697f472 023/101: Use new function names `org-element-extract' and `org-element-set', ELPA Syncer, 2023/07/01
- [elpa] externals/org a06dc07cc0 028/101: org-element: Defer more when parsing headings and inlinetasks, ELPA Syncer, 2023/07/01
- [elpa] externals/org ea4f4fdf58 035/101: Rename `org-export-get-parent' to `org-element-parent', ELPA Syncer, 2023/07/01
- [elpa] externals/org a2730b47fa 032/101: org-odt--paragraph-style: Use `org-element-lineage', ELPA Syncer, 2023/07/01
- [elpa] externals/org a43cc8c9aa 033/101: org-export-get-node-property: Use `org-element-property-inherited', ELPA Syncer, 2023/07/01
- [elpa] externals/org bc29f5de41 038/101: org-element: New `org-element-*property*' functions, ELPA Syncer, 2023/07/01
- [elpa] externals/org 7cbc441915 044/101: org-entry-get-with-inheritance: Use org-element API, ELPA Syncer, 2023/07/01