diff options
Diffstat (limited to 'common-lisp.html.markdown')
| -rw-r--r-- | common-lisp.html.markdown | 8 | 
1 files changed, 5 insertions, 3 deletions
| diff --git a/common-lisp.html.markdown b/common-lisp.html.markdown index c4ecb5e8..f9f64d68 100644 --- a/common-lisp.html.markdown +++ b/common-lisp.html.markdown @@ -573,13 +573,15 @@ nil                  ; for false - and the empty list      "While `condition` is true, `body` is executed.  `condition` is tested prior to each execution of `body`" -    (let ((block-name (gensym))) +    (let ((block-name (gensym)) (done (gensym)))          `(tagbody +           ,block-name             (unless ,condition -               (go ,block-name)) +               (go ,done))             (progn             ,@body) -           ,block-name))) +           (go ,block-name) +           ,done)))  ;; Let's look at the high-level version of this: | 
