[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org 5f37f77fc6 017/101: org-element--cache-shift-positi
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org 5f37f77fc6 017/101: org-element--cache-shift-positions: Make use of inliner |
Date: |
Sat, 1 Jul 2023 09:58:59 -0400 (EDT) |
branch: externals/org
commit 5f37f77fc6f9cd3334088bc41f73a1321c7df51e
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>
org-element--cache-shift-positions: Make use of inliner
* lisp/org-element.el: Allow `org-element-property' inliner to expand
into `aref'.
---
lisp/org-element.el | 30 ++++++++++++++++++++++--------
1 file changed, 22 insertions(+), 8 deletions(-)
diff --git a/lisp/org-element.el b/lisp/org-element.el
index d1a0505e2b..5752b24ccf 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -5832,15 +5832,29 @@ Properties are modified by side-effect."
(when (and (or (not props) (memq :structure props))
(eq (org-element-type element) 'plain-list)
(not (eq (org-element-type (org-element-property :parent
element)) 'item)))
- (let ((structure (org-element-property-1 :structure element)))
+ (let ((structure (org-element-property :structure element)))
(dolist (item structure)
(cl-incf (car item) offset)
(cl-incf (nth 6 item) offset))))
- (dolist (key '( :begin :contents-begin :contents-end :end
- :post-affiliated :robust-begin :robust-end))
- (when (and (or (not props) (memq key props))
- (org-element-property key element))
- (cl-incf (org-element-property-1 key element) offset))))
+ ;; Do not use loop for inline expansion to work during compile time.
+ (when (or (not props) (memq :begin props))
+ (cl-incf (org-element-property :begin element) offset))
+ (when (or (not props) (memq :end props))
+ (cl-incf (org-element-property :end element) offset))
+ (when (or (not props) (memq :post-affiliated props))
+ (cl-incf (org-element-property :post-affiliated element) offset))
+ (when (and (or (not props) (memq :contents-begin props))
+ (org-element-property :contents-begin element))
+ (cl-incf (org-element-property :contents-begin element) offset))
+ (when (and (or (not props) (memq :contents-end props))
+ (org-element-property :contents-end element))
+ (cl-incf (org-element-property :contents-end element) offset))
+ (when (and (or (not props) (memq :robust-begin props))
+ (org-element-property :robust-begin element))
+ (cl-incf (org-element-property :robust-begin element) offset))
+ (when (and (or (not props) (memq :robust-end props))
+ (org-element-property :robust-end element))
+ (cl-incf (org-element-property :robust-end element) offset)))
(defvar org-element--cache-interrupt-C-g t
"When non-nil, allow the user to abort `org-element--cache-sync'.
@@ -7541,8 +7555,8 @@ the cache."
;; and need to fill it.
(unless (or (and start (< (org-element-property :begin data)
start))
(and prev (not (org-element--cache-key-less-p
- (org-element--cache-key prev)
- (org-element--cache-key data)))))
+ (org-element--cache-key prev)
+ (org-element--cache-key data)))))
;; DATA is at of after START and PREV.
(if (or (not start) (= (org-element-property :begin data)
start))
;; DATA is at START. Match it.
- [elpa] externals/org updated (184b735323 -> 948c896448), ELPA Syncer, 2023/07/01
- [elpa] externals/org 1260f61830 003/101: Refactor org-element API for abstract syntax tree, ELPA Syncer, 2023/07/01
- [elpa] externals/org f611f131ee 007/101: org-element-ast: New function `org-element-ast-map', ELPA Syncer, 2023/07/01
- [elpa] externals/org 6333a20aa5 011/101: org-element-ast: New function `org-element-lineage-map', ELPA Syncer, 2023/07/01
- [elpa] externals/org 2d2656f6a7 004/101: org-element-ast: Add setters for `org-element-property' and `org-element-property-1', ELPA Syncer, 2023/07/01
- [elpa] externals/org f750f46c9d 001/101: Factor out pure syntax tree API to org-element-ast.el (copy old functions), ELPA Syncer, 2023/07/01
- [elpa] externals/org d5198e39fb 002/101: org-element-ast: Add commentary describing the basics of AST structure, ELPA Syncer, 2023/07/01
- [elpa] externals/org 5f37f77fc6 017/101: org-element--cache-shift-positions: Make use of inliner,
ELPA Syncer <=
- [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