emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] ob-shell: using a table variable with bash


From: Nicolas Goaziou
Subject: Re: [O] ob-shell: using a table variable with bash
Date: Wed, 08 Mar 2017 09:24:30 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)

Hello,

"George Kettleborough (EI)" <address@hidden> writes:

> I recently updated my org-mode from version 7 (I think) to the latest. 
> The behaviour of using a table as a variable in a shell code source 
> block has changed. I use to use it like this:
>
> #+BEGIN_SRC sh :results output :var table=synteny-names :separator ,
>    IFS=','
>    while read col1 col2; do
>        # do stuff
>    done <<EOF
>    $table
>    EOF
> #+END_SRC
>
> This just stopped working with the new version and I could not figure 
> out why for a long time. But I looked in the new ob-shell.el code and 
> figured out that when the shell is bash it now makes an associative 
> array if the variable is a table. I couldn't seem to find this 
> documented anywhere.
>
> This new behaviour seems like it would be useful in a lot of cases, but 
> in my case, the tables are not key-value pairs, they are merely things I 
> want to iterate over. I wonder if simply checking to see if :separator 
> is set and using the old behaviour if so would be better? This would 
> seem to be a fine fix which maintains backwards compatibility unless 
> there is a reason to set :separator but still expect the new
> behaviour.

I have no objection to this patch, but I think it needs to be
documented, if only as a code comment. IIRC, there is also some
documentation about "ob-shell" on Worg. It would be nice to document
this feature.

Also, could you provide a proper commit message?

Thank you.

Regards,

-- 
Nicolas Goaziou



reply via email to

[Prev in Thread] Current Thread [Next in Thread]