मैं वही मुद्दा देख रहा हूं। थोड़ी खुदाई में, मुझे लगता है कि मैंने समस्या की पहचान कर ली है। हालांकि, यह निश्चित नहीं है कि यह किसे सूचित किया जाए।
समस्या org-babel-execute: clojure फ़ंक्शन में है। इस फ़ंक्शन में निम्न बिट कोड है
(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")))
समस्या nrepl-sync-request: eval के कॉल में है। इस फ़ंक्शन के लिए दस्तावेज़ बताता है
(nrepl-सिंक-रिक्वेस्ट: eval INPUT कनेक्शन और वैकल्पिक NS)
INPUT को nREPL सर्वर पर सिंक्रोनाइज़ करें। अनुरोध के माध्यम से अनुरोध भेजा जाता है। यदि NS गैर-शून्य है, तो इसे अनुरोध में शामिल करें।
अंतिम वैकल्पिक तर्क एनएस नोट करें। यह क्लोजर नेमस्पेस माना जाता है। हालाँकि, org-babel-execute: clojure फ़ंक्शन इस फ़ंक्शन को cider-current-session से आउटपुट के साथ बुला रहा है, जो वर्तमान सत्र का प्रतिनिधित्व करने वाली एक अद्वितीय ID देता है। नतीजतन, कॉल एक त्रुटि के साथ डेटा संरचना वापस कर रहा है और कोई आउटपुट नहीं (शायद कुछ त्रुटि से निपटने की आवश्यकता है)। लौटा हुआ परिणाम है
(dict status (namespace-not-found done error done state state) id 17 session 43e9fd6c-82ed-49fe-9624-0cfc6f56f8b1 changed-namespaces (dict) repl-type cljclj)
नोट नाम-स्थान नहीं मिला
या तो तर्क को (साइडर-करेंट-एनएस) के लिए एक कॉल होना चाहिए या शायद इसे छोड़ दिया जाना चाहिए क्योंकि मैं नहीं देखता कि आप ब्लॉक मूल्यांकन के हिस्से के रूप में नाम स्थान कैसे पारित कर सकते हैं।
संपादित करें: यहाँ एक साधारण पैच है जो समस्या को ठीक करने के लिए प्रकट होता है। ऑर्गन के वर्तमान प्रमुख के खिलाफ जनित रेपो
---
lisp/ob-clojure.el | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lisp/ob-clojure.el b/lisp/ob-clojure.el
index d407105..e542a29 100644
--- a/lisp/ob-clojure.el
+++ b/lisp/ob-clojure.el
@@ -44,6 +44,7 @@
(declare-function cider-current-connection "ext:cider-client" (&optional type))
(declare-function cider-current-session "ext:cider-client" ())
+(declare-function cider-current-ns "ext:cider-client" ())
(declare-function nrepl--merge "ext:nrepl-client" (dict1 dict2))
(declare-function nrepl-dict-get "ext:nrepl-client" (dict key))
(declare-function nrepl-dict-put "ext:nrepl-client" (dict key value))
@@ -118,7 +119,7 @@ using the :show-process parameter."
org-babel-clojure-sync-nrepl-timeout))
(nrepl-sync-request:eval expanded
(cider-current-connection)
- (cider-current-session))))
+ (cider-current-ns))))
(setq result
(concat
(nrepl-dict-get response
@@ -153,7 +154,7 @@ using the :show-process parameter."
;; Update the status of the nREPL output session.
(setq status (nrepl-dict-get response "status")))
(cider-current-connection)
- (cider-current-session))
+ (cider-current-ns))
;; Wait until the nREPL code finished to be processed.
(while (not (member "done" status))
--
2.7.4
इसके अलावा पैच को emacs-orgmode सूची में भेज दिया
(cider-current-ns)
? और यदि हां, तो मुझे वह फ़ंक्शन कहां मिल सकता है?