组织模式:覆盖全局变量#+ PROPERTIES:在块头中?

时间:2016-05-24 13:18:30

标签: org-mode

我希望:results silent文档中的所有代码块都有Org-mode。简化我的块头,我在我的Org模式文档中定义它:

#+PROPERTY: header-args :results silent

正常工作:所有代码块都使用块标题中的:results silent选项。

但是,如果我在其中一个代码块中指定:results output,它仍然是silent。我原以为它会覆盖全局设置,但似乎并非如此。

我是说得对,或者我有什么遗漏才能得到这种行为?

以下是我想要做的一个例子:

#+PROPERTY: header-args :results silent

...

#+BEGIN_SRC clojure
;; this one is silent
(def foo "bar)
#+END_SRC

...

#+BEGIN_SRC clojure :results output
;; this one is being outputted
(def foo "bar)
#+END_SRC

1 个答案:

答案 0 :(得分:0)

这似乎是一个错误,即使在org-mode的最新版本中也存在。我已经在org-mode邮件列表上报告了它。

编辑:Charles Berry在ML上指出这是一个错误。与“silent”相反的是“replace”,因此第二个源块应为:

   #+BEGIN_SRC elisp :results output replace
   ;; this one is being outputted
   (princ "foo")
   #+END_SRC

参见http://thread.gmane.org/gmane.emacs.orgmode/108001/focus=108008 以及手册http://orgmode.org/org.html#results

中的:结果部分

请注意,您可以为每个部分(集合,类型,格式,处理)选择一个值 - 如果您没有为某个部分选择值,则会选择默认值。在上面,“处理”没有明确的值,因此属性的默认值仍然受到控制。