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
signature.asc
Description: PGP signature