This should be this finalize
version patch.
The
whole discussion is here:
https://github.com/clojure-emacs/clojure-mode/pull/465
After test many case (all passed):
```org
#+begin_src
clojure :results pp
;; (def greeting "hi there!")
*ns*
#+end_src
#+RESULTS[<2018-03-26 14:43:51>
2d1907bb790168e9429b9b07b4409d08ac8ca274]:
: #namespace[user]
Test internal ns in body.
# TODO: this has a weird behavior, the result changes,
sometimes is #'kk.test/he, second time will be #'user/he
- [X] confirmed org-babel-expand-body:clojure is fine
- [X] check org-babel-execute:clojure
#+begin_src clojure :results pp
(ns kk.test)
(def he "hi")
#+end_src
#+RESULTS[<2018-03-26 12:52:06>
fb9ad1efe68a43d880e53205f1326c000d1522d3]:
: #'kk.test/he
Deeper testing:
#+begin_src emacs-lisp :results pp
(nrepl-sync-request:eval
"(clojure.pprint/pprint (do (ns user)\n (ns kk.test)\n
(def he 2)))"
(cider-current-connection)
"user"
)
#+end_src
#+RESULTS[<2018-03-26 19:26:24>
36ac1cb6a3df8b20edb0bf11c1247399bc041390]:
: (dict "status"
: ("done" "state")
: "id" "362" "out" "#'user/he\n" "session"
"5ba759a7-a80a-4b02-a934-a0d7686ee211" "ns" "kk.test"
"value" "nil" "changed-namespaces"
: (dict)
: "repl-type" "clj")
#+begin_src clojure :results value :ns kk2
(def he "hi")
*ns*
#+end_src
#+RESULTS[<2018-03-26 13:43:22>
0bfbd971f26d1f097d19dc0e3230decc31cc9e6e]:
: nil#'kk2/he#namespace[kk2]
What about another src block without ~:ns~ specified after
previous specified src block?
#+begin_src clojure :results value
(def he "hi")
*ns*
#+end_src
#+RESULTS[<2018-03-26 12:53:27>
6c547cacff4e65305cc9f855117ca43ffd9d2eab]:
: nil#'user/he#namespace[user]
More complex example:
#+begin_src clojure :results output :var he="hi" :ns kk
;; (def he "hi")
(prn he)
(prn *ns*)
#+end_src
#+RESULTS:
: "hi"
: #namespace[kk]
```
On 03/26/2018 12:38 PM, stardiviner
wrote:
Previous `ob-clojure.el` patch implement method is not good
enough. Here is a better implementation.
Sorry for this over posting.
On 03/26/2018 09:59 AM, stardiviner
wrote:
- support :ns header (as discussed at here https://github.com/clojure-emacs/clojure-mode/pull/465#discussion_r158009538)
-
supoort inject
CIDER outside of project
-
support :var initialization when :session initialization
prepare.
On 03/22/2018 01:49 AM, stardiviner
wrote:
Two patches
One
is to support ob-clojure.el future coming header argument :ns.
The second is to support
jack-in CIDER outside of Clojure project by default. Not
no need to ob-clojure project to be created anymore.