[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org 8ac9203d5c 20/50: Backport commit 979308b4c from Em
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org 8ac9203d5c 20/50: Backport commit 979308b4c from Emacs |
Date: |
Tue, 4 Oct 2022 21:57:59 -0400 (EDT) |
branch: externals/org
commit 8ac9203d5c41ca8f1de8f1cdb32141e7565aad06
Author: Ihor Radchenko <yantar92@gmail.com>
Commit: Kyle Meyer <kyle@kyleam.com>
Backport commit 979308b4c from Emacs
* lisp/ox.el (org-export-data): Use temporary buffer to collect export
data instead of `mapconcat'. Using buffer puts less load on garbage
collector.
org-export-data: Concatenate strings in temporary buffer for performance
979308b4cad2b573606ed71a1689a47a9e7a9e98
Ihor Radchenko
Thu Jun 16 10:53:51 2022 +0300
[ km: This ported commit comes from main's a158b263a and was reverted
in 811deae32. I'm applying it here too for bookkeeping/traceability
purposes, but these changes will be discarded when merged with
main. ]
---
lisp/ox.el | 50 ++++++++++++++++++++++++++++----------------------
1 file changed, 28 insertions(+), 22 deletions(-)
diff --git a/lisp/ox.el b/lisp/ox.el
index 91a0df1855..e977a26417 100644
--- a/lisp/ox.el
+++ b/lisp/ox.el
@@ -1925,28 +1925,34 @@ Return a string."
(and (not greaterp)
(memq type org-element-recursive-objects)))
(contents
- (mapconcat
- (lambda (element) (org-export-data element info))
- (org-element-contents
- (if (or greaterp objectp) data
- ;; Elements directly containing
- ;; objects must have their indentation
- ;; normalized first.
- (org-element-normalize-contents
- data
- ;; When normalizing first paragraph
- ;; of an item or
- ;; a footnote-definition, ignore
- ;; first line's indentation.
- (and
- (eq type 'paragraph)
- (memq (org-element-type parent)
- '(footnote-definition item))
- (eq (car (org-element-contents parent))
- data)
- (eq (org-element-property :pre-blank parent)
- 0)))))
- "")))
+ (let ((export-buffer (current-buffer)))
+ (with-temp-buffer
+ (dolist (element (org-element-contents
+ (if (or greaterp objectp)
data
+ ;; Elements directly
containing
+ ;; objects must have
their indentation
+ ;; normalized first.
+
(org-element-normalize-contents
+ data
+ ;; When normalizing
first paragraph
+ ;; of an item or
+ ;; a
footnote-definition, ignore
+ ;; first line's
indentation.
+ (and
+ (eq type 'paragraph)
+ (memq (org-element-type
parent)
+
'(footnote-definition item))
+ (eq (car
(org-element-contents parent))
+ data)
+ (eq
(org-element-property :pre-blank parent)
+ 0))))))
+ (insert
+ ;; Use right local variable
+ ;; environment if there are, for
+ ;; example, #+BIND variables.
+ (with-current-buffer export-buffer
+ (org-export-data element info))))
+ (buffer-string)))))
(broken-link-handler
(funcall transcoder data
(if (not greaterp) contents
- [elpa] externals/org 631d4eb6af 40/50: org-macs: Move org-current-text-indentation to silence byte-compiler, (continued)
- [elpa] externals/org 631d4eb6af 40/50: org-macs: Move org-current-text-indentation to silence byte-compiler, ELPA Syncer, 2022/10/04
- [elpa] externals/org 07c5d066aa 17/50: Backport commit 3236dedc2 from Emacs, ELPA Syncer, 2022/10/04
- [elpa] externals/org 9b62bcc9c6 39/50: Backport commit 8dacd8cd9 from Emacs, ELPA Syncer, 2022/10/04
- [elpa] externals/org 0e0fe76ae4 45/50: ox-icalendar: Fix time zone construct from recently ported commit, ELPA Syncer, 2022/10/04
- [elpa] externals/org 07b6a0e044 48/50: compat: Use org- wrapper for string-equal-ignore-case compatibility, ELPA Syncer, 2022/10/04
- [elpa] externals/org 1adbaca75a 26/50: Backport commit 563bf2fae from Emacs, ELPA Syncer, 2022/10/04
- [elpa] externals/org aeb934b598 41/50: Merge branch 'km/from-emacs-28', ELPA Syncer, 2022/10/04
- [elpa] externals/org abc34b458f 43/50: org-mouse: Make recently ported change compatible with Emacs < 29, ELPA Syncer, 2022/10/04
- [elpa] externals/org 1f8cc85542 50/50: org-agenda: Replace 29.1 version keywords with package-version, ELPA Syncer, 2022/10/04
- [elpa] externals/org 42c418693f 42/50: Merge branch 'km/from-emacs-master', ELPA Syncer, 2022/10/04
- [elpa] externals/org 8ac9203d5c 20/50: Backport commit 979308b4c from Emacs,
ELPA Syncer <=
- [elpa] externals/org 4f8ea50604 18/50: Backport commit d21412df0 from Emacs, ELPA Syncer, 2022/10/04
- [elpa] externals/org e614a763ca 27/50: Backport commit 70341cab3 from Emacs, ELPA Syncer, 2022/10/04
- [elpa] externals/org 19c3969e75 29/50: Backport commit 2682ea1b3 from Emacs, ELPA Syncer, 2022/10/04
- [elpa] externals/org 25e638f726 34/50: Backport commit 1137219c9 from Emacs, ELPA Syncer, 2022/10/04
- [elpa] externals/org 9c2bc2877f 37/50: Backport commit 06d716147 from Emacs, ELPA Syncer, 2022/10/04
- [elpa] externals/org c2c8e66e5d 38/50: Backport commit b7e867b84 from Emacs, ELPA Syncer, 2022/10/04
- [elpa] externals/org 6dd736ab35 44/50: ol-eshell: Make recently ported change compatible with Emacs < 29, ELPA Syncer, 2022/10/04