clojure 的 org 模式 - 无法导出工作
org mode with clojure - can't get export to work
编辑 我也在 emacs.stackexchange
上问过这个问题
我是一个相对的 emacs 新手,并且已经按照 here.
的描述设置了我的 emacs (24.4.1) 来使用 clojure
要点是我现在使用 git 的最新 org-mode 并将其加载到我的 init.el 中(顺便说一句,我正在使用前奏),如下所示:
(add-to-list 'load-path "~/repos/org-mode/lisp")
(require 'org)
(require 'ob-clojure)
我正在尝试使用 org 编写一个可以导出为 markdown 的精通 clojure 程序。 Clojure 和 babel 现在运行良好,评估工作等,但是当我尝试导出我的 org 文件时出现错误。
load-with-code-conversion: Symbol's value as variable is void: p
设置toggle-debug-on-error
时的堆栈跟踪是:
Debugger entered--Lisp error: (void-variable p)
eval-buffer(#<buffer *load*> nil
"/Users/krisfoster/repos/org-mode/lisp/ox.el" nil t)
; Reading at buffer position 229233
load-with-code-conversion("/Users/krisfoster/repos/org-mode/lisp/ox.el"
"/Users/krisfoster/repos/org-mode/lisp/ox.el" nil t)
autoload-do-load((autoload "ox" "Export dispatcher for Org mode.\n
\nIt provides an access to common export related tasks in a
buffer.\nIts interface comes in two flavors: standard and
expert.\n\nWhile both share the same set of bindings, only the
former\ndisplays the valid keys associations in a dedicated
buffer.\nScrolling (resp. line-wise motion) in this buffer is done
with\nSPC and DEL (resp. C-n and C-p) keys.\n\nSet variable `org-
export-dispatch-use-expert-ui' to switch to one\nflavor or the
other.\n\nWhen ARG is \[universal-argument], repeat the last
export action, with the same set\nof options used back then, on
the current buffer.\n\nWhen ARG is \[universal-argument] \
[universal-argument], display the asynchronous export
stack.\n\n(fn &optional ARG)" t nil) org-export-dispatch)
command-execute(org-export-dispatch)
我试图通过 (require
-ing 各种 org
导出包来解决这个问题,这些包在 org git 仓库的克隆中,即来自我的 init.el
。但没有骰子 - 事实上,这会产生更多问题。我试过调试但无法找出问题所在。我怀疑我需要要求一些东西但不知道是什么。
我的 init.el
在这里 - init.el gist
有人知道我做错了什么吗?
提前致谢。
在您制作此 post 时 org-mode 存在错误,因此问题可能已解决。但是,我注意到您的初始化文件存在一些问题。一些可能有帮助的事情
使用 lisp 包管理器安装包 (ELPA)。这将使您的生活 更 轻松。组织人员维护一个 ELPA 存储库,该存储库会定期更新,并且可能比仅拉入存储库更稳定一些。他们有一个名为 org-plus-contrib 的版本,我使用并发现它非常好。只需添加
(添加到列表 'package-archives '("org" . "http://orgmode.org/elpa/"))
你说你的 运行 前奏,但我在你的 init 中看不到任何正在加载前奏的东西(只是调用一个关闭大师模式的函数) . Prelude 很好,也很流行,但是如果你要使用它,你需要'drink the cool aid' 也就是按照prelude 的方式来做事。例如prelude自带org-mode,使用ELPA安装。您需要注意不要混合使用 org 版本。我发现另一种非常好的前奏曲是 Steve Purcell 的 emacs.d。我发现使用 YMMV 更容易一些,但它可能值得一试,因为它对 mac 有很好的支持。参见 emacs.d
将您的 emacs 初始化脚本分解成单独的文件是一个非常好的主意。这使您在尝试查找问题时可以轻松地注释掉很多东西,并让您只专注于您试图开始工作的关键部分。我将 init.el 文件维护为一个 org 文件,并使用 babel 生成所有 lisp 代码。您可以在 github 上查看它。我最初是从 Purcell 的 emacs.d 开始的,然后自豪地借用(窃取)了其中的大部分用于我自己的配置。这不是如何配置 emacs 的好例子,但可能有助于您的设置
我注意到您试图使用 cider 作为 clojure 代码的后端 'evaluator'。请注意,如果您想要在您的 org 文件中包含要评估然后使用结果的 clojure 块,则只需要执行此操作。如果您只想从您的组织代码生成 *.clj 文件,则无需执行此操作。相反,您只想 'tangle' 您的 org 文件,它将生成更新的 clj 源文件,然后您可以处理这些文件。这使事情变得更简单,并避免了当您尝试使用您的 org 文件执行尝试评估 clojure 代码但失败的操作时出现的问题。另请注意,我希望您需要做的不仅仅是将 cider 设置为后端评估器——cide 只是一个 repl 的接口。你也需要一个repl。
编辑 我也在 emacs.stackexchange
上问过这个问题我是一个相对的 emacs 新手,并且已经按照 here.
的描述设置了我的 emacs (24.4.1) 来使用 clojure要点是我现在使用 git 的最新 org-mode 并将其加载到我的 init.el 中(顺便说一句,我正在使用前奏),如下所示:
(add-to-list 'load-path "~/repos/org-mode/lisp")
(require 'org)
(require 'ob-clojure)
我正在尝试使用 org 编写一个可以导出为 markdown 的精通 clojure 程序。 Clojure 和 babel 现在运行良好,评估工作等,但是当我尝试导出我的 org 文件时出现错误。
load-with-code-conversion: Symbol's value as variable is void: p
设置toggle-debug-on-error
时的堆栈跟踪是:
Debugger entered--Lisp error: (void-variable p)
eval-buffer(#<buffer *load*> nil
"/Users/krisfoster/repos/org-mode/lisp/ox.el" nil t)
; Reading at buffer position 229233
load-with-code-conversion("/Users/krisfoster/repos/org-mode/lisp/ox.el"
"/Users/krisfoster/repos/org-mode/lisp/ox.el" nil t)
autoload-do-load((autoload "ox" "Export dispatcher for Org mode.\n
\nIt provides an access to common export related tasks in a
buffer.\nIts interface comes in two flavors: standard and
expert.\n\nWhile both share the same set of bindings, only the
former\ndisplays the valid keys associations in a dedicated
buffer.\nScrolling (resp. line-wise motion) in this buffer is done
with\nSPC and DEL (resp. C-n and C-p) keys.\n\nSet variable `org-
export-dispatch-use-expert-ui' to switch to one\nflavor or the
other.\n\nWhen ARG is \[universal-argument], repeat the last
export action, with the same set\nof options used back then, on
the current buffer.\n\nWhen ARG is \[universal-argument] \
[universal-argument], display the asynchronous export
stack.\n\n(fn &optional ARG)" t nil) org-export-dispatch)
command-execute(org-export-dispatch)
我试图通过 (require
-ing 各种 org
导出包来解决这个问题,这些包在 org git 仓库的克隆中,即来自我的 init.el
。但没有骰子 - 事实上,这会产生更多问题。我试过调试但无法找出问题所在。我怀疑我需要要求一些东西但不知道是什么。
我的 init.el
在这里 - init.el gist
有人知道我做错了什么吗?
提前致谢。
在您制作此 post 时 org-mode 存在错误,因此问题可能已解决。但是,我注意到您的初始化文件存在一些问题。一些可能有帮助的事情
使用 lisp 包管理器安装包 (ELPA)。这将使您的生活 更 轻松。组织人员维护一个 ELPA 存储库,该存储库会定期更新,并且可能比仅拉入存储库更稳定一些。他们有一个名为 org-plus-contrib 的版本,我使用并发现它非常好。只需添加
(添加到列表 'package-archives '("org" . "http://orgmode.org/elpa/"))
你说你的 运行 前奏,但我在你的 init 中看不到任何正在加载前奏的东西(只是调用一个关闭大师模式的函数) . Prelude 很好,也很流行,但是如果你要使用它,你需要'drink the cool aid' 也就是按照prelude 的方式来做事。例如prelude自带org-mode,使用ELPA安装。您需要注意不要混合使用 org 版本。我发现另一种非常好的前奏曲是 Steve Purcell 的 emacs.d。我发现使用 YMMV 更容易一些,但它可能值得一试,因为它对 mac 有很好的支持。参见 emacs.d
将您的 emacs 初始化脚本分解成单独的文件是一个非常好的主意。这使您在尝试查找问题时可以轻松地注释掉很多东西,并让您只专注于您试图开始工作的关键部分。我将 init.el 文件维护为一个 org 文件,并使用 babel 生成所有 lisp 代码。您可以在 github 上查看它。我最初是从 Purcell 的 emacs.d 开始的,然后自豪地借用(窃取)了其中的大部分用于我自己的配置。这不是如何配置 emacs 的好例子,但可能有助于您的设置
我注意到您试图使用 cider 作为 clojure 代码的后端 'evaluator'。请注意,如果您想要在您的 org 文件中包含要评估然后使用结果的 clojure 块,则只需要执行此操作。如果您只想从您的组织代码生成 *.clj 文件,则无需执行此操作。相反,您只想 'tangle' 您的 org 文件,它将生成更新的 clj 源文件,然后您可以处理这些文件。这使事情变得更简单,并避免了当您尝试使用您的 org 文件执行尝试评估 clojure 代码但失败的操作时出现的问题。另请注意,我希望您需要做的不仅仅是将 cider 设置为后端评估器——cide 只是一个 repl 的接口。你也需要一个repl。