X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/7dca21e9e346a9793fa455e55111085e1174c44c..df4fa4b95453ebaff0a24e25f09b522b6b0a2e12:/src/class-utilities.lisp?ds=sidebyside diff --git a/src/class-utilities.lisp b/src/class-utilities.lisp index 38cb75e..5b3021f 100644 --- a/src/class-utilities.lisp +++ b/src/class-utilities.lisp @@ -212,10 +212,15 @@ (sod-class-chains super))) supers))) (list class)))) - (cond ((null roots) (error "Class ~A has no root class!" class)) - ((cdr roots) (error "Class ~A has multiple root classes ~ - ~{~A~#[~; and ~;, ~]~}" - class roots)) + (cond ((null roots) + (error "Class ~A has no root class!" class)) + ((cdr roots) + (cerror* "Class ~A has multiple root classes ~ + ~{~#[~;~A~;~A and ~A~:; ~@{~A, ~#[~;and ~A~]~}~]~}" + class roots) + (let ((state (make-inheritance-path-reporter-state class))) + (dolist (root roots) + (report-inheritance-path state root)))) (t (car roots))))) (export 'find-root-metaclass)