1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-24 12:20:20 +02:00

Heed the reader settings implied by #!r6rs

When encountering the #!r6rs directive, apply the appropriate reader
settings to the port.

* libguile/read.scm (read-string-as-list): New helper procedure.
  (scm_read_shebang): Set reader options implied by the R6RS syntax
  upon encountering the #!r6rs directive.
* test-suite/tests/reader.test (per-port-read-options): Add tests for
  the #!r6rs directive.
This commit is contained in:
Andreas Rottmann 2015-07-28 23:06:36 +02:00 committed by Andy Wingo
parent aa13da5189
commit d77247b90b
3 changed files with 97 additions and 8 deletions

20
NEWS
View file

@ -738,6 +738,26 @@ longer installed to the libdir. This change should be transparent to
users, but packagers may be interested.
Changes in 2.0.12 (since 2.0.11):
[Note: these changes come to 2.2 via 2.0 branch, but 2.0.12 hasn't been
released yet at the time of this writing.]
* Notable changes
** The #!r6rs directive now influences read syntax
The #!r6rs directive now changes the per-port reader options to make
Guile's reader conform more closely to the R6RS syntax. In particular:
- It makes the reader case sensitive.
- It disables the recognition of keyword syntax in conflict with the
R6RS (and R5RS).
- It enables the `square-brackets', `hungry-eol-escapes' and
`r6rs-hex-escapes' reader options.
Changes in 2.0.11 (since 2.0.10):