From 4d2985ba88d2ba0c35ff715a7285469e8040d4b0 Mon Sep 17 00:00:00 2001 From: Aaron Ecay Date: Sun, 4 Jan 2015 18:14:26 -0500 Subject: [PATCH] [babel] fix macros in tabular output * lisp/ox.el (org-export-as): Support :sloppy-macros plist entry. * lisp/org-table.el (orgtbl-to-generic): Use it. * lisp/ob-R.el (org-babel-R-assign-elisp): * lisp/ob-core.el (org-babel-insert-result): Use :raw argument to org-table conversion. --- lisp/ob-R.el | 2 +- lisp/ob-core.el | 2 +- lisp/org-table.el | 2 +- lisp/ox.el | 3 ++- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lisp/ob-R.el b/lisp/ob-R.el index 2470b4f..6f76aa5 100644 --- a/lisp/ob-R.el +++ b/lisp/ob-R.el @@ -239,7 +239,7 @@ This function is called by `org-babel-execute-src-block'." (min (if lengths (apply 'min lengths) 0))) ;; Ensure VALUE has an orgtbl structure (depth of at least 2). (unless (listp (car value)) (setq value (list value))) - (let ((file (orgtbl-to-tsv value '(:fmt org-babel-R-quote-tsv-field))) + (let ((file (orgtbl-to-tsv value '(:raw t :fmt org-babel-R-quote-tsv-field))) (header (if (or (eq (nth 1 value) 'hline) colnames-p) "TRUE" "FALSE")) (row-names (if rownames-p "1" "NULL"))) diff --git a/lisp/ob-core.el b/lisp/ob-core.el index 93fcb2a..9ff83f2 100644 --- a/lisp/ob-core.el +++ b/lisp/ob-core.el @@ -2213,7 +2213,7 @@ code ---- the results are extracted in the syntax of the source (lambda (el) (or (listp el) (eq el 'hline))) result) result (list result)) - '(:fmt (lambda (cell) (format "%s" cell)))) "\n")) + '(:raw t :fmt (lambda (cell) (format "%s" cell)))) "\n")) (goto-char beg) (when (org-at-table-p) (org-table-align))) ((and (listp result) (not (funcall proper-list-p result))) (insert (format "%s\n" result))) diff --git a/lisp/org-table.el b/lisp/org-table.el index 6b33eda..7a53d7a 100644 --- a/lisp/org-table.el +++ b/lisp/org-table.el @@ -4834,7 +4834,7 @@ This may be either a string or a function of two arguments: (table-cell . ,(org-table--to-generic-cell params)) ;; Section. Return contents to avoid garbage around table. (section . (lambda (s c i) c)))) - 'body-only (org-combine-plists params '(:with-tables t)))))) + 'body-only (org-combine-plists params '(:with-tables t :sloppy-macros t)))))) (defun org-table--generic-apply (value name &optional with-cons &rest args) (cond ((null value) nil) diff --git a/lisp/ox.el b/lisp/ox.el index f47baef..0fcfc04 100644 --- a/lisp/ox.el +++ b/lisp/ox.el @@ -2885,7 +2885,8 @@ Return code as a string." (cons "email" (or (plist-get info :email) "")) (cons "title" (org-element-interpret-data (plist-get info :title)))) - 'finalize) + (unless (plist-get info :sloppy-macros) + 'finalize)) ;; Parse buffer. (setq tree (org-element-parse-buffer nil visible-only)) ;; Handle left-over uninterpreted elements or objects in -- 2.2.1