Преглед изворни кода

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.
Eric Schulte пре 14 година
родитељ
комит
fa9464ede2
1 измењених фајлова са 7 додато и 1 уклоњено
  1. 7 1
      lisp/ob-lisp.el

+ 7 - 1
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