Hi all,
there seems to be a bug in call lines:
Suppose, I have a src block with two parameters:
#+name: insert_hline
#+header: :var fulltable=mytable() :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
As first argument I would like to pass the results of a second
source block:
#+name: mytable
#+begin_src R
data.frame(par=1:3, val=1:3)
#+end_src
#+results: mytable
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
So, what I do is:
#+call: insert_hline(fulltable=mytable(),after_row=1) :hlines yes :colnames no
#+results: insert_hline(fulltable=mytable()
| 1 | 1 |
|---+---|
| 2 | 2 |
| 3 | 3 |
But the #+results: name is shortened.
So, the following won't produce another results block, but wrongly update
the block above:
#+call: insert_hline(fulltable=mytable(),after_row=2) :hlines yes :colnames no
The problem seems to be the ")" within the parameter list stopping
some parsing.
Note: This works as expected
#+call: insert_hline[:var fulltable=mytable() :var after_row=1]() :hlines yes
:colnames no
#+results: insert_hline[:var fulltable=mytable() :var after_row=1]()
| 1 | 1 |
|---+---|
| 2 | 2 |
| 3 | 3 |
#+call: insert_hline[:var fulltable=mytable() :var after_row=2]() :hlines yes
:colnames no
#+results: insert_hline[:var fulltable=mytable() :var after_row=2]()
| 1 | 1 |
| 2 | 2 |
|---+---|
| 3 | 3 |
Regards,
Andreas