Christoph Thiede uploaded a new version of Kernel to project The Trunk: http://source.squeak.org/trunk/Kernel-ct.1293.mcz
==================== Summary ====================
Name: Kernel-ct.1293 Author: ct Time: 8 January 2020, 11:11:21.431206 am UUID: 86f4d70b-c53c-5a45-97f3-1bff2d65cdb4 Ancestors: Kernel-nice.1292
Elaborate method comment in Object >> #copyFrom:
=============== Diff against Kernel-nice.1292 ===============
Item was changed: ----- Method: Object>>copyFrom: (in category 'copying') ----- copyFrom: anotherObject + "Copy to myself all instance variables I have in common with anotherObject, i. e. those which have the same index in both class definitions. This is dangerous because it ignores an object's control over its own inst vars." - "Copy to myself all instance variables I have in common with anotherObject. This is dangerous because it ignores an object's control over its own inst vars. "
| mine his | <primitive: 168> mine := self class allInstVarNames. his := anotherObject class allInstVarNames. 1 to: (mine size min: his size) do: [:ind | (mine at: ind) = (his at: ind) ifTrue: [ self instVarAt: ind put: (anotherObject instVarAt: ind)]]. self class isVariable & anotherObject class isVariable ifTrue: [ 1 to: (self basicSize min: anotherObject basicSize) do: [:ind | self basicAt: ind put: (anotherObject basicAt: ind)]].!
Item was changed: ----- Method: Object>>copySameFrom: (in category 'copying') ----- copySameFrom: otherObject + "Copy to myself all instance variables named the same in otherObject. This is dangerous because it ignores an object's control over its own inst vars." - "Copy to myself all instance variables named the same in otherObject. - This ignores otherObject's control over its own inst vars."
| myInstVars otherInstVars | myInstVars := self class allInstVarNames. otherInstVars := otherObject class allInstVarNames. myInstVars doWithIndex: [:each :index | | match | (match := otherInstVars indexOf: each) > 0 ifTrue: [self instVarAt: index put: (otherObject instVarAt: match)]]. 1 to: (self basicSize min: otherObject basicSize) do: [:i | self basicAt: i put: (otherObject basicAt: i)]. !
squeak-dev@lists.squeakfoundation.org