[squeak-dev] The Trunk: Monticello-ct.715.mcz
Jakob Reschke
forums.jakob at resfarm.de
Thu Apr 9 22:03:47 UTC 2020
Forgot to mention the net result of the issue: the postscripts gets
effectively removed in the saved version.
Am Fr., 10. Apr. 2020 um 00:02 Uhr schrieb Jakob Reschke
<forums.jakob at resfarm.de>:
>
> It looks like this broke the writing of postscripts in FileTree repositories.
>
> MCFileTreePackageStructureStWriter>>acceptVisitor:forDefinitions:
> (MCDependencySorter sortItems: aCollection) does not include an
> MCPostscriptDefinition that is still present in aCollection.
>
> MCDependencySorter class>>sortItems:
> The sorter includes the MCPostscriptDefinition in the new deferred
> list, but not in the orderedItems. Therefore it is not included in the
> result of sortItems:, because it only returns the orderedItems, not
> the deferred ones.
>
> Christoph, can and must sortItems: be fixed or a different method?
>
>
> Am Do., 5. März 2020 um 21:05 Uhr schrieb <commits at source.squeak.org>:
> >
> > Nicolas Cellier uploaded a new version of Monticello to project The Trunk:
> > http://source.squeak.org/trunk/Monticello-ct.715.mcz
> >
> > ==================== Summary ====================
> >
> > Name: Monticello-ct.715
> > Author: ct
> > Time: 6 February 2020, 6:58:26.533648 pm
> > UUID: 199bf8a3-5eee-1045-a44b-89ad30fa5523
> > Ancestors: Monticello-cmm.708
> >
> > Fixes wrong load and unload order of MCScriptDefinitions
> >
> > See http://forum.world.st/Monticello-Bug-Preamble-of-removal-is-executed-too-late-tp5108401.html. Regression tests are in Tests-ct.426.
> >
> > Please review!
> >
> > =============== Diff against Monticello-cmm.708 ===============
> >
> > Item was added:
> > + ----- Method: MCDefinition>>wantsToBeOutermost (in category 'testing') -----
> > + wantsToBeOutermost
> > +
> > + ^ false!
> >
> > Item was changed:
> > Object subclass: #MCDependencySorter
> > + instanceVariableNames: 'required provided deferred orderedItems'
> > - instanceVariableNames: 'required provided orderedItems'
> > classVariableNames: ''
> > poolDictionaries: ''
> > category: 'Monticello-Loading'!
> >
> > Item was changed:
> > ----- Method: MCDependencySorter>>add: (in category 'building') -----
> > add: anItem
> > | requirements |
> > + (anItem wantsToBeOutermost)
> > + ifTrue: [^self addDeferred: anItem].
> > requirements := self unresolvedRequirementsFor: anItem.
> > requirements isEmpty
> > ifTrue: [self addToOrder: anItem]
> > ifFalse: [self addRequirements: requirements for: anItem].
> > ^anItem!
> >
> > Item was added:
> > + ----- Method: MCDependencySorter>>addDeferred (in category 'building') -----
> > + addDeferred
> > + deferred do: [:ea |
> > + self addToOrder: ea].!
> >
> > Item was added:
> > + ----- Method: MCDependencySorter>>addDeferred: (in category 'private') -----
> > + addDeferred: anItem
> > + ^ deferred add: anItem!
> >
> > Item was changed:
> > ----- Method: MCDependencySorter>>initialize (in category 'initialize-release') -----
> > initialize
> > provided := Set new.
> > required := Dictionary new.
> > + orderedItems := OrderedCollection new.
> > + deferred := OrderedCollection new.!
> > - orderedItems := OrderedCollection new.!
> >
> > Item was changed:
> > ----- Method: MCPackageLoader>>sorterForItems: (in category 'private') -----
> > sorterForItems: aCollection
> > | sorter |
> > sorter := MCDependencySorter items: aCollection.
> > sorter addExternalProvisions: self provisions.
> > + sorter addDeferred.
> > ^ sorter!
> >
> > Item was added:
> > + ----- Method: MCPostscriptDefinition>>wantsToBeOutermost (in category 'nil') -----
> > + wantsToBeOutermost
> > +
> > + ^ true!
> >
> > Item was added:
> > + ----- Method: MCRemovalPreambleDefinition>>wantsToBeOutermost (in category 'testing') -----
> > + wantsToBeOutermost
> > +
> > + ^ true!
> >
> >
More information about the Squeak-dev
mailing list
|