The Inbox: Tools-ct.952.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: Tools-ct.952.mcz

commits-2
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]]!