diff options
author | Thierry Banel <tbanelwebmin@free.fr> | 2014-09-04 19:30:54 +0200 |
---|---|---|
committer | Bastien Guerry <bzg@altern.org> | 2014-10-12 14:00:51 +0200 |
commit | 4753bfa3bf6df5e2fa36818b6774f95632376520 (patch) | |
tree | 5c388f034cd55991a6014ba976daeb7ce8edcf36 | |
parent | 0e07eb5665bc3e4511e414a9be76a382aa2f7458 (diff) | |
download | org-mode-4753bfa3bf6df5e2fa36818b6774f95632376520.tar.gz |
Enable multiple files in :includes header
* ob-C.el (org-babel-C-expand-C, org-babel-C-expand-D): Let
:includes, :defines, :imports accept several items separated by
blanks without enclosing them in parenthesis.
Thanks to Will Everett for reporting this.
-rw-r--r-- | lisp/ob-C.el | 24 |
1 files 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 '("<string.h>" "<stdio.h>" "<stdlib.h>"))) + (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 |