Fix temporal bug in tagbody
authorDavid Vázquez <davazp@gmail.com>
Fri, 5 Jul 2013 02:03:30 +0000 (04:03 +0200)
committerDavid Vázquez <davazp@gmail.com>
Fri, 5 Jul 2013 02:03:30 +0000 (04:03 +0200)
src/compiler.lisp

index a6f435f..23752c6 100644 (file)
                   (try
                    (switch ,(make-symbol branch)
                            ,@(with-collect
+                              (collect `(case ,initag))
                               (dolist (form (cdr body))
                                 (if (go-tag-p form)
                                     (let ((b (lookup-in-lexenv form *environment* 'gotag)))
                                       (collect `(case ,(second (binding-value b)))))
-                                    (collect (ls-compile form)))))
+                                    (progn
+                                      (collect (ls-compile form))
+                                      ;; TEMPORAL!
+                                      (collect '(code ";"))))))
                            default
                            (break tbloop)))
                   (catch (jump)