[cc-ing gambit's mailing list, so that gambit users/developers can advise us on the recent changes affecting affecting geiser in 4.9.4]
Hi Tara, On Sun, Jan 16 2022, Tara Lorenz wrote: > 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. I don't use gambit myself, but i guess we could just tag a new version of the geiser-gambit package and redirect users having problems to previous geiser-gambit versions. One thing that we should do together with this patch is set geiser-gambit-minimum-version to v4.9.4, though. I'm waiting a couple of days in case someone sees a problem with that. > 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. So you patch below doesn't fix this problem, right? Any ideas from other gambit experts? Thanks! Cheers, jao > Cheers, Tara > From 62f4c082a00e16b058da2a7b9d1327d850f884bd Mon Sep 17 00:00:00 2001 > From: Tara Lorenz <t...@terralonza.de> > 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 > location." > :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 location." > (concat "'" (car args))) > (t > "#f"))) > - (cmd (format "(gambit/geiser#geiser:eval %s '%s)" module form))) > + (cmd (format "(_geiser#geiser:eval %s '%s)" module form))) > cmd)) > ((load-file compile-file) > - (format "(gambit/geiser#geiser:load-file %s)" (car args))) > + (format "(_geiser#geiser:load-file %s)" (car args))) > ((no-values) > - "(gambit/geiser#geiser:no-values)") > + "(_geiser#geiser:no-values)") > (t > (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 > location." > (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" "-")))) > > ;;;###autoload > (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 > > -- > 2.34.1 > -- What sane person could live in this world and not be crazy? -Ursula K. Le Guin, author