From 4433aa4b693a9d0246788aff9acb12a8470edf6f Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 13 Jan 2016 22:14:56 -0800 Subject: bugfix: no location info for unbound var in dohash. * eval.c (do_expand): Add missing rlcp in the construction of the return value of the clause which expands a dohash. Let's make it a rlcp_tree. Test case: (dohash (a b c) d e) with c unbound. --- eval.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/eval.c b/eval.c index 43b49bb2..e83a8954 100644 --- a/eval.c +++ b/eval.c @@ -3466,11 +3466,11 @@ tail: if (hashform == hashform_ex && resform == resform_ex && body == body_ex) return form; - return cons(sym, cons(cons(keysym, - cons(valsym, - cons(hashform_ex, - cons(resform_ex, nil)))), - body_ex)); + return rlcp_tree(cons(sym, cons(cons(keysym, + cons(valsym, + cons(hashform_ex, + cons(resform_ex, nil)))), + body_ex)), form); } else if (sym == quasi_s) { val quasi = rest(form); val quasi_ex = expand_quasi(quasi, menv); -- cgit v1.2.3