summaryrefslogtreecommitdiff
path: root/elisp/geiser-guile.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-guile.el
parent438e26d9e1759b85785637efc0b64e818e289e57 (diff)
downloadgeiser-guile-2cb40f5a1f0115a995daa176208f76b674dd523e.tar.gz
geiser-guile-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-guile.el')
-rw-r--r--elisp/geiser-guile.el7
1 files changed, 7 insertions, 0 deletions
diff --git a/elisp/geiser-guile.el b/elisp/geiser-guile.el
index 9182807..bc96973 100644
--- a/elisp/geiser-guile.el
+++ b/elisp/geiser-guile.el
@@ -289,6 +289,11 @@ This function uses `geiser-guile-init-file' if it exists."
;;; REPL startup
+(defconst geiser-guile-minimum-version "2.0")
+
+(defun geiser-guile--version (binary)
+ (shell-command-to-string (format "%s -c '(display (version))'" binary)))
+
(defun geiser-guile-update-warning-level ()
"Update the warning level used by the REPL.
The new level is set using the value of `geiser-guile-warning-level'."
@@ -364,6 +369,8 @@ it spawn a server thread."
(define-geiser-implementation guile
(binary geiser-guile--binary)
(arglist geiser-guile--parameters)
+ (version-command geiser-guile--version)
+ (minimum-version geiser-guile-minimum-version)
(repl-startup geiser-guile--startup)
(prompt-regexp geiser-guile--prompt-regexp)
(debugger-prompt-regexp geiser-guile--debugger-prompt-regexp)