From c1c68bb4fe7344f124ab9f6b930177ffbe3d6c51 Mon Sep 17 00:00:00 2001 From: Marius Gerbershagen Date: Mon, 19 Aug 2019 19:46:27 +0200 Subject: [PATCH] bytecmp: fix return value of multiple-value-bind with no variable bindings and no body Statements such as (multiple-value-bind () :foo) returned :foo instead of nil (see the multiple-value-bind.11-13 tests in the ansi-test suite). --- src/c/compiler.d | 1 + 1 file changed, 1 insertion(+) diff --git a/src/c/compiler.d b/src/c/compiler.d index a582c411a..d53621c61 100644 --- a/src/c/compiler.d +++ b/src/c/compiler.d @@ -1698,6 +1698,7 @@ c_multiple_value_bind(cl_env_ptr env, cl_object args, int flags) int n = ecl_length(vars); switch (n) { case 0: + compile_form(env, pop(&args), FLAG_IGNORE); return c_locally(env, args, flags); case 1: vars = ECL_CONS_CAR(vars);