Hi all, Say, I have a lisp function working on (and returning a) table:
#+name: insert_hline #+header: :var fulltable=testtable :var after_row=1 #+begin_src emacs-lisp (let ((rrr (cons (quote hline) fulltable)) (bottomrows (nthcdr after_row fulltable)) (toprows (reverse (nthcdr (- (length fulltable) after_row) (reverse fulltable))))) (setcdr rrr bottomrows) (setcdr (nthcdr (- after_row 1) fulltable) rrr) fulltable) #+end_src Now, I want to apply it on this testtable: #+name: testtable | parameter | value | | amount | 1 | | margin | 12 | When evaluated directly, this works fine and as expected: #+results: insert_hline | parameter | value | |-----------+-------| | amount | 1 | | margin | 12 | But when I call this code block, I miss the header, even though the manual states #+begin_quote For example Emacs Lisp code blocks ignore the :colnames header argument entirely given the ease with which tables with column names may be handled directly in Emacs Lisp. #+end_quote #+call: insert_hline(fulltable=testtable, after_row=1) #+results: insert_hline(fulltable=testtable, after_row=1) | amount | 1 | | margin | 12 | If I want to get the header back, I have to explicitly state ':colnames yes' #+call: insert_hline(fulltable=testtable,after_row=1) :colnames yes #+results: insert_hline(fulltable=testtable,after_row=1) | parameter | value | |-----------+-------| | amount | 1 | | margin | 12 | I guess, that inconsistency I will have to live with? Best regards, Andreas