Charles Berry writes: > Rainer M Krug krugs.de> writes: > >> >> Sebastien Vauban >> writes: >> >> > Rainer M Krug wrote: >> >> Charles Berry writes: >> >>> Rainer M Krug krugs.de> writes: >> >>>> >> >>>> when exporting the fillowing org file, I get an endless loop of >> >>>> evaluations. >> >>>> >> >>>> --8<---------------cut here---------------start------------->8--- >> >>>> #+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--- >> >>> > > [discussion of problem, diagnostic methods, and cures deleted] > > >> 1) I thought that header-args is simply a string, but it already seems >> to be a list? > > Depends on which `header-args' one is discussing: > > 1. A property, as in `(org-entry-get (point) "header-args" t)' > > 2. The value of `(nth 2 (org-babel-get-src-block-info))' > > 3. The value of an elisp variable like `org-babel-default-header-args' > > 4. The 4th string matched by `org-babel-src-block-regexp' > > 5. The first string matched by `org-babel-multi-line-header-regexp' > > 1, 4 and 5 are strings. 2 and 3 are lists. Wow - there are many... But this helps quite a bit. > >> > [more questions deleted] >> > > Exactly what happens and when is a long story, involving a bunch of > functions. > > You might start by reading `org-babel-get-src-block-info' and > `org-babel-merge-params'. > > I think most of what you need to know really is in > > (info "(org) Using header arguments") > and > (info "(org) Property syntax") > > Just remember that a property called `header-args' is a string until Babel > starts working on it. So your original code, returns the "property called 'header-args'", (1) while your function below returns the one from 2) above. That clarifies. > > >> 5) Is there any way in getting, in this function, the same output >> (header-args) as from the code block suggested by Charles: >> > > You might try Thanks - but I was thinking about the ot=her way round, how I could get the "property called 'header-args'" (1) within the function called when using C-c C-v C-i to help in debugging - found a way of doing it and will send a patch. > #+BEGIN_SRC emacs-lisp :results pp > (cons (org-entry-get (point) "header-args" t) > (nth 2 (org-babel-get-src-block-info))) > #+END_SRC > > HTH, Most definitely, Thanks, Rainer > > Chuck > > > -- Rainer M. Krug email: Rainerkrugsde PGP: 0x0F52F982