it seems that the :colnames header is not being respected on parsing the input to a `#+call:' line containing arguments, but is being applied to the output!

For example:

#+BEGIN_SRC org
* Identity
#+name: table
| a | b | c |
|---+---+---|
| 1 | 2 | 3 |

#+name: identity
#+BEGIN_SRC emacs-lisp :var table=table :colnames yes
        (mapcar 'identity table)
#+END_SRC

#+RESULTS: identity
| a | b | c |
|---+---+---|
| 1 | 2 | 3 |


#+call: identity()

#+RESULTS: identity()
| a | b | c |
|---+---+---|
| 1 | 2 | 3 |

#+call: identity(table=table)

#+RESULTS: identity(table=table)
| a | b | c |
|---+---+---|
| a | b | c |
|---+---+---|
| 1 | 2 | 3 |

* Mapping
#+name: map
#+BEGIN_SRC emacs-lisp :var table=table :colnames yes
        (mapcar (lambda (row) (mapcar 'identity row)) table)
#+END_SRC

#+RESULTS: map
| a | b | c |
|---+---+---|
| 1 | 2 | 3 |

#+call: map()

#+RESULTS: map()
| a | b | c |
|---+---+---|
| 1 | 2 | 3 |

All the following generate the error:

         /Wrong type argument: sequencep, hline/

because the header and hline are not stripped from the input.

#+call: map(table=table)

#+call: map(table=table) :colnames yes

#+call: map[:colnames yes](table=table) :colnames yes

#+END_SRC

Reply via email to