summaryrefslogtreecommitdiffstats
path: root/txr.1
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-04-25 18:38:56 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-04-25 18:38:56 -0700
commit180ddff09533320cad4f90429950935f37c9932d (patch)
tree69dda5727cd6dd1621f67840af7ba9605666db08 /txr.1
parent0221c15789fc87dc41c48598c772a947a0a5620d (diff)
downloadtxr-180ddff09533320cad4f90429950935f37c9932d.tar.gz
txr-180ddff09533320cad4f90429950935f37c9932d.tar.bz2
txr-180ddff09533320cad4f90429950935f37c9932d.zip
Allow (force ...) to be an assignable place.
This allows mlet variables to be assignable. * eval.c (force_s): New global variable. (op_modplace): Handle force form. (me_mlet): Use force_s symbol. (force_l): New static function. (eval_init): Initialize force_s variable. Use it in registration of force function. * txr.1: Remove text in mlet definition that variables are not assignable. Replace with note about an unspecified behavior.
Diffstat (limited to 'txr.1')
-rw-r--r--txr.113
1 files changed, 5 insertions, 8 deletions
diff --git a/txr.1 b/txr.1
index 0c9109d3..5c1ddf71 100644
--- a/txr.1
+++ b/txr.1
@@ -15570,14 +15570,11 @@ construct, then its
.meta init-form
is never evaluated.
-Any
-.meta sym
-which has no initializer is an ordinary variable. It is initialized
-immediately with the value
-.code nil
-and may be assigned. Those
-.metn sym -s
-which have initializers may not be assigned.
+The bound variables may be assigned. If, before initialization, a variable is
+updated in such a way that its prior value is not needed, it is unspecified
+whether initialization takes place, and thus whether its
+.meta init-form
+is evaluated.
Direct circular references erroneous and are diagnosed.