From c3e497f394994cf89dd74087685acc82dc12b91d Mon Sep 17 00:00:00 2001 From: Eric Schulte Date: Sat, 7 Jun 2014 11:14:03 -0400 Subject: [PATCH] awk code blocks handle tabular input Protected by a new unit test. * lisp/ob-awk.el (org-babel-execute:awk): Use the `org-babel-awk-var-to-awk' function instead of a simple format string. --- lisp/ob-awk.el | 6 ++++-- testing/examples/ob-awk-test.org | 7 +++++++ testing/lisp/test-ob-awk.el | 5 +++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/lisp/ob-awk.el b/lisp/ob-awk.el index b3d4e284e..6c0fb86bb 100644 --- a/lisp/ob-awk.el +++ b/lisp/ob-awk.el @@ -70,8 +70,10 @@ called by `org-babel-execute-src-block'" (list org-babel-awk-command "-f" code-file cmd-line) (mapcar (lambda (pair) - (format "-v %s=%s" - (cadr pair) (cddr pair))) + (format "-v %s='%s'" + (cadr pair) + (org-babel-awk-var-to-awk + (cddr pair)))) (org-babel-get-header params :var)) (list in-file)) " "))) diff --git a/testing/examples/ob-awk-test.org b/testing/examples/ob-awk-test.org index 9a33bf824..63e070ff8 100644 --- a/testing/examples/ob-awk-test.org +++ b/testing/examples/ob-awk-test.org @@ -31,6 +31,13 @@ Use input file } #+end_src +#+name: awk-table-input +| a | b | c | + +#+begin_src awk :var a=awk-table-input + BEGIN{ print a; } +#+end_src + * Input data generators A code block to generate input stream #+name: genseq diff --git a/testing/lisp/test-ob-awk.el b/testing/lisp/test-ob-awk.el index 354610868..478b6a190 100644 --- a/testing/lisp/test-ob-awk.el +++ b/testing/lisp/test-ob-awk.el @@ -41,3 +41,8 @@ (org-babel-next-src-block 3) (should (= 150 (org-babel-execute-src-block))))) +(ert-deftest ob-awk/tabular-input () + "Test a code block as an input" + (org-test-at-id "9e998b2a-3581-43fe-b26d-07d3c507b86a" + (org-babel-next-src-block 4) + (should (equal '(("a" "b" "c")) (org-babel-execute-src-block)))))