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

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

[nongnu] elpa/geiser-chez af47e12809 1/4: fix: don't pollute global name


From: ELPA Syncer
Subject: [nongnu] elpa/geiser-chez af47e12809 1/4: fix: don't pollute global namespace with (geiser)'s exports
Date: Wed, 26 Oct 2022 21:58:38 -0400 (EDT)

branch: elpa/geiser-chez
commit af47e12809629239bdf7a660a7fe326159a50cf8
Author: jao <jao@gnu.org>
Commit: jao <jao@gnu.org>

    fix: don't pollute global namespace with (geiser)'s exports
---
 geiser-chez.el       | 19 +++++++++++--------
 src/geiser/geiser.ss |  5 +++--
 2 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/geiser-chez.el b/geiser-chez.el
index 1e847ef81c..8b7af24830 100644
--- a/geiser-chez.el
+++ b/geiser-chez.el
@@ -122,24 +122,27 @@ Return its local name."
 
 (defun geiser-chez--startup (_remote)
   "Startup function."
-  (let ((geiser-log-verbose-p t))
-    (compilation-setup t)
-    (geiser-eval--send/wait
-     "(begin (import (geiser)) (write `((result ) (output . \"\"))) 
(newline))")))
+  t)
 
 ;;; Evaluation support
 
+(defsubst geiser-chez--geiser-eval (str)
+  (format "(eval '%s (environment '(geiser)))" str))
+
+(defconst geiser-chez--ge (geiser-chez--geiser-eval "geiser:ge:eval"))
+(defconst geiser-chez--ev (geiser-chez--geiser-eval "geiser:eval"))
+(defconst geiser-chez--load (geiser-chez--geiser-eval "geiser:load-file"))
+
 (defun geiser-chez--geiser-procedure (proc &rest args)
   "Transform PROC in string for a scheme procedure using ARGS."
   (cl-case proc
     ((eval compile)
      (if (listp (cadr args))
-         (format "(geiser:ge:eval '%s '%s)" (car args) (cadr args))
-       (format "(geiser:eval '%s '%s)" (car args) (cadr args))))
+         (format "(%s '%s '%s)" geiser-chez--ge (car args) (cadr args))
+       (format "(%s '%s '%s)" geiser-chez--ev (car args) (cadr args))))
     ((load-file compile-file)
      (let ((lib (geiser-chez--current-library)))
-       (format "(geiser:load-file %s '%s)" (car args) (or lib "#f"))))
-    ((no-values) "(geiser:no-values)")
+       (format "(%s %s '%s)" geiser-chez--load (car args) (or lib "#f"))))
     (t (list (format "geiser:%s" proc) (mapconcat 'identity args " ")))))
 
 (defun geiser-chez--current-library ()
diff --git a/src/geiser/geiser.ss b/src/geiser/geiser.ss
index 0af9807765..aeb719eef5 100644
--- a/src/geiser/geiser.ss
+++ b/src/geiser/geiser.ss
@@ -22,7 +22,8 @@
           geiser:symbol-location
           geiser:module-location
           geiser:add-to-load-path
-          geiser:symbol-documentation)
+          geiser:symbol-documentation
+          quote)
 
   (import (chezscheme))
   (import (geiser-data))
@@ -201,7 +202,7 @@
 
   (define (geiser:ge:eval lib form)
     (parameterize ([current-library lib])
-      (call-with-result (lambda () (eval form)))))
+      (call-with-result (lambda () (eval form (environment '(geiser)))))))
 
   (define (geiser:completions prefix)
     (sort string-ci<?



reply via email to

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