[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 01/02: New function: install-r6rs!
From: |
Andy Wingo |
Subject: |
[Guile-commits] 01/02: New function: install-r6rs! |
Date: |
Wed, 25 Sep 2019 16:09:07 -0400 (EDT) |
wingo pushed a commit to branch master
in repository guile.
commit 0bb980f120a41b445d040869b5d9e211910ccf69
Author: Andy Wingo <address@hidden>
Date: Wed Sep 25 21:57:03 2019 +0200
New function: install-r6rs!
* doc/ref/r6rs.texi (R6RS Incompatibilities): Document install-r6rs!.
* module/ice-9/boot-9.scm (install-r6rs!): New function.
---
doc/ref/r6rs.texi | 13 +++++++++++++
module/ice-9/boot-9.scm | 13 +++++++++++++
2 files changed, 26 insertions(+)
diff --git a/doc/ref/r6rs.texi b/doc/ref/r6rs.texi
index 218dca3..62328be 100644
--- a/doc/ref/r6rs.texi
+++ b/doc/ref/r6rs.texi
@@ -106,6 +106,19 @@ Guile's implementation of @code{equal?} may fail to
terminate when
applied to arguments containing cycles.
@end itemize
+Guile exposes a procedure in the root module to choose R6RS defaults
+over Guile's historical defaults.
+
+@deffn {Scheme Procedure} install-r6rs!
+Alter Guile's default settings to better conform to the R6RS.
+
+While Guile's defaults may evolve over time, the current changes that
+this procedure imposes are to add @code{.sls} and @code{.guile.sls} to
+the set of supported @code{%load-extensions}, to better support R6RS
+conventions. @xref{Load Paths}. Also, enable R6RS unicode escapes in
+strings; see the discussion above.
+@end deffn
+
@node R6RS Standard Libraries
@subsection R6RS Standard Libraries
diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index f50448c..fd4e19c 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -4069,6 +4069,19 @@ when none is available, reading FILE-NAME with READER."
+;;; {R6RS and R7RS}
+;;;
+
+(define (install-r6rs!)
+ "Make changes to the default environment to better conform to the
+R6RS. @xref{R6RS Incompatibilities} in the manual."
+ (set! %load-extensions
+ (cons* ".guile.sls" ".sls"
+ (delete ".guile.sls" (delete ".sls" %load-extensions))))
+ (read-enable 'r6rs-hex-escapes))
+
+
+
;;; {Deprecated stuff}
;;;