summaryrefslogtreecommitdiffstats
path: root/match.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-10-24 23:35:48 -0400
committerKaz Kylheku <kaz@kylheku.com>2011-10-24 23:35:48 -0400
commit77b9c8f289df7b0ba45668e09cdc040252c681c8 (patch)
treed1d6df2cd1ed2ad82a9aa845cda6c4243f01ce99 /match.h
parent23a6fd5129b285d25faa8198e395ac91db0348c4 (diff)
downloadtxr-77b9c8f289df7b0ba45668e09cdc040252c681c8.tar.gz
txr-77b9c8f289df7b0ba45668e09cdc040252c681c8.tar.bz2
txr-77b9c8f289df7b0ba45668e09cdc040252c681c8.zip
* filter.c (function_filter): New function.
(get_filter): Handle (fun ...) syntax. * match.c (v_bind): Establish dynamic environment frame around dest_bind, and stash the bindings there so filters can have access to the bindings. (v_output): Likewise, around do_output calls. (v_fun): New function. (match_files): Function handling broken out into v_fun. (match_funcall): New function. * match.h (match_funcall): Declared. * unwind.c (uw_push_env): Initialize match_context. (uw_get_match_context, uw_set_match_context): New functions. * unwind.h (struct uw_dynamic_env): New member, match_context. (uw_get_match_context, uw_set_match_context): Declared. * txr.1: Documented function filters.
Diffstat (limited to 'match.h')
-rw-r--r--match.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/match.h b/match.h
index 6c4dcd6f..6a3002b4 100644
--- a/match.h
+++ b/match.h
@@ -25,5 +25,6 @@
*/
void match_init(void);
+val match_funcall(val name, val arg);
int extract(val spec, val filenames, val bindings);
extern val choose_s;