summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--match.c7
2 files changed, 16 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 2ed62e33..19e2d98c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,15 @@
Task #11583
+ * match.c (dir_tables_init): Mapping flatten_s, forget_s,
+ local_s, merge_s, set_s, cat_s and filter_s to hv_trampoline
+ function, thereby making all these directives work in
+ horizontal contexts in one fell swoop.
+
+2011-11-10 Kaz Kylheku <kaz@kylheku.com>
+
+ Task #11583
+
More generic approach.
* match.c (h_bind): Function removed.
diff --git a/match.c b/match.c
index 6dd3eda0..9021c7c1 100644
--- a/match.c
+++ b/match.c
@@ -3172,7 +3172,14 @@ static void dir_tables_init(void)
sethash(h_directive_table, var_s, cptr((mem_t *) h_var));
sethash(h_directive_table, skip_s, cptr((mem_t *) h_skip));
sethash(h_directive_table, coll_s, cptr((mem_t *) h_coll));
+ sethash(h_directive_table, flatten_s, cptr((mem_t *) hv_trampoline));
+ sethash(h_directive_table, forget_s, cptr((mem_t *) hv_trampoline));
+ sethash(h_directive_table, local_s, cptr((mem_t *) hv_trampoline));
+ sethash(h_directive_table, merge_s, cptr((mem_t *) hv_trampoline));
sethash(h_directive_table, bind_s, cptr((mem_t *) hv_trampoline));
+ sethash(h_directive_table, set_s, cptr((mem_t *) hv_trampoline));
+ sethash(h_directive_table, cat_s, cptr((mem_t *) hv_trampoline));
+ sethash(h_directive_table, filter_s, cptr((mem_t *) hv_trampoline));
sethash(h_directive_table, some_s, cptr((mem_t *) h_parallel));
sethash(h_directive_table, all_s, cptr((mem_t *) h_parallel));
sethash(h_directive_table, none_s, cptr((mem_t *) h_parallel));