diff options
Diffstat (limited to 'control-flow.lisp')
| -rw-r--r-- | control-flow.lisp | 13 | 
1 files changed, 7 insertions, 6 deletions
diff --git a/control-flow.lisp b/control-flow.lisp index 5552e96..03825be 100644 --- a/control-flow.lisp +++ b/control-flow.lisp @@ -114,12 +114,13 @@                               (setq current-label clause                                     current-function (gensym))                               (prog1 -                               `((,old-function () -                                    ,@(nreverse accumulated-clauses) -                                    ,(if rest `#',current-function `nil)) -                                 ,@(when (endp rest) -                                     `(,current-function () -                                        ',end-marker))) +                               (when old-function +                                 `((,old-function () +                                     ,@(nreverse accumulated-clauses) +                                     #',current-function) +                                   ,@(when (endp rest) +                                       `((,current-function () +                                           ',end-marker)))))                                 (setq accumulated-clauses nil))))                            (t (pushq clause accumulated-clauses)                               (if (endp rest)  | 
