From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Leha Subject: [babel] lisp block evaluation vs. call Date: Thu, 22 Mar 2012 09:26:28 +0100 Message-ID: <871uolqbwr.fsf@med.uni-goettingen.de> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:36728) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SAdPO-0001C2-7Y for emacs-orgmode@gnu.org; Thu, 22 Mar 2012 04:30:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SAdPJ-0002EL-Dn for emacs-orgmode@gnu.org; Thu, 22 Mar 2012 04:30:09 -0400 Received: from plane.gmane.org ([80.91.229.3]:47061) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SAdPJ-0002Cc-5p for emacs-orgmode@gnu.org; Thu, 22 Mar 2012 04:30:05 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1SAdPH-0004uU-EL for emacs-orgmode@gnu.org; Thu, 22 Mar 2012 09:30:03 +0100 Received: from genepi110.genepi.med.uni-goettingen.de ([134.76.140.110]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 22 Mar 2012 09:30:03 +0100 Received: from andreas.leha by genepi110.genepi.med.uni-goettingen.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 22 Mar 2012 09:30:03 +0100 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org 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