Function: org-babel-execute:gnuplot

org-babel-execute:gnuplot is a byte-compiled function defined in ob-gnuplot.el.gz.

Signature

(org-babel-execute:gnuplot BODY PARAMS)

Documentation

Execute Gnuplot BODY according to PARAMS.

This function is called by org-babel-execute-src-block.

Source Code

;; Defined in /usr/src/emacs/lisp/org/ob-gnuplot.el.gz
(defun org-babel-execute:gnuplot (body params)
  "Execute Gnuplot BODY according to PARAMS.
This function is called by `org-babel-execute-src-block'."
  (org-require-package 'gnuplot)
  (let ((session (cdr (assq :session params)))
        (result-type (cdr (assq :results params)))
        (body (org-babel-expand-body:gnuplot body params))
	output)
    (save-window-excursion
      ;; evaluate the code body with gnuplot
      (if (string= session "none")
          (let ((script-file (org-babel-temp-file "gnuplot-script-")))
            (with-temp-file script-file
              (insert (concat body "\n")))
            (unless noninteractive (message "gnuplot \"%s\"" script-file))
            (setq output
                  (shell-command-to-string
		   (format
		    "gnuplot \"%s\""
		    (org-babel-process-file-name
		     script-file
		     (if (member system-type '(cygwin windows-nt ms-dos))
			 t nil)))))
            (unless noninteractive (message "%s" output)))
        (with-temp-buffer
          (insert (concat body "\n"))
          (gnuplot-mode)
          (gnuplot-send-buffer-to-gnuplot)))
      (if (member "output" (split-string result-type))
          output
	nil)))) ;; signal that output has already been written to file