summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2014-02-04 12:08:48 -0500
committerMark H Weaver <mhw@netris.org>2014-02-04 15:15:00 -0500
commit5e74217c7cf07ad474cdce1a01e049492e7ef1b7 (patch)
tree6f1d84f68981036645514e14d4f42acdbbaaef24
parentc8e839cfeb647aca034b9bcd5a321d419dedca1f (diff)
downloadguile-5e74217c7cf07ad474cdce1a01e049492e7ef1b7.tar.gz
REPL Server: Redirect warnings to client socket.
* module/system/repl/server.scm (serve-client): Use parameterize. Redirect warnings to client socket.
-rw-r--r--module/system/repl/server.scm16
1 files changed, 7 insertions, 9 deletions
diff --git a/module/system/repl/server.scm b/module/system/repl/server.scm
index 2df7564ac..bbabaef38 100644
--- a/module/system/repl/server.scm
+++ b/module/system/repl/server.scm
@@ -1,6 +1,6 @@
;;; Repl server
-;; Copyright (C) 2003, 2010, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2010, 2011, 2014 Free Software Foundation, Inc.
;; This library is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public
@@ -104,12 +104,10 @@
(define (serve-client client addr)
(with-continuation-barrier
(lambda ()
- (with-input-from-port client
- (lambda ()
- (with-output-to-port client
- (lambda ()
- (with-error-to-port client
- (lambda ()
- (with-fluids ((*repl-stack* '()))
- (start-repl))))))))))
+ (parameterize ((current-input-port client)
+ (current-output-port client)
+ (current-error-port client)
+ (current-warning-port client))
+ (with-fluids ((*repl-stack* '()))
+ (start-repl)))))
(close-socket! client))