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