[squeak-dev] The Inbox: Tools-ct.952.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Mar 2 13:52:06 UTC 2020


Christoph Thiede uploaded a new version of Tools to project The Inbox:
http://source.squeak.org/inbox/Tools-ct.952.mcz

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

Name: Tools-ct.952
Author: ct
Time: 2 March 2020, 2:52:00.705976 pm
UUID: 3497b3a9-fd0d-d447-8ddf-31b89d99f92a
Ancestors: Tools-mt.940

Fixes an invalidation bug in the debugger's stack list display optimization

For the full bug report, see http://forum.world.st/BUG-in-Debugger-gt-gt-newStack-optimization-td5112726.html. Please review!

=============== Diff against Tools-mt.940 ===============

Item was changed:
  ----- Method: Debugger>>newStack: (in category 'private') -----
  newStack: stack
  	| oldStack diff |
  	oldStack := contextStack.
  	contextStack := stack.
  	(oldStack == nil or: [oldStack last ~~ stack last])
  		ifTrue: [contextStackList := contextStack collect: [:ctx | ctx printString].
  				^ self].
  	"May be able to re-use some of previous list"
  	diff := stack size - oldStack size.
  	contextStackList := diff <= 0
  		ifTrue: [contextStackList copyFrom: 1-diff to: oldStack size]
+ 		ifFalse: [(diff = 1 and: [stack second == oldStack first])
+ 			ifTrue: [contextStackList copyWithFirst: stack first printString]
+ 			ifFalse: [contextStack collect: [:ctx | ctx printString]]]!
- 		ifFalse: [diff > 1
- 				ifTrue: [contextStack collect: [:ctx | ctx printString]]
- 				ifFalse: [(Array with: stack first printString) , contextStackList]]!



More information about the Squeak-dev mailing list