forked from mirrors/org-mode
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:
parent
817cbca767
commit
5b397e8917
|
@ -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))
|
||||
|
|
Loading…
Reference in a new issue