diff options
author | Sébastien Delafond <sdelafond@gmail.com> | 2014-07-13 13:35:27 +0200 |
---|---|---|
committer | Sébastien Delafond <sdelafond@gmail.com> | 2014-07-13 13:35:27 +0200 |
commit | e32a45ed36d6000db4b39171149072d11b77af72 (patch) | |
tree | b5f4a7d43022c08c3298e82b3e9fc50f68be660f /lisp/ob-scheme.el | |
parent | 7697fa4daf3ec84f85711a84035d8f0224afd4e3 (diff) |
Imported Upstream version 8.0.7
Diffstat (limited to 'lisp/ob-scheme.el')
-rw-r--r-- | lisp/ob-scheme.el | 53 |
1 files changed, 26 insertions, 27 deletions
diff --git a/lisp/ob-scheme.el b/lisp/ob-scheme.el index ce29928..89dd003 100644 --- a/lisp/ob-scheme.el +++ b/lisp/ob-scheme.el @@ -1,6 +1,6 @@ ;;; ob-scheme.el --- org-babel functions for Scheme -;; Copyright (C) 2010-2012 Free Software Foundation, Inc. +;; Copyright (C) 2010-2013 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Keywords: literate programming, reproducible research, scheme @@ -38,9 +38,6 @@ ;;; Code: (require 'ob) -(require 'ob-ref) -(require 'ob-comint) -(require 'ob-eval) (eval-when-compile (require 'cl)) (declare-function run-scheme "ext:cmuscheme" (cmd)) @@ -75,29 +72,31 @@ This function is called by `org-babel-execute-src-block'" (let* ((result-type (cdr (assoc :result-type params))) (org-babel-scheme-cmd (or (cdr (assoc :scheme params)) org-babel-scheme-cmd)) - (full-body (org-babel-expand-body:scheme body params))) - (read - (if (not (string= (cdr (assoc :session params)) "none")) - ;; session evaluation - (let ((session (org-babel-prep-session:scheme - (cdr (assoc :session params)) params))) - (org-babel-comint-with-output - (session (format "%S" org-babel-scheme-eoe) t body) - (mapc - (lambda (line) - (insert (org-babel-chomp line)) (comint-send-input nil t)) - (list body (format "%S" org-babel-scheme-eoe))))) - ;; external evaluation - (let ((script-file (org-babel-temp-file "scheme-script-"))) - (with-temp-file script-file - (insert - ;; return the value or the output - (if (string= result-type "value") - (format "(display %s)" full-body) - full-body))) - (org-babel-eval - (format "%s %s" org-babel-scheme-cmd - (org-babel-process-file-name script-file)) "")))))) + (full-body (org-babel-expand-body:scheme body params)) + (result (if (not (string= (cdr (assoc :session params)) "none")) + ;; session evaluation + (let ((session (org-babel-prep-session:scheme + (cdr (assoc :session params)) params))) + (org-babel-comint-with-output + (session (format "%S" org-babel-scheme-eoe) t body) + (mapc + (lambda (line) + (insert (org-babel-chomp line)) + (comint-send-input nil t)) + (list body (format "%S" org-babel-scheme-eoe))))) + ;; external evaluation + (let ((script-file (org-babel-temp-file "scheme-script-"))) + (with-temp-file script-file + (insert + ;; return the value or the output + (if (string= result-type "value") + (format "(display %s)" full-body) + full-body))) + (org-babel-eval + (format "%s %s" org-babel-scheme-cmd + (org-babel-process-file-name script-file)) ""))))) + (org-babel-result-cond (cdr (assoc :result-params params)) + result (read result)))) (defun org-babel-prep-session:scheme (session params) "Prepare SESSION according to the header arguments specified in PARAMS." |