((FROB)) is not a valid unspecialized lambda list. This lambda list should have had a single mandatory argument that is a symbol, so, something like (OBJECT).
METHOD-LAMBDA-LIST is only a reader, which means that the lambda list is set to the method metaobject in a different way.
Further investigation shows that SB-MOP: METHOD- LAMBDA- LIST returns an erroneous value.
CL-USER> (defclass quux () ((fred :accessor fred :initform 42))) LISP-USER: :QUUX> method- lambda- list) METHOD- LAMBDA- LIST) METHOD- LAMBDA- LIST #<STANDARD-METHOD (COMMON-LISP:SETF COMMON- LISP:CLASS- NAME) (T T) {10008A0023}>) METHOD- LAMBDA- LIST returned (SB-PCL::NEW-VALUE CLASS) METHOD- LAMBDA- LIST #<STANDARD-METHOD COMMON- LISP:REINITIALI ZE-INSTANCE :BEFORE (SB-PCL: :SLOT-CLASS) {10009F6043}>) METHOD- LAMBDA- LIST returned (CLASS &KEY SB-PCL: :DIRECT- SUPERCLASSES) METHOD- LAMBDA- LIST #<STANDARD-METHOD COMMON- LISP:REINITIALI ZE-INSTANCE :AFTER (SB-PCL: :SLOT-CLASS) {10009F6053}>) METHOD- LAMBDA- LIST returned (CLASS &REST SB-PCL::INITARGS &KEY) METHOD- LAMBDA- LIST #<STANDARD-METHOD COMMON- LISP:REINITIALI ZE-INSTANCE (SB-PCL: :SLOT-OBJECT) {10008A21F3}>) METHOD- LAMBDA- LIST returned
(SB-KERNEL: INSTANCE &REST SB-PCL::INITARGS) METHOD- LAMBDA- LIST #<STANDARD-METHOD COMMON- LISP:SHARED- INITIALIZE :AFTER (SB-PCL::STD-CLASS T) {1000598433}>) METHOD- LAMBDA- LIST returned
(SB-PCL: :DIRECT- SUPERCLASSES NIL SB-PCL: :DIRECT- SUPERCLASSES- P)
(SB-PCL: :DIRECT- SLOTS NIL SB-PCL: :DIRECT- SLOTS-P)
(SB-PCL: :DIRECT- DEFAULT- INITARGS NIL SB-PCL: :DIRECT- DEFAULT- INITARGS- P)) METHOD- LAMBDA- LIST #<STANDARD-METHOD COMMON- LISP:SHARED- INITIALIZE :BEFORE (CLASS T) {1000598453}>) METHOD- LAMBDA- LIST returned METHOD- LAMBDA- LIST #<STANDARD-METHOD COMMON- LISP:SHARED- INITIALIZE (SB-PCL: :SLOT-OBJECT T) {1000164C23}>) METHOD- LAMBDA- LIST returned
(SB-KERNEL: INSTANCE SB-PCL::SLOT-NAMES &REST SB-PCL::INITARGS) METHOD- LAMBDA- LIST #<SB-MOP: STANDARD- READER- METHOD COMMON- LISP-USER: :FRED, slot:FRED, ((CLASS #<STANDARD-CLASS (COMMON- LISP-USER: :FROB) {100C572303}>)) {100CC3C6F3}>) METHOD- LAMBDA- LIST returned ((FROB)) METHOD- LAMBDA- LIST #<STANDARD-METHOD COMMON- LISP:INITIALIZE -INSTANCE (SB-PCL: :SLOT-OBJECT) {1000164CF3}>) METHOD- LAMBDA- LIST returned
(SB-KERNEL: INSTANCE &REST SB-PCL::INITARGS) METHOD- LAMBDA- LIST #<STANDARD-METHOD COMMON- LISP:SHARED- INITIALIZE (SB-PCL: :SLOT-OBJECT T) {1000164C23}>) METHOD- LAMBDA- LIST returned
(SB-KERNEL: INSTANCE SB-PCL::SLOT-NAMES &REST SB-PCL::INITARGS)
#<STANDARD-CLASS COMMON-
CL-USER> (trace sb-mop:
(SB-MOP:
CL-USER> (setf (class-name (find-class 'quux)) '(frob))
0: (SB-MOP:
0: SB-MOP:
0: (SB-MOP:
0: SB-MOP:
0: (SB-MOP:
0: SB-MOP:
0: (SB-MOP:
0: SB-MOP:
0: (SB-MOP:
0: SB-MOP:
(CLASS SB-PCL::SLOT-NAMES &KEY
0: (SB-MOP:
0: SB-MOP:
(CLASS SB-PCL::SLOT-NAMES &KEY SB-PCL::NAME)
0: (SB-MOP:
0: SB-MOP:
0: (SB-MOP:
0: SB-MOP:
0: (SB-MOP:
0: SB-MOP:
0: (SB-MOP:
0: SB-MOP:
;; Error signaled here
In particular:
0: (SB-MOP: METHOD- LAMBDA- LIST #<SB-MOP: STANDARD- READER- METHOD COMMON- LISP-USER: :FRED, slot:FRED, ((CLASS #<STANDARD-CLASS (COMMON- LISP-USER: :FROB) {100C572303}>)) {100CC3C6F3}>) METHOD- LAMBDA- LIST returned ((FROB))
0: SB-MOP:
((FROB)) is not a valid unspecialized lambda list. This lambda list should have had a single mandatory argument that is a symbol, so, something like (OBJECT).
METHOD-LAMBDA-LIST is only a reader, which means that the lambda list is set to the method metaobject in a different way.