Add :backend param to Clojure org-babel blocks
This commit is contained in:
parent
d5651d8edb
commit
04e9674b27
@ -3369,25 +3369,29 @@ Add support for running Org-mode Clojure source blocks with [[https://github.com
|
||||
|
||||
(defun org-babel-execute:clojure (body params)
|
||||
"Execute a block of Clojure code with Babel."
|
||||
(unless org-babel-clojure-backend
|
||||
(user-error "You need to customize org-babel-clojure-backend"))
|
||||
(let* ((expanded (org-babel-expand-body:clojure body params))
|
||||
(result-params (cdr (assq :result-params params)))
|
||||
result)
|
||||
(setq result
|
||||
(cond
|
||||
((eq org-babel-clojure-backend 'inf-clojure)
|
||||
(ob-clojure-eval-with-inf-clojure expanded params))
|
||||
((eq org-babel-clojure-backend 'cider)
|
||||
(ob-clojure-eval-with-cider expanded params))
|
||||
((eq org-babel-clojure-backend 'slime)
|
||||
(ob-clojure-eval-with-slime expanded params))
|
||||
((eq org-babel-clojure-backend 'bb)
|
||||
(ob-clojure-eval-with-bb expanded params))))
|
||||
(org-babel-result-cond result-params
|
||||
result
|
||||
(condition-case nil (org-babel-script-escape result)
|
||||
(error result)))))
|
||||
(let* ((org-babel-clojure-backend (or (cdr (assq :backend params))
|
||||
org-babel-clojure-backend))
|
||||
(org-babel-clojure-backend (when org-babel-clojure-backend
|
||||
(intern org-babel-clojure-backend))))
|
||||
(unless org-babel-clojure-backend
|
||||
(user-error "You need to customize org-babel-clojure-backend"))
|
||||
(let* ((expanded (org-babel-expand-body:clojure body params))
|
||||
(result-params (cdr (assq :result-params params)))
|
||||
result)
|
||||
(setq result
|
||||
(cond
|
||||
((eq org-babel-clojure-backend 'inf-clojure)
|
||||
(ob-clojure-eval-with-inf-clojure expanded params))
|
||||
((eq org-babel-clojure-backend 'cider)
|
||||
(ob-clojure-eval-with-cider expanded params))
|
||||
((eq org-babel-clojure-backend 'slime)
|
||||
(ob-clojure-eval-with-slime expanded params))
|
||||
((eq org-babel-clojure-backend 'bb)
|
||||
(ob-clojure-eval-with-bb expanded params))))
|
||||
(org-babel-result-cond result-params
|
||||
result
|
||||
(condition-case nil (org-babel-script-escape result)
|
||||
(error result))))))
|
||||
|
||||
(customize-set-variable 'org-babel-clojure-backend 'bb))
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user