From 50d66980ea7d63ec39bc2caeb538e2f76bba46c0 Mon Sep 17 00:00:00 2001
From: Philipp Marek <philipp@marek.priv.at>
Date: Mon, 19 Nov 2018 12:59:46 +0100
Subject: [PATCH] Revert "Avoid duplicate logic in WHEN-LET*."

This reverts commit 612700cd0d1487d414928c52b0cb2f04899055d2.
---
 binding.lisp | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/binding.lisp b/binding.lisp
index 0217db5..681623c 100644
--- a/binding.lisp
+++ b/binding.lisp
@@ -79,13 +79,15 @@ Execution of WHEN-LET* stops immediately if any INITIAL-FORM evaluates to NIL.
 If all INITIAL-FORMs evaluate to true, then BODY is executed as an implicit
 PROGN."
   (let ((binding-list (if (and (consp bindings) (symbolp (car bindings)))
-                        (list bindings)
-                        bindings)))
+                          (list bindings)
+                          bindings)))
     (labels ((bind (bindings body)
                (if bindings
-                 `(let (,(car bindings))
-                    (when ,(caar bindings)
-                      (bind (cdr bindings) body)))
-                 `(progn ,@body))))
-      (bind (cdr binding-list) body))))
+                   `((let (,(car bindings))
+                       (when ,(caar bindings)
+                         ,@(bind (cdr bindings) body))))
+                   body)))
+      `(let (,(car binding-list))
+         (when ,(caar binding-list)
+           ,@(bind (cdr binding-list) body))))))
 
-- 
GitLab