X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fcross-condition.lisp;h=a5f8b2bdc1597df3a09cbefc1d637075a8426bcc;hb=729ce57914183b7443e97544734cebe8198ae4cb;hp=e74fc3c2f4c55f38d2236a20e0d42ace68ab91af;hpb=1f0efb731e8427080690f8ecaf9a56fc287a9d88;p=sbcl.git diff --git a/src/code/cross-condition.lisp b/src/code/cross-condition.lisp index e74fc3c..a5f8b2b 100644 --- a/src/code/cross-condition.lisp +++ b/src/code/cross-condition.lisp @@ -31,22 +31,52 @@ (define-condition reference-condition () ((references :initarg :references :reader reference-condition-references))) +;;; KLUDGE: yet another OAOOM. +;;; +;;; FIXME: This is clearly one OAOOM KLUDGE too many in a row. When tempted +;;; to add another one invent DEF!CONDITION or whatever seems necessary, +;;; and replace these. +(define-condition type-warning (reference-condition simple-warning) + () + (:default-initargs :references (list '(:sbcl :node "Handling of Types")))) +(define-condition type-style-warning (reference-condition simple-style-warning) + () + (:default-initargs :references (list '(:sbcl :node "Handling of Types")))) + (define-condition bug (simple-error) () (:report (lambda (condition stream) (format stream - "~@< ~? ~:@_~?~:>" - (simple-condition-format-control condition) - (simple-condition-format-arguments condition) - "~@" + (simple-condition-format-control condition) + (simple-condition-format-arguments condition) + "~@.~:@>" - ())))) + ())))) + +;;; OAOOM... +(define-condition compiler-macro-keyword-problem () + ((argument :initarg :argument :reader compiler-macro-keyword-argument)) + (:report (lambda (condition stream) + (format stream "~@" + (compiler-macro-keyword-argument condition))))) + +;;; OAOOM... +(define-condition duplicate-definition (reference-condition warning) + ((name :initarg :name :reader duplicate-definition-name)) + (:report (lambda (c s) + (format s "~@" + (duplicate-definition-name c)))) + (:default-initargs :references (list '(:ansi-cl :section (3 2 2 3))))) ;;; These are should never be instantiated before the real definitions ;;; come in.