summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2012-09-08 19:24:10 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2012-09-08 19:24:10 +0200
commita89a9860fc716e18516e50d1af796fdcdb1f072f (patch)
treeacdc3ed1b7f2ee6bcd24d659eefb7352bb2c5b1e
parent03a456dac47cb1bb16febc3a50cd6bde1f0e2875 (diff)
downloadgeiser-a89a9860fc716e18516e50d1af796fdcdb1f072f.tar.gz
geiser-a89a9860fc716e18516e50d1af796fdcdb1f072f.tar.bz2
Racket: new option to specify network interface for REPL server
In geiser-racket.sh, there's the new option -n, which uses a new hostname argument accepted by geiser/user's start-geiser function.
-rwxr-xr-xbin/geiser-racket.sh4
-rw-r--r--doc/repl.texi11
2 files changed, 9 insertions, 6 deletions
diff --git a/bin/geiser-racket.sh b/bin/geiser-racket.sh
index 5fdfffe..b3d96e9 100755
--- a/bin/geiser-racket.sh
+++ b/bin/geiser-racket.sh
@@ -9,11 +9,13 @@ exec racket -i -S "$top/racket" -l errortrace -cu "$0" ${1+"$@"}
(require (lib "cmdline.rkt"))
(define port (make-parameter 0))
+(define host (make-parameter #f (lambda (h) (and (string? h) h))))
(command-line
"run-racket.sh" (current-command-line-arguments)
(once-each
+ (("-n" "--hostname") n "Network hostname, or #f for all interfaces" (host n))
(("-p" "--port") p "Geiser server port" (port (string->number p)))))
(printf "Geiser server running at port ~a~%"
- ((dynamic-require 'geiser/server 'start-geiser) (port)))
+ ((dynamic-require 'geiser/server 'start-geiser) (port) (host)))
diff --git a/doc/repl.texi b/doc/repl.texi
index 560f3eb..dcc1bd0 100644
--- a/doc/repl.texi
+++ b/doc/repl.texi
@@ -75,11 +75,12 @@ In Racket, you have to use the REPL server that comes with Geiser. To
that end, put Geiser's Racket @file{scheme} directory in Racket's
collection search path and invoke @code{start-geiser} (a procedure in
the module @code{geiser/server}) somewhere in your program, passing it
-the desired port. This procedure will start the REPL server in a
-separate thread. For an example of how to do that, see the script
-@file{bin/geiser-racket.sh} in the source distribution, or, if you've
-compiled Geiser, @file{bin/geiser-racket-noinst} in the build directory,
-or, if you've installed Geiser, @file{geiser-racket} in
+the desired port and, if desired, network interface name. This
+procedure will start the REPL server in a separate thread. For an
+example of how to do that, see the script @file{bin/geiser-racket.sh} in
+the source distribution, or, if you've compiled Geiser,
+@file{bin/geiser-racket-noinst} in the build directory, or, if you've
+installed Geiser, @file{geiser-racket} in
@file{<installation-prefix>/bin}. These scripts start a new interactive
Racket that is also running a REPL server (they also load the errortrace
library to provide better diagnostics, but that's not strictly needed).