From a704ce489658d4b4051d8df46450bf467f1fa19d Mon Sep 17 00:00:00 2001 From: Eric Schulte Date: Wed, 16 Sep 2009 16:21:45 -0600 Subject: [PATCH] org-babel-asymptote now supports interactive viewing if the :file header argument is missing --- contrib/babel/lisp/langs/org-babel-asymptote.el | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/contrib/babel/lisp/langs/org-babel-asymptote.el b/contrib/babel/lisp/langs/org-babel-asymptote.el index b44e72699..8af97b02f 100644 --- a/contrib/babel/lisp/langs/org-babel-asymptote.el +++ b/contrib/babel/lisp/langs/org-babel-asymptote.el @@ -34,7 +34,9 @@ ;; ;; 2) we are generally only going to return results of type "file" ;; -;; 3) we are adding the "file" and "cmdline" header arguments +;; 3) we are adding the "file" and "cmdline" header arguments, if file +;; is omitted then the -V option is passed to the asy command for +;; interactive viewing ;; ;; 4) there are no variables (at least for now) @@ -60,14 +62,19 @@ called by `org-babel-execute-src-block'." (message "executing Asymptote source code block") (let* ((result-params (split-string (or (cdr (assoc :results params)) ""))) (out-file (cdr (assoc :file params))) - (format (or (and (string-match ".+\\.\\(.+\\)" out-file) + (format (or (and out-file + (string-match ".+\\.\\(.+\\)" out-file) (match-string 1 out-file)) "pdf")) (cmdline (cdr (assoc :cmdline params))) - (in-file (make-temp-file "org-babel-asymptote"))) + (in-file (make-temp-file "org-babel-asymptote")) + (cmd (concat "asy " + (if out-file + (concat "-globalwrite -f " format " -o " out-file) + "-V") + " " cmdline " " in-file))) (with-temp-file in-file (insert body)) - (message (concat "asy -globalwrite -f " format " -o " out-file " " cmdline " " in-file)) - (shell-command (concat "asy -globalwrite -f " format " -o " out-file " " cmdline " " in-file)) + (message cmd) (shell-command cmd) out-file)) (defun org-babel-prep-session:asymptote (session params) -- 2.11.4.GIT