summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-08-29 21:26:57 -0700
committerKaz Kylheku <kaz@kylheku.com>2014-08-29 21:26:57 -0700
commita31e81a8ee319b1fc37b6f47fa3c4ec99d451eec (patch)
treeb46ec0221b4c93ee382b7fc95ffb42e946ee84b2
parentbb4374985d10f9dc9cb794929cf6c51d88ca4f0a (diff)
downloadtxr-a31e81a8ee319b1fc37b6f47fa3c4ec99d451eec.tar.gz
txr-a31e81a8ee319b1fc37b6f47fa3c4ec99d451eec.tar.bz2
txr-a31e81a8ee319b1fc37b6f47fa3c4ec99d451eec.zip
* eval.c (expand_quasi): Regression: fix broken handling
of @{var mod} syntax triggering a bogus assertion. Mods are the third element in the abstract syntax now, not fourth. There is no next link. Removing bogus comment referring to a nonexistent function.
-rw-r--r--ChangeLog7
-rw-r--r--eval.c8
2 files changed, 8 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 3cca3dc5..62082926 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2014-08-29 Kaz Kylheku <kaz@kylheku.com>
+ * eval.c (expand_quasi): Regression: fix broken handling
+ of @{var mod} syntax triggering a bogus assertion. Mods are the third
+ element in the abstract syntax now, not fourth. There is no next link.
+ Removing bogus comment referring to a nonexistent function.
+
+2014-08-29 Kaz Kylheku <kaz@kylheku.com>
+
* match.c (v_load): Fix regression introduced in 94: broken @(load).
2014-08-25 Kaz Kylheku <kaz@kylheku.com>
diff --git a/eval.c b/eval.c
index ae05adb0..56eb844e 100644
--- a/eval.c
+++ b/eval.c
@@ -2350,16 +2350,10 @@ static val expand_quasi(val quasi_forms, val menv)
form_ex = rlcp(cons(sym, expr_ex), form);
} else if (sym == var_s) {
val param = second(form);
- val next = third(form);
- val mods = fourth(form);
+ val mods = third(form);
val param_ex = expand(param, menv);
val mods_ex = expand_forms(mods, menv);
- /* next should be nil because this structure should have
- been passed through o_elemes_transform in the parser
- which unravels the nesting. */
- assert (next == nil);
-
if (param_ex != param || mods_ex != mods)
form_ex = rlcp(list(sym, param_ex, nil, mods_ex, nao), form);
}