summaryrefslogtreecommitdiffstats
path: root/match.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-12-25 00:42:19 -0800
committerKaz Kylheku <kaz@kylheku.com>2011-12-25 00:42:19 -0800
commit894aec019d3ce82f861a5777236ac079c2f2388d (patch)
treea4e4414899200f6d66e88fa77e1cbffd5ffba804 /match.c
parent1c8251aae0294881d0dc9fcdffeb2f86040ee24e (diff)
downloadtxr-894aec019d3ce82f861a5777236ac079c2f2388d.tar.gz
txr-894aec019d3ce82f861a5777236ac079c2f2388d.tar.bz2
txr-894aec019d3ce82f861a5777236ac079c2f2388d.zip
* eval.c (eval_init): New function interned.
* lib.c:x (lazy_flatten_scan, lazy_flatten_func): New static functions. (lazy_flatten): New function. * lib.h (lazy_flatten): Declared. * match.c (v_next): Use lazy_flatten instead of flatten for processing a :list source. This means that @(next :list ...) can be used to process infinite lazy lists. * txr.1: Documented lazy-flatten.
Diffstat (limited to 'match.c')
-rw-r--r--match.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/match.c b/match.c
index 7556494f..715bf112 100644
--- a/match.c
+++ b/match.c
@@ -1974,7 +1974,7 @@ static val v_next(match_files_ctx *c)
{
cons_bind (new_bindings, success,
match_files(mf_file_data(*c, lit("var"),
- flatten(cdr(existing)), num(1))));
+ lazy_flatten(cdr(existing)), num(1))));
if (success)
return cons(new_bindings,