diff options
Diffstat (limited to 'elisp')
-rw-r--r-- | elisp/geiser-eval.el | 1 | ||||
-rw-r--r-- | elisp/geiser-racket.el | 7 |
2 files changed, 5 insertions, 3 deletions
diff --git a/elisp/geiser-eval.el b/elisp/geiser-eval.el index df31594..ffe3306 100644 --- a/elisp/geiser-eval.el +++ b/elisp/geiser-eval.el @@ -113,6 +113,7 @@ module-exports, autodoc, callers, callees and generic-methods.") (mapconcat 'geiser-eval--scheme-str code " ") ")")))) ((symbolp code) (format "%s" code)) + ((stringp code) (format "%S" (substring-no-properties code))) (t (format "%S" code)))) diff --git a/elisp/geiser-racket.el b/elisp/geiser-racket.el index 0508d6c..cd4cc8a 100644 --- a/elisp/geiser-racket.el +++ b/elisp/geiser-racket.el @@ -98,12 +98,12 @@ This function uses `geiser-racket-init-file' if it exists." (defun geiser-racket--geiser-procedure (proc &rest args) (case proc ((eval compile) - (format ",geiser-eval %s %s %s" + (format ",geiser-eval %s %s %s\n" (or (car args) "#f") (geiser-racket--language) (mapconcat 'identity (cdr args) " "))) ((load-file compile-file) - (format ",geiser-eval geiser/main racket (geiser:%s %s)" + (format ",geiser-eval geiser/main racket (geiser:%s %s)\n" proc (car args))) ((no-values) ",geiser-no-values") (t (format ",apply geiser:%s (%s)" proc (mapconcat 'identity args " "))))) @@ -150,7 +150,8 @@ This function uses `geiser-racket-init-file' if it exists." (format "(require %s)" module))) (defun geiser-racket--exit-command () - (not (geiser-eval--send/result '(:eval (exit) geiser/emacs)))) + (comint-send-eof) + (get-buffer-process (current-buffer))) (defconst geiser-racket--binding-forms '(for for/list for/hash for/hasheq for/and for/or |