I already applied the patch at here: https://emacs.stackexchange.com/questions/30857/clojure-code-evaluation-in-org-mode-produces-no-output [stardiviner] GPG key ID: 47C32433 IRC(freeenode): stardiviner Twitter: @numbchild Key fingerprint = 9BAA 92BC CDDD B9EF 3B36 CB99 B8C4 B8E5 47C3 2433 Blog: http://stardiviner.github.io/ On Thu, Mar 2, 2017 at 7:01 AM, Tim Cross wrote: > With current 9.0.5 org-plus-contrib package, ob-clojure is broken and > trying to evaluate clojure source blocks just gives a code block produces > no output message. > > The problem is in the org-babel-execute:clojure function. This function > has the following bit of code > > (setq result > (nrepl-dict-get > (nrepl-sync-request:eval > expanded (cider-current-connection) (cider-current-session)) > (if (or (member "output" result-params) > (member "pp" result-params)) > "out" > "value"))) > > The problem is in the call to nrepl-sync-request:eval. The documentation > states for this function > > (nrepl-sync-request:eval INPUT CONNECTION &optional NS) > > Send the INPUT to the nREPL server synchronously. The request is > dispatched via CONNECTION. If NS is non-nil, include it in the request. > Note the last optional argument NS. This is supposed to be a clojure > namespace. However, the org-babel-execute:clojure function is calling this > function with the output from cider-current-session, which returns a unique > ID representing the current session. As a result, the call is returning a > data structure with an error and no output (perhaps some error handling is > required). The returned result is > > (dict status (namespace-not-found done error done state state) id 17 > session 43e9fd6c-82ed-49fe-9624-0cfc6f56f8b1 changed-namespaces (dict) > repl-type cljclj) > > Note the namespace-not-found > > Either the argument should be a call to (cider-current-ns) or perhaps it > should just be left out as I don't see how you can pass the namespace as > part of the block evaluation. > > > -- > regards, > > Tim > > -- > Tim Cross > >