>From 97dadaf0ba0f18772d4d8ac968ea63374937b179 Mon Sep 17 00:00:00 2001 From: George Kettleborough 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