[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] [babel] lisp block evaluation vs. call
From: |
Andreas Leha |
Subject: |
[O] [babel] lisp block evaluation vs. call |
Date: |
Thu, 22 Mar 2012 09:26:28 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.94 (gnu/linux) |
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
- [O] [babel] lisp block evaluation vs. call,
Andreas Leha <=