From 16ac7ba1a16695f8ddb6934666202edcaa2d3abc Mon Sep 17 00:00:00 2001 From: Calvin Rose Date: Fri, 21 Sep 2018 14:09:38 -0400 Subject: [PATCH] Def and var evaluate to useful values. --- src/core/specials.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/core/specials.c b/src/core/specials.c index 1f6723df..e3665432 100644 --- a/src/core/specials.c +++ b/src/core/specials.c @@ -195,9 +195,8 @@ static JanetSlot janetc_var(JanetFopts opts, int32_t argn, const Janet *argv) { JanetSlot ret = dohead(c, opts, &head, argn, argv); if (c->result.status == JANET_COMPILE_ERROR) return janetc_cslot(janet_wrap_nil()); - if (destructure(c, argv[0], ret, varleaf, handleattr(c, argn, argv))) - janetc_freeslot(c, ret); - return janetc_cslot(janet_wrap_nil()); + destructure(c, argv[0], ret, varleaf, handleattr(c, argn, argv)); + return ret; } static int defleaf( @@ -229,9 +228,8 @@ static JanetSlot janetc_def(JanetFopts opts, int32_t argn, const Janet *argv) { JanetSlot ret = dohead(c, opts, &head, argn, argv); if (c->result.status == JANET_COMPILE_ERROR) return janetc_cslot(janet_wrap_nil()); - if (destructure(c, argv[0], ret, defleaf, handleattr(c, argn, argv))) - janetc_freeslot(c, ret); - return janetc_cslot(janet_wrap_nil()); + destructure(c, argv[0], ret, defleaf, handleattr(c, argn, argv)); + return ret; } /*