X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fboot.lisp;h=7189a53a989c0c02f4f5f05b5db06d28159d8126;hb=508bdb85a65b4530e9d8c4b978539393f64cb234;hp=1e1518a6d800856fb953a62e9d9fd9631849e300;hpb=b7d70307b86d305c654f0a24f8a416b082f275a7;p=sbcl.git diff --git a/src/pcl/boot.lisp b/src/pcl/boot.lisp index 1e1518a..7189a53 100644 --- a/src/pcl/boot.lisp +++ b/src/pcl/boot.lisp @@ -2199,12 +2199,14 @@ bootstrapping. (finalize-inheritance ,gf-class))) (remf ,all-keys :generic-function-class) (remf ,all-keys :environment) - (let ((combin (getf ,all-keys :method-combination '.shes-not-there.))) - (unless (eq combin '.shes-not-there.) - (setf (getf ,all-keys :method-combination) - (find-method-combination (class-prototype ,gf-class) - (car combin) - (cdr combin))))) + (let ((combin (getf ,all-keys :method-combination))) + (etypecase combin + (cons + (setf (getf ,all-keys :method-combination) + (find-method-combination (class-prototype ,gf-class) + (car combin) + (cdr combin)))) + ((or null method-combination)))) (let ((method-class (getf ,all-keys :method-class '.shes-not-there.))) (unless (eq method-class '.shes-not-there.) (setf (getf ,all-keys :method-class)