>From 63ab1d364f0e425d8d02ce946021611a1a3b7ce6 Mon Sep 17 00:00:00 2001 From: Thierry Banel Date: Thu, 4 Sep 2014 19:30:54 +0200 Subject: [PATCH] Enable multiple files in :includes header * ob-C.el (org-babel-C-expand-C) (org-babel-C-expand-D): :includes, :defines, :imports now accept several items separated by blanks without enclosing them in parenthesis. Thanks to Will Everett for reporting this. --- lisp/ob-C.el | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/lisp/ob-C.el b/lisp/ob-C.el index 076276e..c42ccea 100644 --- a/lisp/ob-C.el +++ b/lisp/ob-C.el @@ -186,13 +186,26 @@ it's header arguments." (let ((vars (mapcar #'cdr (org-babel-get-header params :var))) (colnames (cdar (org-babel-get-header params :colname-names))) (main-p (not (string= (cdr (assoc :main params)) "no"))) - (includes (or (cdr (assoc :includes params)) - (org-babel-read (org-entry-get nil "includes" t)))) + (includes (org-babel-read + (or (cdr (assoc :includes params)) + (org-entry-get nil "includes" t)) + nil)) (defines (org-babel-read (or (cdr (assoc :defines params)) - (org-babel-read (org-entry-get nil "defines" t)))))) - (unless (listp includes) (setq includes (list includes))) + (org-entry-get nil "defines" t)) + nil))) + (when (stringp includes) + (setq includes (split-string includes))) (setq includes (append includes '("" "" ""))) + (when (stringp defines) + (let ((y nil) + (result (list t))) + (dolist (x (split-string defines)) + (if (null y) + (setq y x) + (nconc result (list (concat y " " x))) + (setq y nil))) + (setq defines (cdr result)))) (mapconcat 'identity (list ;; includes @@ -225,7 +238,8 @@ it's header arguments." (main-p (not (string= (cdr (assoc :main params)) "no"))) (imports (or (cdr (assoc :imports params)) (org-babel-read (org-entry-get nil "imports" t))))) - (unless (listp imports) (setq imports (list imports))) + (when (stringp imports) + (setq imports (split-string imports))) (setq imports (append imports '("std.stdio" "std.conv"))) (mapconcat 'identity (list -- 1.9.1