1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

New function: install-r6rs!

* doc/ref/r6rs.texi (R6RS Incompatibilities): Document install-r6rs!.
* module/ice-9/boot-9.scm (install-r6rs!): New function.
This commit is contained in:
Andy Wingo 2019-09-25 21:57:03 +02:00
parent 8fd7914f35
commit 0bb980f120
2 changed files with 26 additions and 0 deletions

View file

@ -106,6 +106,19 @@ Guile's implementation of @code{equal?} may fail to terminate when
applied to arguments containing cycles. applied to arguments containing cycles.
@end itemize @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 @node R6RS Standard Libraries
@subsection R6RS Standard Libraries @subsection R6RS Standard Libraries

View file

@ -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} ;;; {Deprecated stuff}
;;; ;;;