diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-01-19 04:34:18 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-01-19 04:34:18 -0800 |
commit | c5a77bdebfe7daa83eacd6b4e3e208473b5f9ad2 (patch) | |
tree | 08f6771c4c04dc563148e33b915bdcd618c866bb /match.h | |
parent | ca741785bfccf52448c5e9a9bdd82778fc976f51 (diff) | |
download | txr-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.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -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); |