X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ffull-eval.lisp;h=c93a320e0194b6db18509ced3102ab617682b21c;hb=37200d73dfca16507809778574092cfb998711d5;hp=56208a054bdb9997c45e532ced98c9879b2dac1c;hpb=970dd272dc84f7420252eadb4829cc193f795716;p=sbcl.git diff --git a/src/code/full-eval.lisp b/src/code/full-eval.lisp index 56208a0..c93a320 100644 --- a/src/code/full-eval.lisp +++ b/src/code/full-eval.lisp @@ -893,7 +893,8 @@ (do ((form body (cdr form))) ((null form) nil) (when (atom (car form)) - ;; FIXME: detect duplicate tags + (when (assoc (car form) tags) + (ip-error "The tag :A appears more than once in a tagbody.")) (push (cons (car form) (cdr form)) tags) (push (cons (car form) #'go-to-tag) (env-tags env))))) ;; And then evaluate the forms in the body, starting from the @@ -1199,11 +1200,6 @@ (%eval form env)) (compiler-environment-too-complex-error (condition) (declare (ignore condition)) - ;; FIXME: this could be a really annoying warning. It should - ;; have its own class. - (sb!int:style-warn - "~@" - form lexenv) + (sb!int:style-warn 'sb!kernel:lexical-environment-too-complex + :form form :lexenv lexenv) (sb!int:simple-eval-in-lexenv form lexenv)))))