From: "Sebastien Vauban" <sva-news-D0wtAvR13HarG/iDocfnWg@public.gmane.org>
To: emacs-orgmode-mXXj517/zsQ@public.gmane.org
Subject: Re: [Babel] Lisp error: (wrong-type-argument listp hline)
Date: Tue, 24 Sep 2013 10:43:07 +0200 [thread overview]
Message-ID: <86fvsuk3tw.fsf@somewhere.org> (raw)
In-Reply-To: 87ob7j15ci.fsf@gmail.com
Hi Eric,
Eric Schulte wrote:
> I think you're confused by headers which are re-added by the colnames
> machinery.
Blush! I mixed the two in my head, yes.
> See the following which returns scalar output avoiding any colnames
> post-processing.
Why are you talking of *post* processing machinery for colnames?
The documentation[1] says that ":colnames no" means "no column name *pre*
processing takes place."
I may miss something important here.
> #+Property: results scalar
>
> #+name: table
> | Key | Value |
> |-----+-------|
> | ABJ | 1 |
> | DEK | 2 |
>
> #+begin_src emacs-lisp :var data=table :hlines no
> data
> #+end_src
>
> #+RESULTS:
> : (("Key" "Value") ("ABJ" 1) ("DEK" 2))
>
> #+begin_src emacs-lisp :var data=table :hlines yes
> data
> #+end_src
>
> #+RESULTS:
> : (("Key" "Value") hline ("ABJ" 1) ("DEK" 2))
>
>> * Set :hlines to "yes"
>>
>> `:hlines yes' should leave the horizontal line, but generates an error.
>>
>> #+begin_src emacs-lisp :var data=table :results output :hlines yes
>> (mapc (lambda (item) (princ (format "UPDATE dim SET val=%s WHERE code='%s'\n"
>> (nth 1 item) (nth 0 item))))
>> data)
>> #+end_src
>
> This is not a babel error, this is an error in your code block body,
> which assumes that every element of `data' will be a list. The symbol
> `hline' is not a list.
OK, that now becomes clear to me!
>> Finally, how am I then supposed to *ignore the header line*? By adding
>>
>> #+begin_src emacs-lisp
>> (setq table (cdr table))
>> #+end_src
>>
>> ?
>>
>> Do I have to do that explicitly in my code block, or is there an option for
>> telling that to Babel?
>
> Use the :colnames processing to strip the headings.
>
> #+begin_src emacs-lisp :var data=table :colnames yes
> data
> #+end_src
>
> #+RESULTS:
> : (("ABJ" 1) ("DEK" 2))
I always wondered why emacs-lisp is the _only_ language with ":colnames no" as
its default. Is there a reason therefore? If no really good reason, could we
suppress that?
Best regards,
Seb
--
Sebastien Vauban
[1] http://orgmode.org/org.html#colnames
next prev parent reply other threads:[~2013-09-24 8:43 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-23 14:16 [Babel] Lisp error: (wrong-type-argument listp hline) Sebastien Vauban
2013-09-23 23:26 ` Eric Schulte
2013-09-24 8:43 ` Sebastien Vauban [this message]
2013-09-28 12:21 ` [Babel] :colnames "no" no longer default for Emacs Lisp [Was] " Eric Schulte
2013-09-30 9:03 ` Sebastien Vauban
2013-10-01 22:04 ` Thomas S. Dye
2013-10-02 13:13 ` Eric Schulte
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86fvsuk3tw.fsf@somewhere.org \
--to=sva-news-d0wtavr13harg/idocfnwg@public.gmane.org \
--cc=emacs-orgmode-mXXj517/zsQ@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).