【问题标题】:Org-Babel Clojure Cider NRepl broken?Org-Babel Clojure Cider NRepl 坏了?
【发布时间】:2017-04-07 16:48:03
【问题描述】:

我按照here 的说明编写了以下 org-mode 文件:

#+BEGIN_SRC emacs-lisp
  (princ (concat (format "Emacs version:\n%s\n" (emacs-version))
                 (format "\norg version: %s\n" (org-version))))
#+END_SRC

#+RESULTS:
: Emacs version:
: GNU Emacs 25.1.1 (x86_64-apple-darwin13.4.0, NS appkit-1265.21 Version 10.9.5 (Build 13F1911))
:  of 2016-09-17
: 
: org version: 9.0.5

#+BEGIN_SRC clojure :results value
  (* 6 7)
#+END_SRC

#+RESULTS:

* COMMENT org babel settings
Local variables:
org-confirm-babel-evaluate: nil
End:

如您所见,emacs-lisp 块的评估工作并产生 预期输出。顺便说一句,它还报告了我正在使用的东西的版本。但是,clojure 源代码块在评估时会离开

Code block returned no value.

我在代码块中尝试了许多不同的 Clojure 表达式,例如 printlns 等等。 NREPL 窗口中没有显示任何内容,并且 org 模式下的结果始终相同:迷你缓冲区中的上述消息。

在 emacs 迷你缓冲区中。以下是我采取的具体步骤:

  1. $ lein new clojure-example
  2. $ cd clojure-example
  3. $ emacs clojure.example.org
  4. 在上述文件中输入键盘
  5. 运行emacs命令cider-jack-in

这会产生一个包含以下版本信息的 repl 窗口:

;; Connected to nREPL server - nrepl://localhost:52695
;; CIDER 0.15.0snapshot (package: 20170403.402), nREPL 0.2.12
;; Clojure 1.8.0, Java 1.8.0_121  

等等

  1. 将emacs光标放在每个块内并输入C-c C-c,绑定到 org-babel-execute-src-block

在此之前,我在我的 emacs 初始化文件中插入了以下代码:

(require 'org)
(require 'ob-clojure)
(org-babel-do-load-languages
 'org-babel-load-languages
 '( (clojure     . t)
    (emacs-lisp  . t)
    ))
(setq org-babel-clojure-backend 'cider)
(require 'cider)

根据引用的说明。

如果有任何帮助,我将不胜感激。

【问题讨论】:

    标签: emacs clojure cider org-babel


    【解决方案1】:

    是的,在当前的稳定版本 (9.0.5) 中,org-mode clojure 后端已损坏并且无法工作。我提交了一个已应用的补丁,我预计将在下一个版本中发布。

    https://emacs.stackexchange.com/questions/30857/clojure-code-evaluation-in-org-mode-produces-no-output/31169#31169

    【讨论】:

      猜你喜欢
      • 2014-10-13
      • 1970-01-01
      • 2016-08-08
      • 2015-04-28
      • 2020-04-22
      • 2017-11-29
      • 1970-01-01
      • 2016-04-29
      • 1970-01-01
      相关资源
      最近更新 更多