]> code.delx.au - gnu-emacs/blobdiff - lisp/org/ob-lisp.el
Fix quote escaping in ruby-toggle-string-quotes
[gnu-emacs] / lisp / org / ob-lisp.el
index 71e80bdf9ea7c6f7af8c3b9a78c026c08e067e35..fb8eb40856ec0832437913e4929aa20df58616af 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ob-lisp.el --- org-babel functions for common lisp evaluation
 
-;; Copyright (C) 2009-201 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
 ;; Authors: Joel Boehland
 ;;      Eric Schulte
@@ -75,23 +75,24 @@ current directory string."
   "Execute a block of Common Lisp code with Babel."
   (require 'slime)
   (org-babel-reassemble-table
-   ((lambda (result)
-      (if (member "output" (cdr (assoc :result-params params)))
-         (car 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)))))
+   (let ((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))))))
+     (org-babel-result-cond (cdr (assoc :result-params params))
+       (car result)
+       (condition-case nil
+           (read (org-babel-lisp-vector-to-list (cadr result)))
+         (error (cadr result)))))
    (org-babel-pick-name (cdr (assoc :colname-names params))
                        (cdr (assoc :colnames params)))
    (org-babel-pick-name (cdr (assoc :rowname-names params))