diff options
author | Eric Schulte <schulte.eric@gmail.com> | 2013-09-29 13:42:37 -0600 |
---|---|---|
committer | Eric Schulte <schulte.eric@gmail.com> | 2013-09-29 13:42:37 -0600 |
commit | 5b397e8917bf047bf8c27ede2425e955216dc418 (patch) | |
tree | c5304b56d36f0930fa3b64ee3c498859a0958e69 | |
parent | 817cbca767b8716118a105552c44de3150667fe8 (diff) | |
download | org-mode-5b397e8917bf047bf8c27ede2425e955216dc418.tar.gz |
fix output handling of lisp blocks
previously we were conflating results/output with scalar/vector
* lisp/ob-lisp.el (org-babel-execute:lisp): Fix output handling of
lisp blocks.
-rw-r--r-- | lisp/ob-lisp.el | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/lisp/ob-lisp.el b/lisp/ob-lisp.el index 2bb1a25..a007923 100644 --- a/lisp/ob-lisp.el +++ b/lisp/ob-lisp.el @@ -77,21 +77,23 @@ current directory string." (org-babel-reassemble-table ((lambda (result) (org-babel-result-cond (cdr (assoc :result-params params)) - (car result) + result (condition-case nil - (read (org-babel-lisp-vector-to-list (cadr result))) - (error (cadr result))))) - (with-temp-buffer - (insert (org-babel-expand-body:lisp body params)) - (slime-eval `(swank:eval-and-grab-output - ,(let ((dir (if (assoc :dir params) - (cdr (assoc :dir params)) - default-directory))) - (format - (if dir (format org-babel-lisp-dir-fmt dir) "(progn %s)") - (buffer-substring-no-properties - (point-min) (point-max))))) - (cdr (assoc :package params))))) + (read (org-babel-lisp-vector-to-list result)) + (error result)))) + (funcall (if (member "output" (cdr (assoc :result-params params))) + #'car #'cadr) + (with-temp-buffer + (insert (org-babel-expand-body:lisp body params)) + (slime-eval `(swank:eval-and-grab-output + ,(let ((dir (if (assoc :dir params) + (cdr (assoc :dir params)) + default-directory))) + (format + (if dir (format org-babel-lisp-dir-fmt dir) "(progn %s)") + (buffer-substring-no-properties + (point-min) (point-max))))) + (cdr (assoc :package params)))))) (org-babel-pick-name (cdr (assoc :colname-names params)) (cdr (assoc :colnames params))) (org-babel-pick-name (cdr (assoc :rowname-names params)) |