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.
This commit is contained in:
Eric Schulte 2013-09-29 13:42:37 -06:00
parent 817cbca767
commit 5b397e8917

View file

@ -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))