Bläddra i källkod

Revert "org-export-data: Concatenate strings in temporary buffer for performance"

This reverts commit a158b263a69c89ff74536163d69b12117316b034.
The commit actually makes not measurable performance difference.
Ihor Radchenko 2 år sedan
förälder
incheckning
811deae32d
1 ändrade filer med 22 tillägg och 28 borttagningar
  1. 22 28
      lisp/ox.el

+ 22 - 28
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