summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Schulte <schulte.eric@gmail.com>2013-09-29 13:42:37 -0600
committerEric Schulte <schulte.eric@gmail.com>2013-09-29 13:42:37 -0600
commit5b397e8917bf047bf8c27ede2425e955216dc418 (patch)
treec5304b56d36f0930fa3b64ee3c498859a0958e69
parent817cbca767b8716118a105552c44de3150667fe8 (diff)
downloadorg-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.el30
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))