summaryrefslogtreecommitdiff
path: root/module/system/repl/coop-server.scm
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2016-06-21 16:01:50 +0200
committerAndy Wingo <wingo@pobox.com>2016-06-21 16:01:50 +0200
commitd0d14f410dd7d64c3852c764f2eb6aabc89ef211 (patch)
treef89e068f338cd8f45f35ea1aace55d04166cca43 /module/system/repl/coop-server.scm
parentbcc3c6b61b3d1ff411578182c0d5c2604223ab61 (diff)
downloadguile-d0d14f410dd7d64c3852c764f2eb6aabc89ef211.tar.gz
Importing modules with #:select no longer grovels private bindings
* module/ice-9/boot-9.scm (resolve-interface): Don't look in private interface for #:select bindings. Fixes #17418. * module/system/repl/coop-server.scm: Don't rely on bad #:select behavior. * NEWS: Add entry.
Diffstat (limited to 'module/system/repl/coop-server.scm')
-rw-r--r--module/system/repl/coop-server.scm14
1 files changed, 9 insertions, 5 deletions
diff --git a/module/system/repl/coop-server.scm b/module/system/repl/coop-server.scm
index c19dda191..f3f5116a9 100644
--- a/module/system/repl/coop-server.scm
+++ b/module/system/repl/coop-server.scm
@@ -25,14 +25,18 @@
#:use-module (ice-9 threads)
#:use-module (ice-9 q)
#:use-module (srfi srfi-9)
- #:use-module ((system repl repl)
- #:select (start-repl* prompting-meta-read))
- #:use-module ((system repl server)
- #:select (run-server* make-tcp-server-socket
- add-open-socket! close-socket!))
+ #:use-module ((system repl server) #:select (make-tcp-server-socket))
#:export (spawn-coop-repl-server
poll-coop-repl-server))
+;; Hack to import private bindings from (system repl repl).
+(define-syntax-rule (import-private module sym ...)
+ (begin
+ (define sym (@@ module sym))
+ ...))
+(import-private (system repl repl) start-repl* prompting-meta-read)
+(import-private (system repl server) run-server* add-open-socket! close-socket!)
+
(define-record-type <coop-repl-server>
(%make-coop-repl-server mutex queue)
coop-repl-server?