Summary

r7rs "write" procedure does not escape "invalid" symbols

Metadata

Description

r7rs defines an alternative way to present a symbol that's otherwise invalid identifiers, by putting it inside `||`. This is implementation-specific in r5rs.

The problem can be seen with `(write (features))` where 64bit is not escaped (i.e. |64bit|) while it is for all the r7rs schemes I have my hands on.

This is not a problem when within chicken because both the reader and writer are in sync. I found this out because I updated chibi-snow to read `(features)` from chicken. Chibi does not like '64bit' symbol without ecaping.

Changes and comments

[2023-11-06 23:29:43 UTC] felix changed milestone from someday to 6.0.0

[2023-11-08 14:23:11 UTC] felix changed status from new to closed

[2023-11-08 14:23:11 UTC] felix set resolution to fixed

[2023-11-08 14:23:11 UTC] felix wrote:

Will be fixed in forthcoming CHICKEN 6