From 5e74217c7cf07ad474cdce1a01e049492e7ef1b7 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 4 Feb 2014 12:08:48 -0500 Subject: [PATCH 1/4] REPL Server: Redirect warnings to client socket. * module/system/repl/server.scm (serve-client): Use parameterize. Redirect warnings to client socket. --- module/system/repl/server.scm | 16 +++++++--------- 1 file 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)) From 8a114e1b54d1711a6edfad1f8c78f54db7b8e157 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 4 Feb 2014 14:21:13 -0500 Subject: [PATCH 2/4] REPL Server: Remove unneeded error case in 'run-server'. * module/system/repl/server.scm (run-server): Remove case that handled 'interrupt' exceptions specially. It is no longer needed since e6c8e6047ed2e772cc4e1fb5ad4d389e5c616feb (REPL Server: Don't establish a SIGINT handler.) --- module/system/repl/server.scm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/module/system/repl/server.scm b/module/system/repl/server.scm index bbabaef38..4f3391c0b 100644 --- a/module/system/repl/server.scm +++ b/module/system/repl/server.scm @@ -76,10 +76,6 @@ ((port-closed? server-socket) ;; Shutting down. #f) - ((eq? k 'interrupt) - ;; Interrupt. - (close-socket! server-socket) - #f) (else (warn "Error accepting client" k args) ;; Retry after a timeout. From 8acd457958892f64c9f676b50b39a2a3061cbac3 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 5 Feb 2014 23:25:32 -0500 Subject: [PATCH 3/4] Document 'equal?' in list of R6RS incompatibilities. * doc/ref/r6rs.texi (R6RS Incompatibilities): Mention that 'equal?' may not terminate when applied to cyclic datums. --- doc/ref/r6rs.texi | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/ref/r6rs.texi b/doc/ref/r6rs.texi index 9c5984b39..e5ffb78e4 100644 --- a/doc/ref/r6rs.texi +++ b/doc/ref/r6rs.texi @@ -1,7 +1,7 @@ @c -*-texinfo-*- @c This is part of the GNU Guile Reference Manual. -@c Copyright (C) 2010, 2011, 2012, 2013 -@c Free Software Foundation, Inc. +@c Copyright (C) 2010, 2011, 2012, 2013, +@c 2014 Free Software Foundation, Inc. @c See the file guile.texi for copying conditions. @node R6RS Support @@ -100,6 +100,10 @@ ongoing to fix this. Guile does not prevent use of textual I/O procedures on binary ports. More generally, it does not make a sharp distinction between binary and textual ports (@pxref{R6RS Port Manipulation, binary-port?}). + +@item +Guile's implementation of @code{equal?} may fail to terminate when +applied to arguments containing cycles. @end itemize @node R6RS Standard Libraries From 40a723a92236fe4e58feb89057b4182b1fc76810 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 5 Feb 2014 23:40:25 -0500 Subject: [PATCH 4/4] Remove outdated documentation of LTDL_LIBRARY_PATH. * doc/ref/guile-invoke.texi (Environment Variables): Remove documentation of 'LTDL_LIBRARY_PATH'. --- doc/ref/guile-invoke.texi | 8 -------- 1 file changed, 8 deletions(-) diff --git a/doc/ref/guile-invoke.texi b/doc/ref/guile-invoke.texi index 29f3c93c8..95493dd00 100644 --- a/doc/ref/guile-invoke.texi +++ b/doc/ref/guile-invoke.texi @@ -412,14 +412,6 @@ Guile uses the environment variable @env{HOME}, the name of your home directory, to locate various files, such as @file{.guile} or @file{.guile_history}. -@item LTDL_LIBRARY_PATH -@vindex LTDL_LIBRARY_PATH -Guile now adds its install prefix to the @env{LTDL_LIBRARY_PATH}. - -Users may now install Guile in non-standard directories and run -`/path/to/bin/guile', without having also to set @env{LTDL_LIBRARY_PATH} -to include `/path/to/lib'. - @end table @c Local Variables: