summaryrefslogtreecommitdiffstats
path: root/txr.1
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-06-15 07:26:29 -0700
committerKaz Kylheku <kaz@kylheku.com>2021-06-15 07:26:29 -0700
commit561428042eeb26eb0d5c05c3985bd4c8ecdcec1d (patch)
tree8a968787519317a0ab97424632a25f366f119a8d /txr.1
parentd2d166856d477f271d17f7de431618481a68b3ab (diff)
downloadtxr-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.115
1 files changed, 14 insertions, 1 deletions
diff --git a/txr.1 b/txr.1
index 80a3ada4..4a3b4309 100644
--- a/txr.1
+++ b/txr.1
@@ -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