summaryrefslogtreecommitdiff
path: root/elisp/geiser-racket.el
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2010-11-09 21:52:56 +0100
committerJose Antonio Ortega Ruiz <jao@gnu.org>2010-11-09 21:52:56 +0100
commit27916d2da2e43f231daff12249b19701f5a27b4f (patch)
tree8425627764ba5a195a25665da5a2c62ce2f221bd /elisp/geiser-racket.el
parentd830e14a4010284b4085d9942bfd856b0360d793 (diff)
parentf2bf4b2cda05fe8c32ee74ce3b5cce743d81de61 (diff)
downloadgeiser-guile-27916d2da2e43f231daff12249b19701f5a27b4f.tar.gz
geiser-guile-27916d2da2e43f231daff12249b19701f5a27b4f.tar.bz2
Merge branch 'master' into guile-meta
Conflicts: elisp/geiser-guile.el
Diffstat (limited to 'elisp/geiser-racket.el')
-rw-r--r--elisp/geiser-racket.el18
1 files changed, 16 insertions, 2 deletions
diff --git a/elisp/geiser-racket.el b/elisp/geiser-racket.el
index c32bcc9..8c66e67 100644
--- a/elisp/geiser-racket.el
+++ b/elisp/geiser-racket.el
@@ -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
@@ -168,7 +169,7 @@ This function uses `geiser-racket-init-file' if it exists."
(defsubst geiser-racket--get-help (symbol module)
(geiser-eval--send/wait
- `(:eval (get-help ',symbol (:module ,module)) geiser/autodoc)))
+ `(:eval (get-help ',symbol '(:module ,module)) geiser/autodoc)))
(defun geiser-racket--external-help (id module)
(message "Requesting help for '%s'..." id)
@@ -222,6 +223,18 @@ This function uses `geiser-racket-init-file' if it exists."
(geiser-racket--explicit-module)))
+;;; Remote REPLs
+
+(defun connect-to-racket ()
+ "Start a Racket REPL connected to a remote process.
+
+The remote process needs to be running a REPL server started
+using start-geiser, a procedure in the geiser/server module."
+ (interactive)
+ (geiser-connect 'racket))
+
+
+
;;; Implementation definition:
(define-geiser-implementation racket
@@ -229,6 +242,7 @@ This function uses `geiser-racket-init-file' if it exists."
(binary geiser-racket--binary)
(arglist geiser-racket--parameters)
(startup)
+ (eot-regexp "\0")
(prompt-regexp geiser-racket--prompt-regexp)
(marshall-procedure geiser-racket--geiser-procedure)
(find-module geiser-racket--get-module)