summaryrefslogtreecommitdiff
path: root/elisp/geiser-racket.el
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2013-09-25 05:10:00 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2013-09-25 05:10:00 +0200
commit2cb40f5a1f0115a995daa176208f76b674dd523e (patch)
tree815faf64ef3c8a212145a159dd35aaba7023d376 /elisp/geiser-racket.el
parent438e26d9e1759b85785637efc0b64e818e289e57 (diff)
downloadgeiser-chez-2cb40f5a1f0115a995daa176208f76b674dd523e.tar.gz
geiser-chez-2cb40f5a1f0115a995daa176208f76b674dd523e.tar.bz2
Scheme version checks
And, if you happen to be launching it all the time, a way of skipping them via a customizable variable. Should address issue #15.
Diffstat (limited to 'elisp/geiser-racket.el')
-rw-r--r--elisp/geiser-racket.el9
1 files changed, 8 insertions, 1 deletions
diff --git a/elisp/geiser-racket.el b/elisp/geiser-racket.el
index 9b98945..59886e3 100644
--- a/elisp/geiser-racket.el
+++ b/elisp/geiser-racket.el
@@ -358,7 +358,12 @@ using start-geiser, a procedure in the geiser/server module."
(with-handlers: 1))
-;;; Startup
+;;; REPL Startup
+
+(defvar geiser-racket-minimum-version "5.3")
+
+(defun geiser-racket--version (binary)
+ (shell-command-to-string (format "%s -e '(display (version))'" binary)))
(defun geiser-racket--startup (remote)
(set (make-local-variable 'compilation-error-regexp-alist)
@@ -412,6 +417,8 @@ Use a prefix to be asked for a submodule name."
(define-geiser-implementation racket
(unsupported-procedures '(callers callees generic-methods))
(binary geiser-racket--binary)
+ (minimum-version geiser-racket-minimum-version)
+ (version-command geiser-racket--version)
(arglist geiser-racket--parameters)
(repl-startup geiser-racket--startup)
(prompt-regexp geiser-racket--prompt-regexp)