ox-org: Preserve affiliated keywords

* lisp/ox.el (org-export-expand): Optionally add affiliated keywords
  to results.
* lisp/ox-org.el (org-org-identity): Use new argument for
  `org-export-expand'.
This commit is contained in:
Nicolas Goaziou 2013-04-26 15:47:34 +02:00
parent 75c8be1d8b
commit eba04bfb3c
2 changed files with 12 additions and 6 deletions

View File

@ -119,7 +119,7 @@ setting of `org-html-htmlize-output-type' is 'css."
(defun org-org-identity (blob contents info) (defun org-org-identity (blob contents info)
"Transcode BLOB element or object back into Org syntax. "Transcode BLOB element or object back into Org syntax.
CONTENTS is its contents, as a string or nil. INFO is ignored." CONTENTS is its contents, as a string or nil. INFO is ignored."
(org-export-expand blob contents)) (org-export-expand blob contents t))
(defun org-org-headline (headline contents info) (defun org-org-headline (headline contents info)
"Transcode HEADLINE element back into Org syntax. "Transcode HEADLINE element back into Org syntax.

View File

@ -2246,13 +2246,19 @@ according to export options INFO, stored as a plist."
(table (plist-get info :with-tables)) (table (plist-get info :with-tables))
(otherwise t))) (otherwise t)))
(defun org-export-expand (blob contents) (defun org-export-expand (blob contents &optional with-affiliated)
"Expand a parsed element or object to its original state. "Expand a parsed element or object to its original state.
BLOB is either an element or an object. CONTENTS is its BLOB is either an element or an object. CONTENTS is its
contents, as a string or nil." contents, as a string or nil.
(funcall
(intern (format "org-element-%s-interpreter" (org-element-type blob))) When optional argument WITH-AFFILIATED is non-nil, add affiliated
blob contents)) keywords before output."
(let ((type (org-element-type blob)))
(concat (and with-affiliated (memq type org-element-all-elements)
(org-element--interpret-affiliated-keywords blob))
(funcall (intern (format "org-element-%s-interpreter" type))
blob contents))))
(defun org-export-ignore-element (element info) (defun org-export-ignore-element (element info)
"Add ELEMENT to `:ignore-list' in INFO. "Add ELEMENT to `:ignore-list' in INFO.