summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-06-27 07:16:20 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-06-27 07:16:20 -0700
commitf4ab08f73bc1d16d4971a16a0a66b5621af77572 (patch)
tree786823441aa20326c2aea03bfb935544e2783654
parentd734796cd312e6eea196f2a6b9c31e59b3a934c0 (diff)
downloadtxr-f4ab08f73bc1d16d4971a16a0a66b5621af77572.tar.gz
txr-f4ab08f73bc1d16d4971a16a0a66b5621af77572.tar.bz2
txr-f4ab08f73bc1d16d4971a16a0a66b5621af77572.zip
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.
-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);
}
}