Hi,

Attached are two patches for geiser-chicken.el.

All the best.
Mario
-- 
http://parenteses.org/mario
>From b1f5e7c8c84b6a636c22ec4dba1c4508516a7412 Mon Sep 17 00:00:00 2001
From: Mario Domenech Goulart <ma...@parenteses.org>
Date: Thu, 17 Jan 2019 21:36:45 +0100
Subject: [PATCH 1/2] geiser-chicken.el: Fix jao's name

---
 elisp/geiser-chicken.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/elisp/geiser-chicken.el b/elisp/geiser-chicken.el
index 43d610e..1ace770 100644
--- a/elisp/geiser-chicken.el
+++ b/elisp/geiser-chicken.el
@@ -2,7 +2,7 @@
 
 ;; Copyright (C) 2014, 2015 Daniel Leslie
 
-;; Based on geiser-guile.el by Jose Antonio Ortego Ruize
+;; Based on geiser-guile.el by Jose Antonio Ortega Ruiz
 
 ;; This program is free software; you can redistribute it and/or
 ;; modify it under the terms of the Modified BSD License. You should
-- 
2.11.0

>From d87b72ce366bfb75dfd4d3230ac78d35301c2d6d Mon Sep 17 00:00:00 2001
From: Mario Domenech Goulart <ma...@parenteses.org>
Date: Thu, 17 Jan 2019 21:37:31 +0100
Subject: [PATCH 2/2] geiser-chicken.el: Use a more stable API to get CHICKEN's
 version

Avoid parsing csi's help message to get CHICKEN's version. Use a more
stable API to get it (`chicken-version').

As a beneficial side-effect, get rid of `seq-filter', which is not
available in Emacs 24.  Should fix
https://gitlab.com/jaor/geiser/issues/262
---
 elisp/geiser-chicken.el | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/elisp/geiser-chicken.el b/elisp/geiser-chicken.el
index 1ace770..b436d92 100644
--- a/elisp/geiser-chicken.el
+++ b/elisp/geiser-chicken.el
@@ -258,10 +258,14 @@ This function uses `geiser-chicken-init-file' if it exists."
 (defconst geiser-chicken-minimum-version "4.8.0.0")
 
 (defun geiser-chicken--version (binary)
-  (cadar
-   (seq-filter #'(lambda (l) (string-equal "Version" (car l)))
-	       (mapcar #'split-string 
-		       (process-lines binary "-version")))))
+  (shell-command-to-string
+   (format "%s -e '(display \
+                     (or (handle-exceptions exn \
+                           #f \
+                           (eval `(begin (import chicken.platform) \
+                                         (chicken-version)))) \
+                         (chicken-version)))'"
+           binary)))
 
 (defun connect-to-chicken ()
   "Start a Chicken REPL connected to a remote process."
-- 
2.11.0

Reply via email to