From 4ac284ddd4bbf4c3c02c0531795baf669bca4f54 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sat, 19 Nov 2011 17:17:23 -0800 Subject: * match.c (v_deffilter): Even better. Just evaluate the arguments individually. Now @(deffilter a b ..) is possible where these evaluate to suitable lists of strings. * txr.1: Documented. --- match.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'match.c') diff --git a/match.c b/match.c index 2b78cc8e..bb3da027 100644 --- a/match.c +++ b/match.c @@ -2899,18 +2899,8 @@ static val v_deffilter(match_files_ctx *c) sem_error(specline, lit("deffilter: ~a is not a symbol"), first(first_spec), nao); - if (!all_satisfy(table, func_n1(listp), nil)) - sem_error(specline, - lit("deffilter arguments must be lists"), - nao); - { - val table_evaled = mapcar(curry_12_2(func_n2(mapcar), - chain(curry_123_2(func_n3(eval_form), - specline, c->bindings), - cdr_f, - nao)), - table); + val table_evaled = cdr(eval_form(specline, table, c->bindings)); if (!all_satisfy(table_evaled, andf(func_n1(listp), chain(func_n1(length), -- cgit v1.2.3