David T. Lewis uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-dtl.164.mcz==================== Summary ====================
Name: System-dtl.164
Author: dtl
Time: 11 November 2009, 10:20:21 am
UUID: d2f70c3a-4bcb-4ca8-b29f-72b040525c4a
Ancestors: System-dtl.163
Factor Project>>saveState into MVCProject and MorphicProject.
Flag Project>>enterForEmergencyRecovery for later removal, per discussion:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2009-November/140762.html=============== Diff against System-dtl.163 ===============
Item was changed:
+ ----- Method: Project>>saveState (in category 'enter') -----
- ----- Method: Project>>saveState (in category 'menu messages') -----
saveState
"Save the current state in me prior to leaving this project"
+ self subclassResponsibility!
- changeSet := ChangeSet current.
- thumbnail ifNotNil: [thumbnail hibernate].
- Smalltalk isMorphic
- ifTrue:
- [world := World.
- world sleep.
- ActiveWorld := ActiveHand := ActiveEvent := nil]
- ifFalse:
- [world := ScheduledControllers.
- ScheduledControllers unCacheWindows].
- Sensor flushAllButDandDEvents. "Will be reinstalled by World>>install"
- transcript := Transcript.
- !
Item was changed:
----- Method: Project>>enterForEmergencyRecovery (in category 'enter') -----
enterForEmergencyRecovery
"This version of enter invokes an absolute minimum of mechanism.
An unrecoverable error has been detected in an isolated project.
It is assumed that the old changeSet has already been revoked.
No new process gets spawned here. This will happen in the debugger."
+
+ self flag: #toRemove. "dtl Nov 2009: Per guidance from ar, this is part of an experimental
+ project and should be removed (along with #setWorldForEmergencyRecovery).
+ Currently there are senders that must be resolved prior to removal. Reference:
+
http://lists.squeakfoundation.org/pipermail/squeak-dev/2009-November/140762.html"
self isCurrentProject ifTrue: [^ self].
CurrentProject saveState.
CurrentProject := self.
Display newDepthNoRestore: displayDepth.
ChangeSet newChanges: changeSet.
TranscriptStream newTranscript: transcript.
World pauseEventRecorder.
self setWorldForEmergencyRecovery.
UIProcess := Processor activeProcess
!