summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--eval.c2
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c0c3717b..38b3d83a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2015-06-27 Kaz Kylheku <kaz@kylheku.com>
+
+ Fix TXR 97 regression in quasiliterals.
+
+ * eval.c (expand_quasi): When the modifiers argument of a var
+ item is expanded, the expansion incorrectly places it as the
+ fourth item rather than third. This is effectively a continuation
+ of the incomplete regression fix that was applied on 2014-08-29.
+ The breakage is that `@{(expr) modifier}` ignores modifier
+ whenever (expr) is an expression that undergoes expansion.
+
2015-06-26 Kaz Kylheku <kaz@kylheku.com>
Third round of quasiliteral-related fixes.
diff --git a/eval.c b/eval.c
index 1b9b7805..c7cd95d8 100644
--- a/eval.c
+++ b/eval.c
@@ -2371,7 +2371,7 @@ static val expand_quasi(val quasi_forms, val menv)
val mods_ex = expand_forms(mods, menv);
if (param_ex != param || mods_ex != mods)
- form_ex = rlcp(list(sym, param_ex, nil, mods_ex, nao), form);
+ form_ex = rlcp(list(sym, param_ex, mods_ex, nao), form);
}
}