Marcel Taeumel uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-mt.795.mcz==================== Summary ====================
Name: System-mt.795
Author: mt
Time: 12 February 2016, 4:38:53.110094 pm
UUID: ba0ba866-6fa0-496f-bfa8-23f4116f3e01
Ancestors: System-dtl.794
Add support for projects that do not have a world set. (Note that I need this for a demonstration of a minimal Squeak project to encourage discussions about next steps in the Squeak community.)
=============== Diff against System-dtl.794 ===============
Item was changed:
----- Method: Project>>okToChange (in category 'release') -----
okToChange
"Answer whether the window in which the project is housed can be dismissed -- which is destructive. We never clobber a project without confirmation"
| ok is list |
self subProjects size >0 ifTrue:
[self inform:
('The project {1}
contains sub-projects. You must remove these
explicitly before removing their parent.' translated format:{self name}).
^ false].
+ ok := world isNil or: [world isMorph not and: [world scheduledControllers size <= 1]].
- ok := world isMorph not and: [world scheduledControllers size <= 1].
ok ifFalse: [self isMorphic ifTrue:
[self parent == CurrentProject
ifFalse: [^ true]]]. "view from elsewhere. just delete it."
ok := self confirm:
('Really delete the project
{1}
and all its windows?' translated format:{self name}).
ok ifFalse: [^ false].
world isMorph ifTrue:
[Smalltalk at: #WonderlandCameraMorph ifPresent:[:aClass |
world submorphs do: "special release for wonderlands"
[:m | (m isKindOf: aClass)
and: [m getWonderland release]]].
"Remove Player classes and metaclasses owned by project"
is := ImageSegment new arrayOfRoots: (Array with: self).
(list := is rootsIncludingPlayers) ifNotNil:
[list do: [:playerCls |
(playerCls respondsTo: #isMeta) ifTrue:
[playerCls isMeta ifFalse:
[playerCls removeFromSystemUnlogged]]]]].
self removeChangeSetIfPossible.
"do this last since it will render project inaccessible to #allProjects and their ilk"
ProjectHistory forget: self.
Project deletingProject: self.
^ true
!