summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Schulte <schulte.eric@gmail.com>2011-04-07 12:31:10 -0600
committerEric Schulte <schulte.eric@gmail.com>2011-04-07 12:31:10 -0600
commitfa9464ede21d6efb41949fec42a106a0a0a3ed13 (patch)
treec241b999b409887dc8a341a74ad7d705a7a65f2e
parentad976c66cb5a5181294a5eb6ac0989fd8b06182c (diff)
downloadorg-mode-fa9464ede21d6efb41949fec42a106a0a0a3ed13.tar.gz
ob-lisp: turning vector results into lists for easy elisp reading
* lisp/ob-lisp.el (org-babel-execute:lisp): Turn vectors into lists before reading by elisp (org-bable-lisp-vector-to-list): Stub of a vector->list function, should be replaced with a cl-vector->el-vector function.
-rw-r--r--lisp/ob-lisp.el8
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/ob-lisp.el b/lisp/ob-lisp.el
index 17cec24..84d7464 100644
--- a/lisp/ob-lisp.el
+++ b/lisp/ob-lisp.el
@@ -69,7 +69,9 @@
((lambda (result)
(if (member "output" (cdr (assoc :result-params params)))
(car result)
- (condition-case nil (read (cadr result)) (error (cadr result)))))
+ (condition-case nil
+ (read (org-bable-lisp-vector-to-list (cadr result)))
+ (error (cadr results)))))
(slime-eval `(swank:eval-and-grab-output
,(buffer-substring-no-properties (point-min) (point-max)))
(cdr (assoc :package params)))))
@@ -78,6 +80,10 @@
(org-babel-pick-name (cdr (assoc :rowname-names params))
(cdr (assoc :rownames params)))))
+(defun org-bable-lisp-vector-to-list (results)
+ ;; TODO: better would be to replace #(...) with [...]
+ (replace-regexp-in-string "#(" "(" results))
+
(provide 'ob-lisp)
;; arch-tag: 18086168-009f-4947-bbb5-3532375d851d