"Sebastien Vauban" <wxhgmqzgw...@spammotel.com> writes: > Hi Eric, > > Eric Schulte wrote: >> Emacs Lisp is an exception in terms of colname processing, it has >> default header arguments set to pass column names through to the code >> block, where the processing may be done trivially in Emacs Lisp. > > OK, but I don't understand the precedence of header arguments. I thought that > a header argument given on the code block preempted all the other values > (system-wide default for all languages, language defaults, file-wide > arguments, and subtree arguments). > > Why isn't this true here as well? >
That is what is happening here, although combinations of :hlines and :colnames can be tricky. Especially weird, is that if you want to *unset* a header argument which is set at a higher level, you need to set it to '(), as in ":colnames '()". Cheers, > >>> * Call at export time >>> >>> #+call: ELisp-echo-1(data=input) >>> >>> I get: >>> >>> | id | var1 | >>> | id | var1 | >>> | obs1 | foo | >>> | obs2 | bar | >>> >>> Not at all what I was expecting... >> >> Agreed, I've just pushed up a fix, so the following now works. >> >> #+name: input >> | id | var1 | >> |------+------| >> | obs1 | foo | >> | obs2 | bar | >> >> #+name: ELisp-echo-1 >> #+begin_src emacs-lisp :var data=input :exports results >> data >> #+end_src >> >> #+call: ELisp-echo-1(data=input) >> >> #+RESULTS: ELisp-echo-1(data=input) >> | id | var1 | >> |------+------| >> | obs1 | foo | >> | obs2 | bar | >> >> Thanks for pointing this out. > > Here, I understand that the #+call line uses the default header argument set > on the language. So, that seems right to me as well... > > Thanks. > > Best regards, > Seb -- Eric Schulte http://cs.unm.edu/~eschulte