Nicolas Cellier uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/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]]!