[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org 44baf8f2b8 030/101: org-element-parse-buffer: New o
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org 44baf8f2b8 030/101: org-element-parse-buffer: New optional argument to not force undefer |
Date: |
Sat, 1 Jul 2023 09:59:02 -0400 (EDT) |
branch: externals/org
commit 44baf8f2b854c31afa8b6a23114de14aa684aab1
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>
org-element-parse-buffer: New optional argument to not force undefer
* lisp/org-element.el (org-element-parse-buffer): Do not force-undefer
when new optional argument is provided.
* lisp/org-lint.el (org-lint--generate-reports):
* lisp/org.el (org-unindent-buffer):
* lisp/ox.el (org-export--missing-definitions):
(org-export--annotate-info): Do not undefer when unnecessary.
Adjust all the declare forms.
---
lisp/oc.el | 2 +-
lisp/org-element.el | 13 ++++++++-----
lisp/org-lint.el | 2 +-
lisp/org-list.el | 2 +-
lisp/org-table.el | 2 +-
lisp/org.el | 4 ++--
lisp/ox.el | 4 ++--
7 files changed, 16 insertions(+), 13 deletions(-)
diff --git a/lisp/oc.el b/lisp/oc.el
index 6437c8958a..0a917b29e3 100644
--- a/lisp/oc.el
+++ b/lisp/oc.el
@@ -82,7 +82,7 @@
(declare-function org-element-lineage "org-element-ast" (datum &optional types
with-self))
(declare-function org-element-map "org-element" (data types fun &optional info
first-match no-recursion with-affiliated))
(declare-function org-element-normalize-string "org-element" (s))
-(declare-function org-element-parse-buffer "org-element" (&optional
granularity visible-only))
+(declare-function org-element-parse-buffer "org-element" (&optional
granularity visible-only keep-deferred))
(declare-function org-element-parse-secondary-string "org-element" (string
restriction &optional parent))
(declare-function org-element-context "org-element" (&optional element))
(declare-function org-element-property "org-element-ast" (property node))
diff --git a/lisp/org-element.el b/lisp/org-element.el
index ec7851992d..d32af41a85 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -4460,7 +4460,7 @@ When PARSE is non-nil, values from keywords belonging to
;; resulting values. In an export situation, it also skips unneeded
;; parts of the parse tree.
-(defun org-element-parse-buffer (&optional granularity visible-only)
+(defun org-element-parse-buffer (&optional granularity visible-only
keep-deferred)
"Recursively parse the buffer and return structure.
If narrowing is in effect, only parse the visible part of the
buffer.
@@ -4478,6 +4478,8 @@ recursion. It can be set to the following symbols:
When VISIBLE-ONLY is non-nil, don't parse contents of hidden
elements.
+When KEEP-DEFERRED is non-nil, do not resolve deferred properties.
+
An element or object is represented as a list with the
pattern (TYPE PROPERTIES CONTENTS), where :
@@ -4515,10 +4517,11 @@ This function assumes that current major mode is
`org-mode'."
;; Start in `first-section' mode so text before the first
;; headline belongs to a section.
'first-section nil granularity visible-only org-data))
- (org-element-map ; undefer
- org-data t
- (lambda (el) (org-element-properties-resolve el t))
- nil nil nil t)
+ (unless keep-deferred
+ (org-element-map ; undefer
+ org-data t
+ (lambda (el) (org-element-properties-resolve el t))
+ nil nil nil t))
org-data)))
(defun org-element-parse-secondary-string (string restriction &optional parent)
diff --git a/lisp/org-lint.el b/lisp/org-lint.el
index 45db168da1..ddcad9ff1f 100644
--- a/lisp/org-lint.el
+++ b/lisp/org-lint.el
@@ -195,7 +195,7 @@ for `tabulated-list-printer'."
(with-current-buffer buffer
(save-excursion
(goto-char (point-min))
- (let ((ast (org-element-parse-buffer))
+ (let ((ast (org-element-parse-buffer nil nil 'defer))
(id 0)
(last-line 1)
(last-pos 1))
diff --git a/lisp/org-list.el b/lisp/org-list.el
index e227907268..e79392ce30 100644
--- a/lisp/org-list.el
+++ b/lisp/org-list.el
@@ -115,7 +115,7 @@
(declare-function org-element-macro-interpreter "org-element" (macro ##))
(declare-function org-element-map "org-element" (data types fun &optional info
first-match no-recursion with-affiliated))
(declare-function org-element-normalize-string "org-element" (s))
-(declare-function org-element-parse-buffer "org-element" (&optional
granularity visible-only))
+(declare-function org-element-parse-buffer "org-element" (&optional
granularity visible-only keep-deferred))
(declare-function org-element-property "org-element-ast" (property node))
(declare-function org-element-put-property "org-element-ast" (node property
value))
(declare-function org-element-set "org-element-ast" (old new))
diff --git a/lisp/org-table.el b/lisp/org-table.el
index 78d9e3270f..554c3b1389 100644
--- a/lisp/org-table.el
+++ b/lisp/org-table.el
@@ -57,7 +57,7 @@
(declare-function org-element-interpret-data "org-element" (data))
(declare-function org-element-lineage "org-element-ast" (blob &optional types
with-self))
(declare-function org-element-map "org-element" (data types fun &optional info
first-match no-recursion with-affiliated))
-(declare-function org-element-parse-buffer "org-element" (&optional
granularity visible-only))
+(declare-function org-element-parse-buffer "org-element" (&optional
granularity visible-only keep-deferred))
(declare-function org-element-property "org-element-ast" (property node))
(declare-function org-element-type-p "org-element-ast" (node types))
(declare-function org-element-cache-reset "org-element" (&optional all
no-persistence))
diff --git a/lisp/org.el b/lisp/org.el
index 4f15129602..490bd683c3 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -183,7 +183,7 @@ Stars are put in group 1 and the trimmed body in group 2.")
(declare-function org-element-link-parser "org-element" ())
(declare-function org-element-map "org-element" (data types fun &optional info
first-match no-recursion with-affiliated))
(declare-function org-element-nested-p "org-element" (elem-a elem-b))
-(declare-function org-element-parse-buffer "org-element" (&optional
granularity visible-only))
+(declare-function org-element-parse-buffer "org-element" (&optional
granularity visible-only keep-deferred))
(declare-function org-element-parse-secondary-string "org-element" (string
restriction &optional parent))
(declare-function org-element-property "org-element-ast" (property node))
(declare-function org-element-put-property "org-element-ast" (node property
value))
@@ -21506,7 +21506,7 @@ modified."
(interactive)
(unless (eq major-mode 'org-mode)
(user-error "Cannot un-indent a buffer not in Org mode"))
- (letrec ((parse-tree (org-element-parse-buffer 'greater-element))
+ (letrec ((parse-tree (org-element-parse-buffer 'greater-element nil 'defer))
(unindent-tree
(lambda (contents)
(dolist (element (reverse contents))
diff --git a/lisp/ox.el b/lisp/ox.el
index d3bcb426c0..9faf3e515d 100644
--- a/lisp/ox.el
+++ b/lisp/ox.el
@@ -2893,7 +2893,7 @@ a list of footnote definitions or in the widened buffer."
(narrow-to-region
(org-element-property :begin datum)
(org-element-property :end datum))
- (org-element-map (org-element-parse-buffer)
+ (org-element-map (org-element-parse-buffer nil nil
'defer)
'footnote-definition #'identity nil t))))))
(_ nil)))
(t (user-error "Definition not found for footnote %s" label)))))
@@ -3212,7 +3212,7 @@ still inferior to file-local settings."
(let ((result (funcall filter info backend-name)))
(when result (setq info result)))))
;; Parse buffer.
- (setq tree (org-element-parse-buffer nil visible-only))
+ (setq tree (org-element-parse-buffer nil visible-only 'defer))
;; Prune tree from non-exported elements and transform
;; uninterpreted elements or objects in both parse tree and
;; communication channel.
- [elpa] externals/org b0a2deaec6 073/101: org-element--current-element: Faster property drawer check, (continued)
- [elpa] externals/org b0a2deaec6 073/101: org-element--current-element: Faster property drawer check, ELPA Syncer, 2023/07/01
- [elpa] externals/org 110601ce74 074/101: org-element--current-element: Add FIXME, ELPA Syncer, 2023/07/01
- [elpa] externals/org 48e4a76b99 079/101: org-element: Avoid computing static regexps dynamically, ELPA Syncer, 2023/07/01
- [elpa] externals/org f895be1ad9 086/101: org-element--properties-mapc: Small refactoring, ELPA Syncer, 2023/07/01
- [elpa] externals/org a04e16bd11 082/101: lisp/org-macs.el: Restructure file outline, fixing compiler warning, ELPA Syncer, 2023/07/01
- [elpa] externals/org 5a3224a325 085/101: etc/ORG-NEWS: Document Org API changes, ELPA Syncer, 2023/07/01
- [elpa] externals/org 9249275738 089/101: fixup! etc/ORG-NEWS: Document Org API changes, ELPA Syncer, 2023/07/01
- [elpa] externals/org f97aeaa243 099/101: org-fold-core--isearch-setup: Use `add-function', ELPA Syncer, 2023/07/01
- [elpa] externals/org 55ba9f05a7 018/101: org-element-map: Refactor using `org-element-ast-map', ELPA Syncer, 2023/07/01
- [elpa] externals/org 29cb0b370b 022/101: org-element-headline-parser: Defer property drawer values, ELPA Syncer, 2023/07/01
- [elpa] externals/org 44baf8f2b8 030/101: org-element-parse-buffer: New optional argument to not force undefer,
ELPA Syncer <=
- [elpa] externals/org 13ae9b95f8 045/101: org-narrow-to-subtree: Use org-element API, ELPA Syncer, 2023/07/01
- [elpa] externals/org 3024e933c0 053/101: org-get-buffer-tags: Switch to org-element API, ELPA Syncer, 2023/07/01
- [elpa] externals/org def4bfa9c1 055/101: org-scan-tag: Switch to pure use of `org-element-cache-map', ELPA Syncer, 2023/07/01
- [elpa] externals/org 2efc7fcfdc 058/101: org-agenda-get-scheduled: Switch to org-element API, ELPA Syncer, 2023/07/01
- [elpa] externals/org 598d7bbcf2 062/101: Remove APPT_WARNTIME text property cache, ELPA Syncer, 2023/07/01
- [elpa] externals/org 39466ecf47 065/101: org-element-cache: Do not check for deferred :parent unnecessarily, ELPA Syncer, 2023/07/01
- [elpa] externals/org 9ed7956afd 080/101: org-element: Use constant values for fixed deferred properties, ELPA Syncer, 2023/07/01