Please find attached the below described patch including the fix for the
error reported - function raises error when property value is numeric.

Cheers,

Rainer

diff --git a/lisp/ob-core.el b/lisp/ob-core.el
index ceda1aa..aa39c11 100644
--- a/lisp/ob-core.el
+++ b/lisp/ob-core.el
@@ -409,12 +409,16 @@ 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
 			      (lambda (a b) (string< (symbol-name (car a))
 						     (symbol-name (car b))))))
-	    (when (funcall full (cdr pair))
+	    (when (funcall full (format "%s" (cdr pair)))
 	      (funcall printf "\t%S%s\t%s\n"
 		       (car pair)
 		       (if (> (length (format "%S" (car pair))) 7) "" "\t")

Rainer M Krug <rai...@krugs.de> writes:

> 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:
>
> #+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
> 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