summaryrefslogtreecommitdiff
path: root/elisp/geiser-eval.el
diff options
context:
space:
mode:
Diffstat (limited to 'elisp/geiser-eval.el')
-rw-r--r--elisp/geiser-eval.el10
1 files changed, 10 insertions, 0 deletions
diff --git a/elisp/geiser-eval.el b/elisp/geiser-eval.el
index 09f12da..ca0460f 100644
--- a/elisp/geiser-eval.el
+++ b/elisp/geiser-eval.el
@@ -117,6 +117,16 @@
(defsubst geiser-eval--send/result (code &optional timeout buffer)
(geiser-eval--retort-result (geiser-eval--send/wait code timeout buffer)))
+(defun geiser-eval--send-region (compile start end and-go)
+ (let* ((str (buffer-substring-no-properties start end))
+ (code `(,(if compile :comp :eval) (:scm ,str)))
+ (ret (geiser-eval--send/wait code)))
+ (when and-go
+ (switch-to-guile)
+ (push-mark)
+ (goto-char (point-max)))
+ ret))
+
;;; Retort parsing: