diff options
author | Oleh Krehel <ohwoeowho@gmail.com> | 2014-04-10 10:17:21 +0200 |
---|---|---|
committer | Oleh Krehel <ohwoeowho@gmail.com> | 2014-04-10 10:30:23 +0200 |
commit | 645384a03787823e596846ee728ecdf0dfc2882b (patch) | |
tree | 21620810fe1235b94d643189c7c1926a62b90af2 | |
parent | ce72d251f77b318f1642d7841f544a9ca6080803 (diff) | |
download | org-mode-645384a03787823e596846ee728ecdf0dfc2882b.tar.gz |
ob-clojure: adapt to new cider
* lisp/ob-clojure.el (org-babel-expand-body:clojure): Don't handle
output here, since the result becomes double quoted with current
cider. Move to `org-babel-execute:clojure' instead.
(org-babel-execute:clojure): Use `nrepl-send-string-sync' instead
of `cider-eval-sync', which was removed.
-rw-r--r-- | lisp/ob-clojure.el | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/lisp/ob-clojure.el b/lisp/ob-clojure.el index a933fdc..c2109ff 100644 --- a/lisp/ob-clojure.el +++ b/lisp/ob-clojure.el @@ -48,15 +48,9 @@ (eval-when-compile (require 'cl)) -(declare-function cider-current-ns "ext:cider-interaction" ()) -(declare-function cider-get-raw-value "ext:cider-client" (eval-result)) -(declare-function cider-eval-sync "ext:cider-client" (input &optional ns session)) (declare-function nrepl-send-string-sync "ext:nrepl-client" (input &optional ns session)) -(declare-function nrepl-current-tooling-session "ext:nrepl-client" ()) - (declare-function nrepl-current-connection-buffer "ext:nrepl" ()) (declare-function nrepl-eval "ext:nrepl" (body)) - (declare-function slime-eval "ext:slime" (sexp &optional package)) (defvar org-babel-tangle-lang-exts) @@ -97,20 +91,24 @@ "(str org-mode-print-catcher)))") (if (member "code" result-params) "code" "simple") body)) ;; if (:results output), collect printed output - ((member "output" result-params) - (format "(clojure.core/with-out-str %s)" body)) + ;; ((member "output" result-params) + ;; (format "(clojure.core/with-out-str %s)" body)) (t body)))) (defun org-babel-execute:clojure (body params) "Execute a block of Clojure code with Babel." (let ((expanded (org-babel-expand-body:clojure body params)) result) - (case org-babel-clojure-backend + (cl-case org-babel-clojure-backend (cider (require 'cider) - (setq result - (or (cider-get-raw-value (cider-eval-sync expanded)) - (error "nREPL not connected! Use M-x cider-jack-in RET")))) + (let ((result-params (cdr (assoc :result-params params)))) + (setq result + (plist-get + (nrepl-send-string-sync expanded) + (if (member "output" result-params) + :stdout + :value))))) (nrepl (require 'nrepl) (setq result |