Chris Muller uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-cmm.509.mcz==================== Summary ====================
Name: Tools-cmm.509
Author: cmm
Time: 14 December 2013, 5:00:11.597 pm
UUID: a39117a0-d6c4-4a71-b55a-b06198bb76d4
Ancestors: Tools-nice.508
SetInspector don't blow up when the Set suddenly has fewer elements than the selection index.
=============== Diff against Tools-nice.508 ===============
Item was changed:
----- Method: Inspector>>printStringErrorText (in category 'private') -----
printStringErrorText
| nm |
nm := self selectionIndex < 3
+ ifTrue: ['self']
+ ifFalse: [self selectedSlotName].
+ ^ (nm
+ ifNil: ['no selection']
+ ifNotNil:
+ [nm first isDigit
+ ifTrue: ['<error in printString: evaluate "(self at: ' , nm , ') printString" to debug>']
+ ifFalse: ['<error in printString: evaluate "' , nm , ' printString" to debug>'] ]) asText!
- ifTrue: ['self']
- ifFalse: [self selectedSlotName].
- ^(nm first isDigit
- ifTrue: ['<error in printString: evaluate "(self at: ' , nm , ') printString" to debug>']
- ifFalse: ['<error in printString: evaluate "' , nm , ' printString" to debug>']) asText.!
Item was changed:
----- Method: SetInspector>>selection (in category 'selecting') -----
selection
selectionIndex = 0 ifTrue: [^ ''].
selectionIndex = 1 ifTrue: [^ object].
selectionIndex = 2 ifTrue: [^ object longPrintString].
(selectionIndex - 2) <= object class instSize
ifTrue: [^ object instVarAt: selectionIndex - 2].
+ ^ object array at: self arrayIndexForSelection ifAbsent: [ String empty ]!
- ^ object array at: self arrayIndexForSelection!