4949(require 'apropos )
5050
5151(defconst cider-error-buffer " *cider-error*" )
52+ (defconst cider-read-eval-buffer " *cider-read-eval*" )
5253(defconst cider-doc-buffer " *cider-doc*" )
5354(defconst cider-result-buffer " *cider-result*" )
5455(defconst cider-nrepl-session-buffer " *cider-nrepl-session*" )
@@ -422,7 +423,6 @@ Returns to the buffer in which the command was invoked."
422423 (cider-repl-clear-buffer)
423424 (switch-to-buffer origin-buffer)))
424425
425- ; ;; Minibuffer eval
426426(defvar cider-minibuffer-history '()
427427 " History list of expressions read from the minibuffer." )
428428
@@ -445,12 +445,7 @@ reading input."
445445 (run-hooks 'eval-expression-minibuffer-setup-hook ))
446446 (read-from-minibuffer prompt initial-value
447447 cider-minibuffer-map nil
448- cider-minibuffer-history)))
449-
450- (defun cider-read-and-eval ()
451- " Read a sexp from the minibuffer and output its result to the echo area."
452- (interactive )
453- (cider-interactive-eval (cider-read-from-minibuffer " CIDER Eval: " )))
448+ 'cider-minibuffer-history )))
454449
455450
456451; ;; Utilities
@@ -1378,6 +1373,19 @@ With a PREFIX argument, print the result in the current buffer."
13781373 (goto-char (match-beginning 0 ))
13791374 (cider-eval-defun-at-point))))
13801375
1376+ (defun cider-read-and-eval ()
1377+ " Read a sexp from the minibuffer and output its result to the echo area."
1378+ (interactive )
1379+ (let* ((form (cider-read-from-minibuffer " CIDER Eval: " ))
1380+ (ns-form (if (cider-ns-form-p form) " " (cider-ns-form))))
1381+ (with-current-buffer (get-buffer-create cider-read-eval-buffer)
1382+ (erase-buffer )
1383+ (clojure-mode)
1384+ (insert ns-form " \n " )
1385+ (let ((start-pos (point )))
1386+ (insert form)
1387+ (cider-interactive-eval form start-pos)))))
1388+
13811389
13821390; ; Connection and REPL
13831391
0 commit comments