Function: org-babel-execute:fortran
org-babel-execute:fortran is a byte-compiled function defined in
ob-fortran.el.gz.
Signature
(org-babel-execute:fortran BODY PARAMS)
Documentation
Execute Fortran BODY according to PARAMS.
This function is called by org-babel-execute-src-block.
Source Code
;; Defined in /usr/src/emacs/lisp/org/ob-fortran.el.gz
(defun org-babel-execute:fortran (body params)
"Execute Fortran BODY according to PARAMS.
This function is called by `org-babel-execute-src-block'."
(let* ((tmp-src-file (org-babel-temp-file "fortran-src-" ".F90"))
(tmp-bin-file (org-babel-temp-file "fortran-bin-" org-babel-exeext))
(cmdline (cdr (assq :cmdline params)))
(flags (cdr (assq :flags params)))
(full-body (org-babel-expand-body:fortran body params)))
(with-temp-file tmp-src-file (insert full-body))
(org-babel-eval
(format "%s -o %s %s %s"
org-babel-fortran-compiler
(org-babel-process-file-name tmp-bin-file)
(mapconcat 'identity
(if (listp flags) flags (list flags)) " ")
(org-babel-process-file-name tmp-src-file)) "")
(let ((results
(org-trim
(org-remove-indentation
(org-babel-eval
(concat tmp-bin-file (if cmdline (concat " " cmdline) "")) "")))))
(org-babel-reassemble-table
(org-babel-result-cond (cdr (assq :result-params params))
(org-babel-read results)
(let ((tmp-file (org-babel-temp-file "f-")))
(with-temp-file tmp-file (insert results))
(org-babel-import-elisp-from-file tmp-file)))
(org-babel-pick-name
(cdr (assq :colname-names params)) (cdr (assq :colnames params)))
(org-babel-pick-name
(cdr (assq :rowname-names params)) (cdr (assq :rownames params)))))))