summaryrefslogtreecommitdiffstats
path: root/match.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-01-19 04:34:18 -0800
committerKaz Kylheku <kaz@kylheku.com>2017-01-19 04:34:18 -0800
commitc5a77bdebfe7daa83eacd6b4e3e208473b5f9ad2 (patch)
tree08f6771c4c04dc563148e33b915bdcd618c866bb /match.h
parentca741785bfccf52448c5e9a9bdd82778fc976f51 (diff)
downloadtxr-c5a77bdebfe7daa83eacd6b4e3e208473b5f9ad2.tar.gz
txr-c5a77bdebfe7daa83eacd6b4e3e208473b5f9ad2.tar.bz2
txr-c5a77bdebfe7daa83eacd6b4e3e208473b5f9ad2.zip
Bugfix: expand macros in collect, coll, gather.
In the argument lists of @(collect)/@(repeat), @(coll)/@(rep) and @(gather), Lisp expressions can appear as arguments to keywords or for supplying default values for variables. These are not being macro-expanded. * match.c (match_expand_vars): New static function. (match_expand_keyword_args): New function. * match.h (match_expand_keyword_args): Declared. * parser.y (gather_clause, collect_clause, elem): Use new function in match.c to expand the argument lists.
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 7a5725e9..f911897f 100644
--- a/match.h
+++ b/match.h
@@ -28,6 +28,7 @@
extern val text_s, choose_s, gather_s, do_s, require_s;
extern val close_s, load_s, include_s, mod_s, modlast_s, line_s;
extern val counter_k, vars_k, env_k, var_k;
+val match_expand_keyword_args(val elem);
val match_filter(val name, val arg, val other_args);
val match_fun(val name, val args, val input, val files);
val include(val specline);