On 08/03/17 08:24, Nicolas Goaziou wrote:
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.
I can't actually find any documentation for ob-shell. I had to read the source code. I have documented it as a code comment in my patch (with proper commit message).
Thanks, George.
>From 97dadaf0ba0f18772d4d8ac968ea63374937b179 Mon Sep 17 00:00:00 2001 From: George Kettleborough <george.kettleboro...@earlham.ac.uk> Date: Wed, 8 Mar 2017 11:25:37 +0000 Subject: [PATCH] ob-shell: use old table var behaviour when sep is used When using the bash shell and an org table is used as a variable, the default behaviour is to declare it as a bash array. The generic behaviour is to convert the table to a string with columns separated by a given separator string. This allows a user to choose the generic behaviour by declaring the separator using a :separator option to the code block. --- lisp/ob-shell.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/ob-shell.el b/lisp/ob-shell.el index 9c22af8..8c7b4f1 100644 --- a/lisp/ob-shell.el +++ b/lisp/ob-shell.el @@ -140,7 +140,9 @@ This function is called by `org-babel-execute-src-block'." (defun org-babel--variable-assignments:bash (varname values &optional sep hline) "Represents the parameters as useful Bash shell variables." - (if (listp values) + ;; we declare org tables as bash array types, unless the user has + ;; set the :separator option + (if (and (listp values) (null sep)) (if (and (listp (car values)) (= 1 (length (car values)))) (org-babel--variable-assignments:bash_array varname values sep hline) (org-babel--variable-assignments:bash_assoc varname values sep hline)) -- 2.10.1.502.g6598894