diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-06-15 07:26:29 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-06-15 07:26:29 -0700 |
commit | 561428042eeb26eb0d5c05c3985bd4c8ecdcec1d (patch) | |
tree | 8a968787519317a0ab97424632a25f366f119a8d /txr.1 | |
parent | d2d166856d477f271d17f7de431618481a68b3ab (diff) | |
download | txr-561428042eeb26eb0d5c05c3985bd4c8ecdcec1d.tar.gz txr-561428042eeb26eb0d5c05c3985bd4c8ecdcec1d.tar.bz2 txr-561428042eeb26eb0d5c05c3985bd4c8ecdcec1d.zip |
txr.1: Correction to compat note for 190.
* txr.1: When writing up the compatibility notes for version
190, I missed the change that defmacro and defsymacro were
switched away from instant evaluation by the macroexpander.
That change introduced a regression which I just noticed, and
this is noted also.
Diffstat (limited to 'txr.1')
-rw-r--r-- | txr.1 | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -82117,7 +82117,20 @@ symbol package didn't exist; the variable was initialized to the user package and so symbols introduced by application code were interned in the same package as the \*(TL library. -All these old behaviors are restored in compatibility +Until \*(TX 190, +.code defmacro +and +.code defsymacro +forms were evaluated immediately during macro expansion; in \*(TX 191 +or later, this eager evaluation was abandoned. +Unfortunately, this change introduced +a regression, causing the replacement form of a +.code defsymacro +to be macro-expanded at the time that form is traversed by the +expander, so that the macro is associated with the expanded version +of that form. This is something which had been fixed in 137. +It went unnoticed until much later, after the 262 release. +All the above old behaviors are restored in compatibility with version 190 or earlier. Finally, one more change after \*(TX 190 that is controlled by the compatibility mechanism was a critical redesign of the requirements |