Function: org-export-data-with-backend

org-export-data-with-backend is a byte-compiled function defined in ox.el.gz.

Signature

(org-export-data-with-backend DATA BACKEND INFO)

Documentation

Convert DATA into BACKEND format.

DATA is an element, an object, a secondary string or a string. BACKEND is a symbol. INFO is a plist used as a communication channel.

Unlike to org-export-with-backend, this function will recursively convert DATA using BACKEND translation table.

Source Code

;; Defined in /usr/src/emacs/lisp/org/ox.el.gz
(defun org-export-data-with-backend (data backend info)
  "Convert DATA into BACKEND format.

DATA is an element, an object, a secondary string or a string.
BACKEND is a symbol.  INFO is a plist used as a communication
channel.

Unlike to `org-export-with-backend', this function will
recursively convert DATA using BACKEND translation table."
  (when (symbolp backend) (setq backend (org-export-get-backend backend)))
  ;; Set-up a new communication channel with translations defined in
  ;; BACKEND as the translate table and a new hash table for
  ;; memoization.
  (let ((new-info
	 (org-combine-plists
	  info
	  (list :back-end backend
		:translate-alist (org-export-get-all-transcoders backend)
		;; Size of the hash table is reduced since this
		;; function will probably be used on small trees.
		:exported-data (make-hash-table :test 'eq :size 401)))))
    (prog1 (org-export-data data new-info)
      ;; Preserve `:internal-references', as those do not depend on
      ;; the back-end used; we need to make sure that any new
      ;; reference when the temporary back-end was active gets through
      ;; the default one.
      (plist-put info :internal-references
		 (plist-get new-info :internal-references)))))