Hello, "George Kettleborough (EI)" <george.kettleboro...@earlham.ac.uk> 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