emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/geiser-chicken 3486915 075/102: geiser-chicken.el: Use a m


From: Philip Kaludercic
Subject: [nongnu] elpa/geiser-chicken 3486915 075/102: geiser-chicken.el: Use a more stable API to get CHICKEN's version
Date: Sun, 1 Aug 2021 18:26:58 -0400 (EDT)

branch: elpa/geiser-chicken
commit 3486915cf8c92bc822c5b7db91a2bd4614fc909b
Author: Mario Domenech Goulart <mario@parenteses.org>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>

    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."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]