[squeak-dev] The Trunk: System-bf.914.mcz
Herbert König
herbertkoenig at gmx.net
Sat Sep 10 19:26:26 UTC 2016
Hi,
sadly it doesn't fix it. I tried to:
update a 6.0 alpha to trunk --> freezes
update 5.1 to trunk --> works if some changes are accepted and merged
and just loaded System-bf.915.mcz into a 5.1
With the latter two
MorphicProject DNU #acceptProjectDetails.
in the last one (loading System-bf.915.mcz)
I comment out self acceptProjectDetails: details in
MorphicProject>>storeOnServer
then
FileList2>>morphicViewProjectSaverFor: stumbles over the removal of
ColorTheme, which I think has taken place recently.
Replacing ColorTheme current with SmallLandColorTheme fails because
SmallLandColorTheme lacks a lot of messages.
So replacing all these with plausible values lets me find out that
AlignmentMorphBob1 also relies on ColorTheme
Next I filed in ColorTheme which was still present in 5.0 and I really
get the save dialogue for the project.
But then EtoyProjectDetailsMorph class>>getFullInfoFor: aProject
ifValid: aBlock expandedFormat:
wants one argument for aBlock but gets zero. I give up :-(
I guess here we see why we want as many packages as possible in trunk to
prevent that changes over several versions make it hard to get something
to work again.
Cheers,
Herbert
Then it fails during to
Am 08.09.2016 um 22:39 schrieb Chris Muller:
> Excellent!
>
> Now I have to wonder if this also fixes the problem with
> saving/restoring Projects...
>
> Worth a try, Herbert?
>
>
> On Thu, Sep 8, 2016 at 2:50 PM, <commits at source.squeak.org> wrote:
>> Bert Freudenberg uploaded a new version of System to project The Trunk:
>> http://source.squeak.org/trunk/System-bf.914.mcz
>>
>> ==================== Summary ====================
>>
>> Name: System-bf.914
>> Author: bf
>> Time: 8 September 2016, 9:49:26.777611 pm
>> UUID: 5fae5167-168c-4c08-8f4f-a624c6f39fb5
>> Ancestors: System-cmm.913
>>
>> Fix DataStream reading of Characters on Spur.
>>
>> =============== Diff against System-cmm.913 ===============
>>
>> Item was changed:
>> ----- Method: DataStream>>readCharacterOfSize: (in category 'write and read') -----
>> readCharacterOfSize: instSize
>> + "Character changed to an immediate class in Spur"
>> | refPosn val |
>> self assert: instSize = 1.
>> refPosn := self getCurrentReference.
>> + self setCurrentReference: refPosn. "before recursion - not really needed for integer"
>> - self setCurrentReference: refPosn.
>> val := self next.
>> + self assert: val isInteger.
>> + self setCurrentReference: refPosn. "before returning to next"
>> ^ Character value: val.
>> !
>>
>> Item was changed:
>> ----- Method: DataStream>>readInstance (in category 'write and read') -----
>> readInstance
>> "PRIVATE -- Read the contents of an arbitrary instance.
>> ASSUMES: readDataFrom:size: sends me beginReference: after it
>> instantiates the new object but before reading nested objects.
>> NOTE: We must restore the current reference position after
>> recursive calls to next.
>> Let the instance, not the class read the data. "
>> | instSize aSymbol refPosn anObject newClass |
>>
>> instSize := (byteStream nextNumber: 4) - 1.
>> refPosn := self getCurrentReference.
>> aSymbol := self next.
>> + (aSymbol == #Character or: [aSymbol isCharacter "hack - why does this happen?"])
>> - aSymbol == #Character
>> ifTrue: [^ self readCharacterOfSize: instSize].
>> newClass := Smalltalk at: aSymbol asSymbol.
>> anObject := newClass isVariable "Create object here"
>> ifFalse: [newClass basicNew]
>> ifTrue: [newClass basicNew: instSize - (newClass instSize)].
>> self setCurrentReference: refPosn. "before readDataFrom:size:"
>> anObject := anObject readDataFrom: self size: instSize.
>> self setCurrentReference: refPosn. "before returning to next"
>> ^ anObject!
>>
>> Item was changed:
>> ----- Method: DataStream>>vacantRef (in category 'other') -----
>> vacantRef
>> "Answer the magic 32-bit constant we use ***ON DISK*** as a stream 'reference
>> position' to identify a reference that's not yet filled in. This must be a
>> value that won't be used as an ordinary reference. Cf. outputReference: and
>> readReference. --
>> NOTE: We could use a different type ID for vacant-refs rather than writing
>> object-references with a magic value. (The type ID and value are
>> overwritten by ordinary object-references when weak refs are fullfilled.)"
>>
>> + ^1073741823 "Hardcode former SmallInteger maxVal"!
>> - ^ SmallInteger maxVal!
>>
>>
More information about the Squeak-dev
mailing list
|