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)
"Transcode BLOB element or object back into Org syntax.
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)
"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))
(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.
BLOB is either an element or an object. CONTENTS is its
contents, as a string or nil."
(funcall
(intern (format "org-element-%s-interpreter" (org-element-type blob)))
blob contents))
contents, as a string or nil.
When optional argument WITH-AFFILIATED is non-nil, add affiliated
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)
"Add ELEMENT to `:ignore-list' in INFO.