[Top][All Lists]

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

Gambit v4.9.4 problems

From: Tara Lorenz
Subject: Gambit v4.9.4 problems
Date: Sun, 16 Jan 2022 16:50:26 +0100

Hello all,

i experience a problem with the recently released Gambit 4.9.4.  One of
the problems is that the builtin geiser module is named differently now,
'_geiser' instead of 'gambit/geiser'.  The attached patch seems to fix the
problem.  I have to admit that i didn't test whether older versions
of gambit still work though.  To make things easy, i renamed the
namespace used in the geiser provided scheme-implementation to match the
new upstream one.  I don't know if this might lead to some controversy.

The other problem i ran into was, that load-file (C-c C-l) no longer
works.  It seems to me that including "~~lib/gambit/prim/prim#.scm"
isn't enough, 'load' will still be unknown.  Thus leading to an error
message complaining about an '#!unbound' var where 'load' is expected.

Cheers, Tara
>From 62f4c082a00e16b058da2a7b9d1327d850f884bd Mon Sep 17 00:00:00 2001
From: Tara Lorenz <>
Date: Sat, 15 Jan 2022 21:50:48 +0100
Subject: [PATCH] Adjust to namespace changes in gambit v4.9.4

The namespace (and path) of the builtin geiser module changed from
gambit/geiser to _geiser

- geiser-gambit--parameters uses correct builtin module path
- changed namespace for the version shipping with geiser to the same
  as used in upstream gambit
- changed uses of namespace in geiser-gambit.el accordingly
 geiser-gambit.el      | 14 +++++++-------
 src/geiser/gambit.scm |  2 +-
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/geiser-gambit.el b/geiser-gambit.el
index f8a80be..fc4f26f 100644
--- a/geiser-gambit.el
+++ b/geiser-gambit.el
@@ -126,7 +126,7 @@ If t, Geiser will use `next-error' to jump to the error's 
   :group 'geiser-gambit)
 ;;; evaluation support when module loaded at opening
-;;; the gambit/geiser# is the namespace of geiser module for gambit
+;;; the _geiser# is the namespace of geiser module for gambit
 (defun geiser-gambit--geiser-procedure (proc &rest args)
   "Transform PROC in string for a scheme procedure using ARGS."
   (cl-case proc
@@ -139,15 +139,15 @@ If t, Geiser will use `next-error' to jump to the error's 
                            (concat "'" (car args)))
-            (cmd (format "(gambit/geiser#geiser:eval %s '%s)" module form)))
+            (cmd (format "(_geiser#geiser:eval %s '%s)" module form)))
     ((load-file compile-file)
-     (format "(gambit/geiser#geiser:load-file %s)" (car args)))
+     (format "(_geiser#geiser:load-file %s)" (car args)))
-     "(gambit/geiser#geiser:no-values)")
+     "(_geiser#geiser:no-values)")
      (let ((form (mapconcat 'identity args " ")))
-       (format "(gambit/geiser#geiser:%s %s)" proc form)))))
+       (format "(_geiser#geiser:%s %s)" proc form)))))
 ;;(defconst geiser-gambit--module-re
 ;;  "( *module +\\(([^)]+)\\|[^ ]+\\)\\|( *define-library +\\(([^)]+)\\|[^ 
@@ -314,8 +314,8 @@ If t, Geiser will use `next-error' to jump to the error's 
   (let* ((v (geiser-gambit--version (geiser-gambit--binary)))
         (gambit-version (geiser--cut-version v)))
     (if (version< gambit-version "4.9.4")
-       `( "-:d-" ,(expand-file-name "geiser/gambit.scm" 
geiser-gambit-scheme-dir) "-" )
-      `("-:d-" "gambit/geiser.scm" "-"))))
+    `( "-:d-" ,(expand-file-name "geiser/gambit.scm" geiser-gambit-scheme-dir) 
"-" )
+      `("-:d-" "_geiser" "-"))))
 (defun connect-to-gambit ()
diff --git a/src/geiser/gambit.scm b/src/geiser/gambit.scm
index e7c760c..cff56ff 100644
--- a/src/geiser/gambit.scm
+++ b/src/geiser/gambit.scm
@@ -1,6 +1,6 @@
 ;; scheme
 ;;; gambit.scm gambit geiser interaction
-(##namespace ("gambit/geiser#")) ;; in gambit/geiser#
+(##namespace ("_geiser#")) ;; in _geiser#
 (##include "~~lib/gambit#.scm") ;; for macro-check-string,
 ;; macro-absent-obj, etc

reply via email to

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