diff options
author | Andy Wingo <wingo@pobox.com> | 2017-03-28 21:27:11 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2017-03-28 21:27:11 +0200 |
commit | ce934bcd43654d7370767d8d399625d1d066f8b3 (patch) | |
tree | 24a67a2256b5514da4b5e3198b8d2b9ee5d402fd /NEWS | |
parent | a42bfae65f445178d3608433356ce132d1e7369e (diff) |
Add allow-legacy-syntax-objects? parameter
* module/ice-9/psyntax.scm (syntax?): Only recognize legacy syntax
objects if the new allow-legacy-syntax-objects? parameter is true.
* module/ice-9/boot-9.scm (allow-legacy-syntax-objects?): New
parameter.
* doc/ref/api-macros.texi (Syntax Transformer Helpers): Document the
horrible situation with legacy syntax objects.
* NEWS: Add entry.
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -6,6 +6,26 @@ Please send Guile bug reports to bug-guile@gnu.org. +Changes in 2.2.1 (since 2.2.0): + +* Notable changes + +** Syntax objects are now a distinct type + +It used to be that syntax objects were represented as a tagged vector. +These values could be forged by users to break scoping abstractions, +preventing the implementation of sandboxing facilities in Guile. We are +as embarrassed about the previous situation as we pleased are about the +fact that we've fixed it. + +Unfortunately, during the 2.2 stable series (or at least during part of +it), we need to support files compiled with Guile 2.2.0. These files +may contain macros that contain legacy syntax object constants. See the +discussion of "allow-legacy-syntax-objects?" in "Syntax Transformer +Helpers" in the manual for full details. + + + Changes in 2.2.0 (changes since the 2.0.x stable release series): * Notable changes |