Merge branch 'maint'
This commit is contained in:
commit
21b11071d3
|
@ -445,8 +445,7 @@ INFO is a plist used as a communication channel."
|
|||
CONTENTS holds the contents of the headline. INFO is a plist
|
||||
used as a communication channel."
|
||||
(let ((latex-headline
|
||||
(org-export-data-with-backend
|
||||
headline
|
||||
(org-export-with-backend
|
||||
;; We create a temporary export back-end which behaves the
|
||||
;; same as current one, but adds "\protect" in front of the
|
||||
;; output of some objects.
|
||||
|
@ -461,8 +460,10 @@ used as a communication channel."
|
|||
(if (org-string-nw-p code) (concat "\\protect" code)
|
||||
code))))))
|
||||
(mapcar #'(lambda (type) (cons type protected-output))
|
||||
'(bold footnote-reference italic strike-through
|
||||
timestamp underline))))
|
||||
'(bold footnote-reference italic strike-through timestamp
|
||||
underline))))
|
||||
headline
|
||||
contents
|
||||
info))
|
||||
(mode-specs (org-element-property :BEAMER_ACT headline)))
|
||||
(if (and mode-specs
|
||||
|
|
14
lisp/ox.el
14
lisp/ox.el
|
@ -3481,10 +3481,16 @@ the communication channel used for export, as a plist."
|
|||
(org-export-barf-if-invalid-backend backend)
|
||||
(let ((type (org-element-type data)))
|
||||
(if (memq type '(nil org-data)) (error "No foreign transcoder available")
|
||||
(let ((transcoder
|
||||
(cdr (assq type (org-export-get-all-transcoders backend)))))
|
||||
(if (functionp transcoder) (funcall transcoder data contents info)
|
||||
(error "No foreign transcoder available"))))))
|
||||
(let* ((all-transcoders (org-export-get-all-transcoders backend))
|
||||
(transcoder (cdr (assq type all-transcoders))))
|
||||
(if (not (functionp transcoder))
|
||||
(error "No foreign transcoder available")
|
||||
(funcall
|
||||
transcoder data contents
|
||||
(org-combine-plists
|
||||
info (list :back-end backend
|
||||
:translate-alist all-transcoders
|
||||
:exported-data (make-hash-table :test 'eq :size 401)))))))))
|
||||
|
||||
|
||||
;;;; For Export Snippets
|
||||
|
|
|
@ -1115,7 +1115,18 @@ body\n")))
|
|||
'((plain-text . (lambda (text contents info) "Failure"))))
|
||||
(org-export-define-backend 'test2
|
||||
'((plain-text . (lambda (text contents info) "Success"))))
|
||||
(org-export-with-backend 'test2 "Test")))))
|
||||
(org-export-with-backend 'test2 "Test"))))
|
||||
;; Provide correct back-end if transcoder needs to use recursive
|
||||
;; calls anyway.
|
||||
(should
|
||||
(equal "Success"
|
||||
(let (org-export--registered-backends)
|
||||
(org-export-define-backend 'test
|
||||
'((plain-text . (lambda (bold contents info) "Success"))
|
||||
(headline . (lambda (headline contents info)
|
||||
(org-export-data
|
||||
(org-element-property :title headline))))))
|
||||
(org-export-with-backend 'test "* Test")))))
|
||||
|
||||
(ert-deftest test-org-export/data-with-backend ()
|
||||
"Test `org-export-data-with-backend' specifications."
|
||||
|
|
Loading…
Reference in New Issue