【问题标题】:Org-mode fails to export when passing arguments to code blocks that exports results将参数传递给导出结果的代码块时,组织模式无法导出
【发布时间】:2012-02-25 15:00:49
【问题描述】:

passing arguments to code block 导出结果 Org-mode 无法导出并出现错误“错误类型参数:listp”。我该如何解决这个问题?

这是一个例子。当它被导出时,它会给出错误'错误类型参数:listp,“bar”'。

#+TITLE: Example

#+SOURCE: example-one
#+BEGIN_SRC emacs-lisp :exports results
(setq foo "bar")
#+END_SRC

#+SOURCE: example-two
#+BEGIN_SRC emacs-lisp :exports results :var x=example-one
(setq foo (concat x x))
#+END_SRC

我在 Emacs 23.3.1 中运行 Org-mode 7.6。

【问题讨论】:

  • 您的示例在 org-mode 7.8 中没有给出此错误。在 org-mode 邮件列表中问这个问题似乎更合适。

标签: emacs org-mode


【解决方案1】:

此问题可能只是与您正在运行的旧版 Org 相关。今天用最近的 git pull 对其进行了测试,得到了下面的结果。正如 pmr 所建议的那样,您可能会在邮件列表 (emacs-orgmode@gnu.org) 上询问更好的运气,因为那里可能有人会知道导致此问题的原因以及可能已更改的内容以在以后的版本中解决它。

手册中讨论的功能和示例基于当前版本(本例中为 7.8.03),因此它们并不总是与旧版本兼容。您的版本中的 info-node 是否表明它应该可以工作?

这 2 个命令将向您显示组织手册该部分的相关信息节点

; The node itself
(Info-goto-node "(org) var") 
; Parent node, in case the first node isn't present
(Info-goto-node "(org) Working With Source Code") 

测试结果

组织
* Test variable passing
Headlines are created to split the code blocks apart.  When trying to eval on export I'm getting a syntax read error which was reported here: http://lists.gnu.org/archive/html/emacs-orgmode/2012-01/msg00993.html 

** Ex 1
#+name: example-one
#+BEGIN_SRC emacs-lisp :exports results
(setq foo "bar")
#+END_SRC

** Ex 2

#+name: example-two
#+BEGIN_SRC emacs-lisp :exports results :var x=example-one
(setq foo (concat x x))
#+END_SRC
乳胶
\vspace*{1cm}
Headlines are created to split the code blocks apart.  When trying to eval on export I'm getting a syntax read error which was reported here: \href{http://lists.gnu.org/archive/html/emacs-orgmode/2012-01/msg00993.html}{http://lists.gnu.org/archive/html/emacs-orgmode/2012-01/msg00993.html} 

\section{Ex 1}
\label{sec-1}



\begin{verbatim}
 bar
\end{verbatim}
\section{Ex 2}
\label{sec-2}




\begin{verbatim}
 barbar
\end{verbatim}

【讨论】:

  • info-goto-node 表达式是否用于放入 scratch 并评估以获得一些结果?
  • 是的。他们会将info-node 与组织手册的相关部分一起加载。但是它们区分大小写,因此必须确保它是大写字母I。该手册将与您拥有的版本相匹配,而网站是当前版本。
  • 我得到一个错误,当评估它们中的任何一个时它会进入调试器。
【解决方案2】:

在您的 .emacs 文件中 - 确保您有以下行:

(setq org-babel-load-languages (quote ((emacs-lisp . t))))

【讨论】:

  • 这没有帮助。它的值已经是((emacs-lisp . t))
猜你喜欢
  • 2023-03-14
  • 2020-10-05
  • 2018-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-07
  • 2016-02-23
  • 1970-01-01
相关资源
最近更新 更多