Hi

Following a recent discussion (based on me forgetting a ":" when setting
the property :header-args), I added the output of the property
header-args to the output of org-babel-get-src-block-info to make
debugging easier. Before the function resulted in the following output
(using my faulty code block):

,----
| Lang: R
| Header Arguments:
|       :cache          no
|       :exports        both
|       :hlines         no
|       :noweb          no
|       :results        code exports output replace
|       :session        somename
|       :tangle         no
| 
`----

One only saw that the property :results was not correct but not where it
came from.

Using the patched version, one gets the following:

,----
| Lang: R
| Properties:
|       :header-args    :exports both :results output exports code
|       :header-args:R  :session somename
| Header Arguments:
|       :cache          no
|       :exports        both
|       :hlines         no
|       :noweb          no
|       :results        code exports output replace
|       :session        somename
|       :tangle         no
`----

Here one can clearly see that the property :header-args is not set
correctly and can easily trace it down in the original org file.

Also, actually seeing the property :header-args makes it easier to
understand the whole inheritance of header arguments and how header-args
and header-args+ interact. 

The same applir=es to the property :header-args:R (or any language
specific header-args:language property)

Cheers,

Rainer


Here is again the faulty org file which lead to the patch:

--8<---------------cut here---------------start------------->8---
#+PROPERTY: header-args:R :session somename
#+PROPERTY: header-args :exports both
#+PROPERTY: header-args+ :results output
* The bug
This file create an (possibly endless?) loop during export
* here exports both
#+begin_src R 
cat(13+14)
#+end_src

* and here only code
:PROPERTIES:
:header-args+: exports code
:END:
#+begin_src R 
paste(13+14)
#+end_src
--8<---------------cut here---------------end--------------->8---

diff --git a/lisp/ob-core.el b/lisp/ob-core.el
index ceda1aa..94a07f6 100644
--- a/lisp/ob-core.el
+++ b/lisp/ob-core.el
@@ -409,6 +409,10 @@ a window into the `org-babel-get-src-block-info' function."
 	      (header-args (nth 2 info)))
 	  (when name            (funcall printf "Name: %s\n"     name))
 	  (when lang            (funcall printf "Lang: %s\n"     lang))
+	  (funcall printf "Properties:\n")
+	  (funcall printf "\t:header-args \t%s\n" (org-entry-get (point) "header-args" t))
+	  (funcall printf "\t:header-args:%s \t%s\n" lang (org-entry-get (point) (concat "header-args:" lang) t))
+
 	  (when (funcall full switches) (funcall printf "Switches: %s\n" switches))
 	  (funcall printf "Header Arguments:\n")
 	  (dolist (pair (sort header-args
-- 
Rainer M. Krug
email: Rainer<at>krugs<dot>de
PGP: 0x0F52F982

Attachment: signature.asc
Description: PGP signature

Reply via email to