[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org 5aeeb4f 19/29: Use `org-element-at-point-no-context
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org 5aeeb4f 19/29: Use `org-element-at-point-no-context' in performance-critical places |
Date: |
Sun, 17 Oct 2021 02:57:29 -0400 (EDT) |
branch: externals/org
commit 5aeeb4f739ec4092f96177ffa9896ede7bdbe0ec
Author: Ihor Radchenko <yantar92@gmail.com>
Commit: Ihor Radchenko <yantar92@gmail.com>
Use `org-element-at-point-no-context' in performance-critical places
* lisp/org-compat.el (org-mode-flyspell-verify, org-indent-line,
org-indent-region, org-indent-drawer, org-indent-block): Use
`org-element-at-point-no-context' in place of `org-element-at-point'
when we are doing changes.
* lisp/org.el (org-collect-keywords): Use direct parsing in place of
`org-elemnt-at-point'
---
lisp/org-compat.el | 4 ++--
lisp/org.el | 10 +++++-----
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/lisp/org-compat.el b/lisp/org-compat.el
index 0950ff7..f77f779 100644
--- a/lisp/org-compat.el
+++ b/lisp/org-compat.el
@@ -1047,8 +1047,8 @@ ELEMENT is the element at point."
(or (not (match-beginning 5))
(< (point) (match-beginning 5)))
;; Ignore checks in code, verbatim and others.
- (org--flyspell-object-check-p (org-element-at-point)))
- (let* ((element (org-element-at-point))
+ (org--flyspell-object-check-p (org-element-at-point-no-context)))
+ (let* ((element (org-element-at-point-no-context))
(post-affiliated (org-element-property :post-affiliated element)))
(cond
;; Ignore checks in all affiliated keywords but captions.
diff --git a/lisp/org.el b/lisp/org.el
index 7543277..6b2d6bf 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -4537,7 +4537,7 @@ directory."
(let ((case-fold-search t)
(regexp (org-make-options-regexp keywords)))
(while (and keywords (re-search-forward regexp nil t))
- (let ((element (org-element-at-point)))
+ (let ((element (org-with-point-at (match-beginning 0)
(org-element-keyword-parser (line-end-position) (list (match-beginning 0))))))
(when (eq 'keyword (org-element-type element))
(let ((value (org-element-property :value element)))
(pcase (org-element-property :key element)
@@ -19271,7 +19271,7 @@ Also align node properties according to
`org-property-format'."
(skip-chars-backward "\n")
(or (org-at-heading-p)
(looking-back ":END:.*" (point-at-bol))))))
- (let* ((element (save-excursion (beginning-of-line)
(org-element-at-point)))
+ (let* ((element (save-excursion (beginning-of-line)
(org-element-at-point-no-context)))
(type (org-element-type element)))
(cond ((and (memq type '(plain-list item))
(= (line-beginning-position)
@@ -19344,7 +19344,7 @@ assumed to be significant there."
(end (copy-marker end)))
(while (< (point) end)
(if (or (looking-at-p " \r\t\n") (org-at-heading-p)) (forward-line)
- (let* ((element (org-element-at-point))
+ (let* ((element (org-element-at-point-no-context))
(type (org-element-type element))
(element-end (copy-marker (org-element-property :end element)))
(ind (org--get-expected-indentation element nil)))
@@ -19450,7 +19450,7 @@ assumed to be significant there."
(beginning-of-line)
(looking-at-p org-drawer-regexp))
(user-error "Not at a drawer"))
- (let ((element (org-element-at-point)))
+ (let ((element (org-element-at-point-no-context)))
(unless (memq (org-element-type element) '(drawer property-drawer))
(user-error "Not at a drawer"))
(org-with-wide-buffer
@@ -19466,7 +19466,7 @@ assumed to be significant there."
(let ((case-fold-search t))
(looking-at-p "[ \t]*#\\+\\(begin\\|end\\)_")))
(user-error "Not at a block"))
- (let ((element (org-element-at-point)))
+ (let ((element (org-element-at-point-no-context)))
(unless (memq (org-element-type element)
'(comment-block center-block dynamic-block example-block
export-block quote-block special-block
- [elpa] externals/org 85e0a69 20/29: Avoid frequent cache updates in some functions, (continued)
- [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, 2021/10/17
- [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 <=
- [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