Function: ob-clojure-eval-with-inf-clojure
ob-clojure-eval-with-inf-clojure is a byte-compiled function defined
in ob-clojure.el.gz.
Signature
(ob-clojure-eval-with-inf-clojure EXPANDED PARAMS)
Documentation
Evaluate EXPANDED code block with PARAMS using inf-clojure.
Source Code
;; Defined in /usr/src/emacs/lisp/org/ob-clojure.el.gz
(defun ob-clojure-eval-with-inf-clojure (expanded params)
"Evaluate EXPANDED code block with PARAMS using inf-clojure."
(org-require-package 'inf-clojure)
;; Maybe initiate the inf-clojure session
(unless (and inf-clojure-buffer
(buffer-live-p (get-buffer inf-clojure-buffer)))
(save-window-excursion
(let* ((alias (cdr (assq :alias params)))
(cmd0 (inf-clojure-cmd (inf-clojure-project-type)))
(cmd (if alias (replace-regexp-in-string
"clojure" (format "clojure -A%s" alias)
cmd0)
cmd0)))
(setq
org-babel-comint-prompt-regexp-old comint-prompt-regexp
comint-prompt-regexp inf-clojure-comint-prompt-regexp)
(funcall-interactively #'inf-clojure cmd)
(goto-char (point-max))))
(sit-for 1))
;; Now evaluate the code
(setq ob-clojure-inf-clojure-filter-out
(concat "^nil\\|nil$\\|\\s-*"
(or (cdr (assq :ns params))
org-babel-clojure-default-ns)
"=>\\s-*"))
(add-hook 'comint-preoutput-filter-functions
#'ob-clojure-inf-clojure-output)
(setq ob-clojure-inf-clojure-tmp-output nil)
(ob-clojure-with-temp-expanded expanded nil
(inf-clojure-eval-string exp))
(sit-for .5)
(remove-hook 'comint-preoutput-filter-functions
#'ob-clojure-inf-clojure-output)
;; And return the result
(ob-clojure-string-or-list
(delete nil
(mapcar
(lambda (s)
(unless (or (equal "" s)
(string-match-p "^Clojure" s))
s))
(reverse ob-clojure-inf-clojure-tmp-output)))))