[squeak-dev] The Trunk: Tools-ul.276.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Nov 6 04:25:32 UTC 2010


Levente Uzonyi uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-ul.276.mcz

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

Name: Tools-ul.276
Author: ul
Time: 6 November 2010, 4:10:08.889 am
UUID: e7a95acb-6dee-e348-9725-7063ed5a72f7
Ancestors: Tools-ul.275

- use ClassDiffBuilder for diffing class definitions and comments in ChangeList
- if MessageTally is not in memory, then don't load it in Debugger >> #process:controller:context: (from Cuis)

=============== Diff against Tools-ul.275 ===============

Item was changed:
  ----- Method: ChangeList>>contentsDiffedFromCurrent (in category 'viewing access') -----
  contentsDiffedFromCurrent
  	"Answer the contents diffed forward from current (in-memory) method version"
  
  	| aChange aClass |
  	listIndex = 0
  		ifTrue: [^ ''].
  	aChange := changeList at: listIndex.
  	 (aChange type == #method
  	 and: [(aClass := aChange methodClass) notNil
  	 and: [aClass includesSelector: aChange methodSelector]]) ifTrue:
  		[^Utilities
  			methodDiffFor: aChange text
  			class: aClass
  			selector: aChange methodSelector
  			prettyDiffs: self showingPrettyDiffs].
  
  	aChange type == #doIt ifTrue:
  		[| tokens |
  		 tokens := Scanner new scanTokens: aChange string.
  		 ((tokens select:
  				[:substr| #(subclass: variableByteSubclass: variableWordSubclass:
  							instanceVariableNames: classVariableNames: ) includes: substr])
  					asSet size >= 3
  		  and: [(aClass := Smalltalk at: tokens third ifAbsent: []) notNil
  		  and: [aClass isBehavior]]) ifTrue:
+ 			[^ClassDiffBuilder buildDisplayPatchFrom: aClass definition to: aChange string].
- 			[^TextDiffBuilder buildDisplayPatchFrom: aClass definition to: aChange string].
  
  		(tokens size = 4
  		 and: [tokens second == #class
  		 and: [tokens third == #instanceVariableNames:
  		 and: [(aClass := Smalltalk at: tokens first ifAbsent: []) notNil
  		 and: [aClass isBehavior]]]]) ifTrue:
+ 			[^ClassDiffBuilder buildDisplayPatchFrom: aClass class definition to: aChange string]].
- 			[^TextDiffBuilder buildDisplayPatchFrom: aClass class definition to: aChange string]].
  
  	(aChange type == #classComment
  	and: [(aClass := aChange commentClass) notNil]) ifTrue:
+ 		[^ClassDiffBuilder buildDisplayPatchFrom: aClass comment asString to: aChange string].
- 		[^TextDiffBuilder buildDisplayPatchFrom: aClass comment asString to: aChange string].
  
  	^(changeList at: listIndex) text!

Item was changed:
  ----- Method: Debugger>>process:controller:context: (in category 'private') -----
  process: aProcess controller: aController context: aContext
  
  	super initialize.
+ 	Smalltalk at: #MessageTally ifPresentAndInMemory: [ :tally |
+ 		tally terminateTimerProcess].
- 	Smalltalk at: #MessageTally ifPresent:[:tally| tally terminateTimerProcess].
  	contents := nil. 
  	interruptedProcess := aProcess.
  	interruptedController := aController.
  	contextStackTop := aContext.
  	self newStack: (contextStackTop stackOfSize: 1).
  	contextStackIndex := 1.
  	externalInterrupt := false.
  	selectingPC := true.
  	Smalltalk isMorphic ifTrue:
  		[errorWasInUIProcess := false]!




More information about the Squeak-dev mailing list