summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2019-09-25 22:08:12 +0200
committerAndy Wingo <wingo@pobox.com>2019-09-25 22:08:12 +0200
commitafcc22f639665ed32f447c9a9f171c6871ae18b9 (patch)
tree484b5a52788113ebe8d55eeacf1fb95998ed0f41
parent0bb980f120a41b445d040869b5d9e211910ccf69 (diff)
downloadguile-afcc22f639665ed32f447c9a9f171c6871ae18b9.tar.gz
Add --r6rs command-line option
* doc/ref/guile-invoke.texi (Command-line Options): Document --r6rs. * doc/ref/r6rs.texi (R6RS Incompatibilities): Mention that --r6rs calls install-r6rs!. * module/ice-9/command-line.scm (*usage*, compile-shell-switches): Implement --r6rs.
-rw-r--r--doc/ref/guile-invoke.texi9
-rw-r--r--doc/ref/r6rs.texi4
-rw-r--r--module/ice-9/command-line.scm6
3 files changed, 17 insertions, 2 deletions
diff --git a/doc/ref/guile-invoke.texi b/doc/ref/guile-invoke.texi
index 171a30ada..d7b3d8a5f 100644
--- a/doc/ref/guile-invoke.texi
+++ b/doc/ref/guile-invoke.texi
@@ -1,7 +1,7 @@
@c -*-texinfo-*-
@c This is part of the GNU Guile Reference Manual.
-@c Copyright (C) 1996, 1997, 2000-2005, 2010, 2011, 2013, 2014,
-@c 2016 Free Software Foundation, Inc.
+@c Copyright (C) 1996-1997,2000-2005,2010-2011,2013-2014,2016,2019
+@c Free Software Foundation, Inc.
@c See the file guile.texi for copying conditions.
@node Invoking Guile
@@ -137,6 +137,11 @@ Here is an example that loads the modules SRFI-8 ('receive') and SRFI-13
guile --use-srfi=8,13
@end example
+@item --r6rs
+@cindex r6rs (command line)
+Adapt Guile's initial environment to better support R6RS. @xref{R6RS
+Incompatibilities}, for some caveats.
+
@item --debug
@cindex debugging virtual machine (command line)
Start with the debugging virtual machine (VM) engine. Using the
diff --git a/doc/ref/r6rs.texi b/doc/ref/r6rs.texi
index 62328be55..9d326ff09 100644
--- a/doc/ref/r6rs.texi
+++ b/doc/ref/r6rs.texi
@@ -119,6 +119,10 @@ conventions. @xref{Load Paths}. Also, enable R6RS unicode escapes in
strings; see the discussion above.
@end deffn
+Finally, note that the @code{--r6rs} command-line argument will call
+@code{install-r6rs!} before calling user code. R6RS users probably want
+to pass this argument to their Guile.
+
@node R6RS Standard Libraries
@subsection R6RS Standard Libraries
diff --git a/module/ice-9/command-line.scm b/module/ice-9/command-line.scm
index ab22dcafb..a74f7e7f8 100644
--- a/module/ice-9/command-line.scm
+++ b/module/ice-9/command-line.scm
@@ -138,6 +138,8 @@ If FILE begins with `-' the -s switch is mandatory.
-q inhibit loading of user init file
--use-srfi=LS load SRFI modules for the SRFIs in LS,
which is a list of numbers like \"2,13,14\"
+ --r6rs change initial Guile environment to better support
+ R6RS
-h, --help display this help and exit
-v, --version display version information and exit
\\ read arguments from following script lines"))
@@ -370,6 +372,10 @@ If FILE begins with `-' the -s switch is mandatory.
(parse args
(cons `(use-srfis ',srfis) out))))
+ ((string=? "--r6rs" arg)
+ (parse args
+ (cons '(install-r6rs!) out)))
+
((string=? arg "--listen") ; start a repl server
(parse args
(cons '((@@ (system repl server) spawn-server)) out)))