From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Schulte Subject: Re: [babel] BUG in call lines Date: Mon, 26 Mar 2012 07:20:57 -0400 Message-ID: <87k427r2mm.fsf@gmx.com> References: <87wr6dowlw.fsf@med.uni-goettingen.de> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:60062) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SCAW6-00073s-MU for emacs-orgmode@gnu.org; Mon, 26 Mar 2012 10:03:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SCAW1-00012Q-Dp for emacs-orgmode@gnu.org; Mon, 26 Mar 2012 10:03:26 -0400 Received: from mailout-us.gmx.com ([74.208.5.67]:38187) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1SCAW1-00011v-7r for emacs-orgmode@gnu.org; Mon, 26 Mar 2012 10:03:21 -0400 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: Andreas Leha Cc: emacs-orgmode@gnu.org Hi, Thanks for reporting this bug. I've just pushed up a patch. Cheers, Andreas Leha writes: > 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 > > -- Eric Schulte http://cs.unm.edu/~eschulte/