Marcel Taeumel uploaded a new version of Kernel to project The Trunk: http://source.squeak.org/trunk/Kernel-mt.1526.mcz
==================== Summary ====================
Name: Kernel-mt.1526 Author: mt Time: 27 September 2023, 1:38:59.304019 pm UUID: 9bbe749b-d516-e146-8af2-4f5f7962faa0 Ancestors: Kernel-mt.1525
Fixes regression in DataStream from System-tpr.1411 to make SqueakMap catalog update again. Send #rehash only when the object is complete, not in the middle of a #next call that might be incomplete for cyclic dependencies.
=============== Diff against Kernel-mt.1525 ===============
Item was changed: ----- Method: Object>>readDataFrom:size: (in category 'objects from disk') ----- readDataFrom: aDataStream size: varsOnDisk "Fill in the fields of self based on the contents of aDataStream. Return self. Read in the instance-variables written by Object>>storeDataOn:. NOTE: This method must send beginReference: before reading any objects from aDataStream that might reference it. Allow aDataStream to have fewer inst vars. See SmartRefStream." | cntInstVars cntIndexedVars |
cntInstVars := self class instSize. self class isVariable ifTrue: [cntIndexedVars := varsOnDisk - cntInstVars. cntIndexedVars < 0 ifTrue: [ self error: 'Class has changed too much. Define a convertxxx method']] ifFalse: [cntIndexedVars := 0. cntInstVars := varsOnDisk]. "OK if fewer than now"
aDataStream beginReference: self. 1 to: cntInstVars do: [:i | self instVarAt: i put: aDataStream next]. 1 to: cntIndexedVars do: [:i | self basicAt: i put: aDataStream next]. "Total number read MUST be equal to varsOnDisk!!" + self rehash. ^ self "If we ever return something other than self, fix calls on (super readDataFrom: aDataStream size: anInteger)"!
packages@lists.squeakfoundation.org