Function: org-babel-expand-body:fortran
org-babel-expand-body:fortran is a byte-compiled function defined in
ob-fortran.el.gz.
Signature
(org-babel-expand-body:fortran BODY PARAMS)
Documentation
Expand a fortran BODY according to its header arguments defined in PARAMS.
Source Code
;; Defined in /usr/src/emacs/lisp/org/ob-fortran.el.gz
(defun org-babel-expand-body:fortran (body params)
"Expand a fortran BODY according to its header arguments defined in PARAMS."
(let ((vars (org-babel--get-vars params))
(prologue (cdr (assq :prologue params)))
(epilogue (cdr (assq :epilogue params)))
(main-p (not (string= (cdr (assq :main params)) "no")))
(includes (or (cdr (assq :includes params))
(org-babel-read (org-entry-get nil "includes" t))))
(defines (org-babel-read
(or (cdr (assq :defines params))
(org-babel-read (org-entry-get nil "defines" t))))))
(mapconcat 'identity
(list
;; includes
(mapconcat
(lambda (inc) (format "#include %s" inc))
(if (listp includes) includes (list includes)) "\n")
;; defines
(mapconcat
(lambda (inc) (format "#define %s" inc))
(if (listp defines) defines (list defines)) "\n")
;; body
(if main-p
(org-babel-fortran-ensure-main-wrap
(concat
;; variables
(mapconcat 'org-babel-fortran-var-to-fortran vars "\n")
(and prologue (concat prologue "\n"))
body
(and prologue (concat prologue "\n")))
params)
(concat
(and prologue (concat prologue "\n"))
body
(and epilogue (concat "\n" epilogue "\n"))))
"\n")
"\n")))