diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-07-09 09:07:37 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-07-09 09:07:37 -0700 |
commit | 1f0bef565ecdb08b36f131430dd16da4d3b7e787 (patch) | |
tree | b891c6fb3d649a938d95ed41ecd5858e193378d2 | |
parent | 02f786920bc437b4192fdea36d525a33e5821eae (diff) | |
download | txr-1f0bef565ecdb08b36f131430dd16da4d3b7e787.tar.gz txr-1f0bef565ecdb08b36f131430dd16da4d3b7e787.tar.bz2 txr-1f0bef565ecdb08b36f131430dd16da4d3b7e787.zip |
doc: fix compat note 156.
* txr.1: Fix a flaw in the compat note 156 wording. The
workaround described only applies to TXR that has not been
upgraded to 157 or newer; it is not an alternative to using
the compat option, but a way to fix code under old TXR.
Also adding here the recommendation that applications should
switch to the new evaluating case functions rather than
relying on the compat switch.
-rw-r--r-- | txr.1 | 19 |
1 files changed, 14 insertions, 5 deletions
@@ -60037,12 +60037,21 @@ would arrange for the evaluation of .code a as a variable, rather than treating it as the symbol .code a -itself. Beside using the compatibility mechanism, a workaround is to -use a list of keys, exemplified by a rewrite of the foregoing -expression to +itself. Though the compatibility mechanism restores the behavior, +applications depending on the evaluating behavior should be changed to +instead use +.codn caseq* , +.code caseql* +or +.codn casequal . +A workaround for this bug for \*(TX versions 156 or older is to replace +simple keys with a key list of length one, exemplified by a rewrite of the +foregoing expression to .codn "(caseql x ((a) 0))" . -The other behavior was that empty lists of forms in a clause were -producing a result value of +Here +.code a +is not evaluated. +forms in a clause were producing a result value of .codn t . For example .code "(case 1 (1))" |