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 block of fortran or fortran code with org-babel according to its header arguments.

Source Code

;; Defined in /usr/src/emacs/lisp/org/ob-fortran.el.gz
(defun org-babel-expand-body:fortran (body params)
  "Expand a block of fortran or fortran code with org-babel according to
its header arguments."
  (let ((vars (org-babel--get-vars 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")
		      body)
		     params)
		  body) "\n") "\n")))