summaryrefslogtreecommitdiffstats
path: root/match.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2009-10-30 17:34:12 -0800
committerKaz Kylheku <kaz@kylheku.com>2009-10-30 17:34:12 -0800
commit4b493073a6deafa6b4ac6386a0eab034e0e20082 (patch)
treeeb2dfcef8f75ff7cceeda12e841623e0caa28771 /match.c
parentd79ac8185c3533a5ea89c4a7e12b01f64f349e30 (diff)
downloadtxr-4b493073a6deafa6b4ac6386a0eab034e0e20082.tar.gz
txr-4b493073a6deafa6b4ac6386a0eab034e0e20082.tar.bz2
txr-4b493073a6deafa6b4ac6386a0eab034e0e20082.zip
Trivial change allows regexps to be bound to variables,
and used for matching. This Just Works because of the way match_line treats variables.
Diffstat (limited to 'match.c')
-rw-r--r--match.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/match.c b/match.c
index 47fc31a7..d065cc1d 100644
--- a/match.c
+++ b/match.c
@@ -604,6 +604,8 @@ obj_t *eval_form(obj_t *form, obj_t *bindings)
else if (consp(form)) {
if (car(form) == quasi) {
return cons(t, cat_str(subst_vars(rest(form), bindings), nil));
+ } else if (regexp(car(form))) {
+ return cons(t, form);
} else {
obj_t *subforms = mapcar(bind2other(func_n2(eval_form), bindings), form);