[squeak-dev] The Trunk: Monticello-ar.333.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Nov 19 05:27:00 UTC 2009


Andreas Raab uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-ar.333.mcz

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

Name: Monticello-ar.333
Author: ar
Time: 18 November 2009, 9:26:42 am
UUID: c9c1ed47-f7f9-6f49-ae11-682ccd81801c
Ancestors: Monticello-ul.332

Remove progress bar from the core installation loop since it can call methods that aren't installed yet.

=============== Diff against Monticello-ul.332 ===============

Item was changed:
  ----- Method: MCPackageLoader>>basicLoad (in category 'private') -----
  basicLoad
  	errorDefinitions := OrderedCollection new.
  	[["Pass 1: Load everything but the methods,  which are collected in methodAdditions."
  	additions do: [:ea | 
  		[ea isMethodDefinition 
  			ifTrue:[methodAdditions add: ea asMethodAddition]
  			ifFalse:[ea load]]on: Error do: [errorDefinitions add: ea].
  	] displayingProgress: 'Reshaping classes...'.
  
  	"Pass 2: We compile new / changed methods"
  	methodAdditions do:[:ea| ea createCompiledMethod] displayingProgress: 'Compiling...'.
  
+ 	'Installing...' displayProgressAt: Sensor cursorPoint from: 0 to: 2 during:[:bar|
+ 		"There is progress *during* installation since a progress bar update
+ 		will redraw the world and potentially call methods that we're just trying to install."
+ 		bar value: 1.
- 	"Pass 3: Install the new / changed methods
- 	(this is a separate pass to allow compiler changes to be loaded)"
- 	methodAdditions do:[:ea| ea installMethod] displayingProgress: 'Installing...'.
  
+ 		"Pass 3: Install the new / changed methods
+ 		(this is a separate pass to allow compiler changes to be loaded)"
+ 		methodAdditions do:[:ea| ea installMethod].
+ 
+ 		"Pass 4: Remove the obsolete methods"
+ 		removals do:[:ea| ea unload].
+ 	].
- 	"Pass 4: Remove the obsolete methods"
- 	removals do:[:ea| ea unload] displayingProgress: 'Cleaning up ...'.
  
  	"Try again any delayed definitions"
  	self shouldWarnAboutErrors ifTrue: [self warnAboutErrors].
  	errorDefinitions do: [:ea | ea load] displayingProgress: 'Reloading...'.
  
  	"Finally, notify observers for the method additions"
  	methodAdditions do: [:each | each notifyObservers].
  
  	additions do: [:ea | ea postloadOver: (self obsoletionFor: ea)] displayingProgress: 'Initializing...'
  	] on: InMidstOfFileinNotification do: [:n | n resume: true]
  	] ensure: [self flushChangesFile]!




More information about the Squeak-dev mailing list