summaryrefslogtreecommitdiff
path: root/elisp/geiser-debug.el
diff options
context:
space:
mode:
Diffstat (limited to 'elisp/geiser-debug.el')
-rw-r--r--elisp/geiser-debug.el9
1 files changed, 8 insertions, 1 deletions
diff --git a/elisp/geiser-debug.el b/elisp/geiser-debug.el
index 20db436..6393e7e 100644
--- a/elisp/geiser-debug.el
+++ b/elisp/geiser-debug.el
@@ -25,6 +25,7 @@
;;; Code:
+(require 'geiser-repl)
(require 'geiser-eval)
(require 'geiser-popup)
(require 'geiser-base)
@@ -93,8 +94,14 @@
(insert (format "%s%s\n" (make-string offset ?\ ) description))))
(defun geiser-debug--send-region (compile start end and-go)
- (let* ((ret (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))
(err (geiser-eval--retort-error ret)))
+ (when and-go
+ (switch-to-guile)
+ (push-mark)
+ (goto-char (point-max)))
(if (not err)
(message (format "=> %s" (geiser-eval--retort-result ret)))
(geiser-debug--display-retort str ret))))