From 519c0c3622417251d6cdff828547a6bb74e6b4b9 Mon Sep 17 00:00:00 2001
From: Kaz Kylheku <kaz@kylheku.com>
Date: Mon, 23 Jan 2017 22:38:42 -0800
Subject: diagnose (:whole . blah) as dangling :whole.

* eval.c (bind_macro_params): Test that the rest of the
param list after the keyword is consp, not just non-nil.
---
 eval.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'eval.c')

diff --git a/eval.c b/eval.c
index 3a5cd547..015ee9af 100644
--- a/eval.c
+++ b/eval.c
@@ -1104,7 +1104,7 @@ static val bind_macro_params(val env, val menv, val params, val form,
       val bform = if3(param == whole_k, whole,
                       if3(param == form_k,
                           ctx_form, menv));
-      if (!next)
+      if (!consp(next))
         eval_error(ctx_form, lit("~s: dangling ~s in param list"),
                    car(ctx_form), param, nao);
       nparam = car(next);
-- 
cgit v1.2.3