X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fclass.lisp;h=19edd29d70ea125c629480739ff917a8f64671b1;hb=a6a12ed609d5467ec43b411283e5b3568fee81df;hp=c29bc8f6ec5575ecaf9b1d246cc67bb42be78db6;hpb=b704b22c4bea05b9e6551ef0c0a26add7a7df083;p=sbcl.git diff --git a/src/code/class.lisp b/src/code/class.lisp index c29bc8f..19edd29 100644 --- a/src/code/class.lisp +++ b/src/code/class.lisp @@ -808,8 +808,12 @@ ;; getting a different cell for a classoid with the same name ;; just would not do. - ;; Remove the proper name of the classoid. - (setf (classoid-name (classoid-cell-classoid cell)) nil) + ;; Remove the proper name of the classoid, if this was it. + (let* ((classoid (classoid-cell-classoid cell)) + (proper-name (classoid-name classoid))) + (when (eq proper-name name) + (setf (classoid-name classoid) nil))) + ;; Clear the cell. (setf (classoid-cell-classoid cell) nil (classoid-cell-pcl-class cell) nil))