diff --git a/contrib/babel/lisp/langs/org-babel-C.el b/contrib/babel/lisp/langs/org-babel-C.el index f723ec3da..67ef7384d 100644 --- a/contrib/babel/lisp/langs/org-babel-C.el +++ b/contrib/babel/lisp/langs/org-babel-C.el @@ -77,6 +77,7 @@ called by `org-babel-execute-src-block'." (cmdline (cdr (assoc :cmdline params))) (flags (cdr (assoc :flags params))) (vars (second processed-params)) + (main-p (not (string= (cdr (assoc :main params)) "no"))) (includes (or (cdr (assoc :includes params)) (org-entry-get nil "includes" t))) (defines (org-babel-read @@ -95,7 +96,9 @@ called by `org-babel-execute-src-block'." ;; variables (mapconcat 'org-babel-C-var-to-C vars "\n") ;; body - "\n" (org-babel-C-ensure-main-wrap body) "\n") "\n")) + "\n" (if main-p + (org-babel-C-ensure-main-wrap body) + body) "\n") "\n")) (error-buf (get-buffer-create "*Org-Babel Error Output*")) (compile (progn