From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Eric Schulte" Subject: Re: Org-babel `:hlines yes` no longer working for python Date: Sat, 26 Jun 2010 10:08:07 -0700 Message-ID: <87bpaxbu2w.fsf@gmail.com> References: <87k4pl27vv.fsf@dustycloud.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from [140.186.70.92] (port=53526 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OSYrW-0005Mx-Gz for emacs-orgmode@gnu.org; Sat, 26 Jun 2010 13:08:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OSYrU-0005rh-SH for emacs-orgmode@gnu.org; Sat, 26 Jun 2010 13:08:14 -0400 Received: from mail-pv0-f169.google.com ([74.125.83.169]:60368) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OSYrU-0005rb-Me for emacs-orgmode@gnu.org; Sat, 26 Jun 2010 13:08:12 -0400 Received: by pvg11 with SMTP id 11so1638465pvg.0 for ; Sat, 26 Jun 2010 10:08:11 -0700 (PDT) In-Reply-To: <87k4pl27vv.fsf@dustycloud.org> (Christopher Allan Webber's message of "Sat, 26 Jun 2010 09:20:04 -0500") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Christopher Allan Webber Cc: emacs-orgmode@gnu.org Hi Christopher, Thanks for pointing this out, this is an error in the documentation, which I will update. The code you posted should generate the error you have received. Currently the only language which can handle hlines is emacs-lisp, all other languages will result in errors like the one you pasted below. That's not to say that it wouldn't be possible to add hline handling to other languages, or to maybe do something tricky like session-based evaluation in which an `hlines' variable was pre-initialized to some value, but I digress. Note that it *is* possible to have hlines in the output, using colnames, e.g. --8<---------------cut here---------------start------------->8--- #+tblname: A | a | b | c | |---+---+---| | d | e | f | | g | h | i | #+begin_src python :var tab=A :colnames yes return [[val + '*' for val in row] for row in tab] #+end_src #+results: | a | b | c | |----+----+----| | d* | e* | f* | | g* | h* | i* | --8<---------------cut here---------------end--------------->8--- which works because the hline, and the column names, are never made available to python, rather Babel holds onto them and then re-applies them to the source block's output. or even to have an elisp block add hlines to your results --8<---------------cut here---------------start------------->8--- #+tblname: many-cols | a | b | c | |---+---+---| | d | e | f | |---+---+---| | g | h | i | #+source: echo-table #+begin_src python :var tab=many-cols return tab #+end_src #+begin_src emacs-lisp :var table=echo-table (butlast (apply #'append (mapcar (lambda (el) (list el 'hline)) table))) #+end_src #+results: | a | b | c | |---+---+---| | d | e | f | |---+---+---| | g | h | i | --8<---------------cut here---------------end--------------->8--- Thanks for pointing this out! Best -- Eric Christopher Allan Webber writes: > Hello all, > > I was going through the tutorial and testing the :hlines yes feature as > described in the info manual. Unfortunately, the example given no > longer seems to work for python: > > #+tblname: many-cols > | a | b | c | > |---+---+---| > | d | e | f | > |---+---+---| > | g | h | i | > > #+source: echo-table > #+begin_src python :var tab=many-cols :hlines yes > return tab > #+end_src > > #+results: echo-table > | a | b | c | > | d | e | f | > | g | h | i | > > In the buffer *Org-Babel Error Output* I see: > > Traceback (most recent call last): > File "", line 6, in > File "", line 3, in main > NameError: global name 'hline' is not defined > > In emacs-lisp this still seems to work though. But I also see that in > emacs lisp hlines are represented by the hline symbol. I'm guessing > that the python equivalent was trying to do the same thing, but no hline > variable exists in python? > > Thanks! > - cwebb > > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode