X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcode%2Fbignum.lisp;h=cf70586301619c9861adafa8ff315ad80bf5509c;hb=a96369c72588c5457d71d6aaea35f2c450b19ef5;hp=9fd50857505fb47688b2138be6b0c7f3a8528054;hpb=08307967c71c580058a503d46aa087cfefcf8c69;p=sbcl.git diff --git a/src/code/bignum.lisp b/src/code/bignum.lisp index 9fd5085..cf70586 100644 --- a/src/code/bignum.lisp +++ b/src/code/bignum.lisp @@ -980,8 +980,16 @@ (declare (type bignum-index len)) (let ((exp (+ exp bias))) (when (> exp max) - (error "Too large to be represented as a ~S:~% ~S" - format x)) + ;; Why a SIMPLE-TYPE-ERROR? Well, this is mainly + ;; called by COERCE, which requires an error of + ;; TYPE-ERROR if the conversion can't happen + ;; (except in certain circumstances when we are + ;; coercing to a FUNCTION) -- CSR, 2002-09-18 + (error 'simple-type-error + :format-control "Too large to be represented as a ~S:~% ~S" + :format-arguments (list format x) + :expected-type format + :datum x)) exp))) (cond