X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fcondition.lisp;h=d6cfa9d1c11bb645fc917f07edc081caab6596c2;hb=da54f0f75754190f30f8585ff05bebd254aa4e40;hp=1e5c7c7bb3bb57934e74dd59bff0619401ae879c;hpb=93ba859423ec6e035a7b22a76a2ac70038691d65;p=sbcl.git diff --git a/src/code/condition.lisp b/src/code/condition.lisp index 1e5c7c7..d6cfa9d 100644 --- a/src/code/condition.lisp +++ b/src/code/condition.lisp @@ -604,6 +604,13 @@ "The function ~S is undefined." (cell-error-name condition))))) +(define-condition special-form-function (undefined-function) () + (:report + (lambda (condition stream) + (format stream + "Cannot FUNCALL the SYMBOL-FUNCTION of special operator ~S." + (cell-error-name condition))))) + (define-condition arithmetic-error (error) ((operation :reader arithmetic-error-operation :initarg :operation @@ -691,7 +698,12 @@ ;;; Out-of-range &KEY END arguments are similar to, but off by one ;;; from out-of-range indices into the sequence. -(define-condition index-too-large-error (type-error) +;;; +;;; FIXME: Uh, but it isn't used for &KEY END things -- in fact, this +;;; is only used in one place, in SUBSEQ. Is it really necessary? Is +;;; it here so that we can actually go round seq.lisp decorating all +;;; the sequence functions with extra checks? -- CSR, 2002-11-01 +(define-condition end-too-large-error (type-error) () (:report (lambda (condition stream)