[squeak-dev] The Trunk: Kernel-dtl.856.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Jun 15 14:43:34 UTC 2014


David T. Lewis uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-dtl.856.mcz

==================== Summary ====================

Name: Kernel-dtl.856
Author: dtl
Time: 15 June 2014, 10:42:28.524 am
UUID: 5a0967c5-86ae-4631-9d20-d960cd97abb1
Ancestors: Kernel-cmm.855

Fix inconsistent image state as reported on squeak-dev:

Date: Wed, 11 Jun 2014 23:44:42 -0400
From: Florin Mateoc
To: The general-purpose Squeak developers list
Subject: [squeak-dev] Class subclasses
 
I think this is an old bug, presumably since ProtoObject was introduced (and presumably because ObjectTracer was used in the process).
 
If you ask Class for its subclasses (or if you inspect it) you see that ObjectTracer class is listed along with ProtoObject class, although ObjectTracer's superclass is ProtoObject. This can lead to some funny bugs if you try to write some hierarchy traversing code.

=============== Diff against Kernel-cmm.855 ===============

Item was added:
+ ----- Method: ObjectTracer class>>initialize (in category 'initialize-release') -----
+ initialize
+ 	"Fix for inconsistent image state in which ObjectTracer improperly appears as a subclass
+ 	of Class. This initialization should appear in the Squeak update stream in order to repair
+ 	existing images, and may be removed in a future update."
+ 
+ 	Class removeSubclass: ObjectTracer class!



More information about the Squeak-dev mailing list