From 25e4dce91bd88e97ba1620ad604fb98abff8a009 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 29 Nov 2015 09:40:08 -0800 Subject: Improve destructuring error messages. * eval.c (bind_macro_params): On mismatch between atom and param list, or insufficient parameters for list, report which params are mismatched. In a nested destructuring syntax, it is difficult to know. --- eval.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/eval.c b/eval.c index 25a099fa..a1f9a77c 100644 --- a/eval.c +++ b/eval.c @@ -920,14 +920,14 @@ static val bind_macro_params(val env, val menv, val params, val form, if (form) { if (loose_p == colon_k) goto nil_out; - eval_error(ctx_form, lit("~s: atom ~s not matched by parameter list"), - car(ctx_form), form, nao); + eval_error(ctx_form, lit("~s: atom ~s not matched by params ~s"), + car(ctx_form), form, params, nao); } if (!optargs) { if (!loose_p) - eval_error(ctx_form, lit("~s: insufficient number of arguments"), - car(ctx_form), nao); + eval_error(ctx_form, lit("~s: missing arguments for params ~s"), + car(ctx_form), params, nao); if (loose_p == colon_k) goto nil_out; } -- cgit v1.2.3