branch: elpa/geiser-gauche
commit dfc309010ac840577acb279dd27ac42105323bcf
Author: András Simonyi <[email protected]>
Commit: András Simonyi <[email protected]>
Correctly detect version with Gauche 0.9.6
---
geiser-gauche.el | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/geiser-gauche.el b/geiser-gauche.el
index 75fcdb4..2cdd718 100644
--- a/geiser-gauche.el
+++ b/geiser-gauche.el
@@ -170,7 +170,7 @@
(defconst geiser-gauche--prompt-regexp "gosh\\(\\[[^(]+\\]\\)?> ")
-(defconst geiser-gauche--minimum-version "0.9.9")
+(defconst geiser-gauche--minimum-version "0.9.6")
(defconst geiser-gauche--exit-command
"(exit)")
@@ -189,7 +189,14 @@
(defun geiser-gauche--version (binary)
"Return the version of a Gauche BINARY."
- (cadr (read (cadr (process-lines binary "-V")))))
+ (let ((v (process-lines binary "-V")))
+ (if (< 1 (length v))
+ ;; Multiline version info is (hopefully) a sexp.
+ (cadr (read (cadr v)))
+ ;; One line is a free-text version description string.
+ (let* ((s (car v))
+ (start (string-match "version" (car v))))
+ (substring s (+ start 8) (+ start 13))))))
(defun geiser-gauche--startup (_remote)
"Initialize a Gauche REPL."