Skip to content

Commit

Permalink
0.9.6.37:
Browse files Browse the repository at this point in the history
	Do the CHANGE-CLASS checking for funcallable-standard-objects
	too.
  • Loading branch information
csrhodes committed Nov 9, 2005
1 parent 1831934 commit e2616df
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 1 deletion.
13 changes: 13 additions & 0 deletions src/pcl/std-class.lisp
Expand Up @@ -1473,6 +1473,19 @@
(defmethod change-class ((instance funcallable-standard-object)
(new-class funcallable-standard-class)
&rest initargs)
(let ((cpl (class-precedence-list new-class)))
(dolist (class cpl)
(macrolet
((frob (class-name)
`(when (eq class (find-class ',class-name))
(error 'metaobject-initialization-violation
:format-control "~@<Cannot ~S objects into ~S metaobjects.~@:>"
:format-arguments (list 'change-class ',class-name)
:references (list '(:amop :initialization ,class-name))))))
(frob class)
(frob generic-function)
(frob method)
(frob slot-definition))))
(change-class-internal instance new-class initargs))

(defmethod change-class ((instance standard-object)
Expand Down
2 changes: 1 addition & 1 deletion version.lisp-expr
Expand Up @@ -17,4 +17,4 @@
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
"0.9.6.36"
"0.9.6.37"

0 comments on commit e2616df

Please sign in to comment.