From 811deae32db17d99e1b92e0ad8227268bab8ec7b Mon Sep 17 00:00:00 2001 From: Ihor Radchenko Date: Fri, 17 Jun 2022 19:30:43 +0800 Subject: [PATCH] Revert "org-export-data: Concatenate strings in temporary buffer for performance" This reverts commit a158b263a69c89ff74536163d69b12117316b034. The commit actually makes not measurable performance difference. --- lisp/ox.el | 50 ++++++++++++++++++++++---------------------------- 1 file changed, 22 insertions(+), 28 deletions(-) diff --git a/lisp/ox.el b/lisp/ox.el index 034878c7f..c75357b97 100644 --- a/lisp/ox.el +++ b/lisp/ox.el @@ -1927,34 +1927,28 @@ Return a string." (and (not greaterp) (memq type org-element-recursive-objects))) (contents - (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))))) + (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))))) + ""))) (broken-link-handler (funcall transcoder data (if (not greaterp) contents