summaryrefslogtreecommitdiff
path: root/control-flow.lisp
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-08-03 01:03:25 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-08-03 01:03:25 +0200
commita9a0a5613a250c8a3dd4b53b837d977806a23b67 (patch)
tree994440ab6a70134a8ed98528c84bb9b37e01d027 /control-flow.lisp
parent440652a2a6b4d2e1cf121f802d026de4ed83614b (diff)
TAGBODY: Do not return NIL from the second-to-last section function.
Diffstat (limited to 'control-flow.lisp')
-rw-r--r--control-flow.lisp13
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)