diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2012-09-25 12:59:05 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2012-09-25 12:59:05 -0700 |
commit | baf80248032cdb8856d9e3217d48e9fd5e9e49c5 (patch) | |
tree | 216da2229407b80f2f1202588ab32dca2e9dfb5e /eval.c | |
parent | ace70c57cc45dac2bdd4fc4c18e0dbacd567aee6 (diff) | |
download | txr-baf80248032cdb8856d9e3217d48e9fd5e9e49c5.tar.gz txr-baf80248032cdb8856d9e3217d48e9fd5e9e49c5.tar.bz2 txr-baf80248032cdb8856d9e3217d48e9fd5e9e49c5.zip |
* eval.c: Allow the test form of a for loop to be omitted,
defaulting to a true test, allowing an infinite loop to
be expressed as (for () () () ...).
* txr.1: Documented.
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -1010,7 +1010,8 @@ static val op_for(val form, val env) uw_block_begin (nil, result); - for (; eval(car(cond), new_env, form); eval_progn(incs, new_env, form)) + for (; cond == nil || eval(car(cond), new_env, form); + eval_progn(incs, new_env, form)) eval_progn(forms, new_env, form); result = eval_progn(rest(cond), new_env, form); |