Can confirm that, after making the above fix in the above methods and redefining them in a live SBCL image, SETF CLASS-NAME works as intended.
CL-USER> (defclass quux () ((fred :accessor fred :initform 42))) #<STANDARD-CLASS COMMON-LISP-USER::QUUX> CL-USER> (setf (class-name (find-class 'quux)) '(frob)) (FROB) CL-USER> ** #<STANDARD-CLASS (COMMON-LISP-USER::FROB) {100FF27103}> CL-USER> (make-instance *) #<#<STANDARD-CLASS (COMMON-LISP-USER::FROB) {100FF27103}> {1010049DD3}>
Can confirm that, after making the above fix in the above methods and redefining them in a live SBCL image, SETF CLASS-NAME works as intended.
CL-USER> (defclass quux () ((fred :accessor fred :initform 42))) LISP-USER: :QUUX> LISP-USER: :FROB) {100FF27103}> LISP-USER: :FROB) {100FF27103}> {1010049DD3}>
#<STANDARD-CLASS COMMON-
CL-USER> (setf (class-name (find-class 'quux)) '(frob))
(FROB)
CL-USER> **
#<STANDARD-CLASS (COMMON-
CL-USER> (make-instance *)
#<#<STANDARD-CLASS (COMMON-