diff options
author | Matthias Andreas Benkard <matthias@benkard.de> | 2008-08-03 01:03:25 +0200 |
---|---|---|
committer | Matthias Andreas Benkard <matthias@benkard.de> | 2008-08-03 01:03:25 +0200 |
commit | a9a0a5613a250c8a3dd4b53b837d977806a23b67 (patch) | |
tree | 994440ab6a70134a8ed98528c84bb9b37e01d027 | |
parent | 440652a2a6b4d2e1cf121f802d026de4ed83614b (diff) |
TAGBODY: Do not return NIL from the second-to-last section function.
-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) |