From 6348a6a6a6f091f60de161bb41177a9a44c6905a Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Tue, 22 Jun 2021 19:05:06 -0600 Subject: [PATCH] make (defnew) binding list optional --- kiss/src/kiss/Macros.hx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/kiss/src/kiss/Macros.hx b/kiss/src/kiss/Macros.hx index 0f75f3d6..680bb603 100644 --- a/kiss/src/kiss/Macros.hx +++ b/kiss/src/kiss/Macros.hx @@ -546,10 +546,14 @@ class Macros { // TODO test defnew macros["defnew"] = (wholeExp:ReaderExp, exps:Array, k:KissState) -> { - wholeExp.checkNumArgs(2, null, "(defnew [[args...]] [[property bindings...]] [body...]"); + wholeExp.checkNumArgs(1, null, "(defnew [[args...]] [[optional property bindings...]] [optional body...]"); var args = exps[0]; - var bindingList = exps[1].bindingList("defnew", true); + var bindingList = if (exps.length > 1) { + exps[1].bindingList("defnew", true); + } else { + []; + }; var bindingPairs = Prelude.groups(bindingList, 2); var propertyDefs = [for (bindingPair in bindingPairs) {