Ha. Looks like that #rehash does better fit in Object >> #readDataFrom:size:. See Kernel-mt.1526 and System-mt.1424. SqueakMap Catalog should update again fine in Trunk again. :-)

Best,
Marcel

Am 08.04.2023 21:41:15 schrieb commits@source.squeak.org <commits@source.squeak.org>:

tim Rowledge uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-tpr.1411.mcz

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

Name: System-tpr.1411
Author: tpr
Time: 8 April 2023, 12:40:44.232921 pm
UUID: ce793344-787e-4e47-9823-c49991f1e8c2
Ancestors: System-eem.1410

Bring in Stephane Rollandin's fix for SmartRefStream loading; it solves the .morph loading issue raised by https://lists.squeakfoundation.org/archives/list/squeak-dev@lists.squeakfoundation.org/message/XDYUREEEJ5PEQ3W4AXPYKQ3RDZU2ECVQ/

=============== Diff against System-eem.1410 ===============

Item was changed:
----- Method: SmartRefStream>>next (in category 'read write') -----
next
"Really write three objects: (version, class structure, object). But only when called from the outside. "

| version ss object |
^ topCall == nil
ifTrue:
[topCall := #marked.
version := super next.
version class == SmallInteger ifFalse: [^ version].
"version number, else just a regular object, not in our format, "
self checkCrLf.
ss := super next.
ss class == Array ifFalse: [^ ss]. "just a regular object"
(ss at: 1) = 'class structure' ifFalse: [^ ss].
+ structures := (ss at: 2) rehash.
- structures := ss at: 2.
superclasses := (ss size > 3 and: [(ss at: 3) = 'superclasses'])
+ ifTrue: [(ss at: 4) rehash] "class name -> superclass name"
- ifTrue: [ss at: 4] "class name -> superclass name"
ifFalse: [Dictionary new].
(self verifyStructure = 'conversion method needed') ifTrue: [^ nil].
+ object := super next rehash. "all the action here"
- object := super next. "all the action here"
self restoreClassInstVars. "for UniClasses. version 4"

topCall := nil. "reset it"
object]
ifFalse:
+ [super next rehash]
- [super next]
!