summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-07-22 07:56:49 -0700
committerKaz Kylheku <kaz@kylheku.com>2014-07-22 07:56:49 -0700
commitc2e6f63f8322f454df9caefe06697f1d348bc8c0 (patch)
treefdb22ae8c8760c1719fc0a00ca043c2f1af0fd4e
parent7ca548b7926aaf9fb6937fef2316c7ac3a00b302 (diff)
downloadtxr-c2e6f63f8322f454df9caefe06697f1d348bc8c0.tar.gz
txr-c2e6f63f8322f454df9caefe06697f1d348bc8c0.tar.bz2
txr-c2e6f63f8322f454df9caefe06697f1d348bc8c0.zip
* match.c (subst_vars): Bugfix: I neglected to apply the
filter which is in effect to the result of interpolating a TXR Lisp expression, oops!
-rw-r--r--ChangeLog6
-rw-r--r--match.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index feadfebe..c9727aa7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2014-07-22 Kaz Kylheku <kaz@kylheku.com>
+ * match.c (subst_vars): Bugfix: I neglected to apply the
+ filter which is in effect to the result of interpolating a TXR Lisp
+ expression, oops!
+
+2014-07-22 Kaz Kylheku <kaz@kylheku.com>
+
* parser.y (METANUM): Forgotten %right declaration for this
token has been resulting in a shift-reduce conflict.
diff --git a/match.c b/match.c
index 2c6d2295..cf5ab22c 100644
--- a/match.c
+++ b/match.c
@@ -1411,7 +1411,7 @@ static val subst_vars(val spec, val bindings, val filter)
continue;
} else if (sym == expr_s) {
val result = eval(rest(elem), make_env(bindings, nil, nil), elem);
- spec = cons(format(nil, lit("~a"), result, nao), rest(spec));
+ spec = cons(filter_string_tree(filter, tostringp(result)), rest(spec));
continue;
} else {
val nested = subst_vars(elem, bindings, filter);