summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleh Krehel <ohwoeowho@gmail.com>2014-04-10 10:17:21 +0200
committerOleh Krehel <ohwoeowho@gmail.com>2014-04-10 10:30:23 +0200
commit645384a03787823e596846ee728ecdf0dfc2882b (patch)
tree21620810fe1235b94d643189c7c1926a62b90af2
parentce72d251f77b318f1642d7841f544a9ca6080803 (diff)
downloadorg-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.el22
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