|
@@ -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
|