Marcel Taeumel uploaded a new version of Tools to project The Trunk: http://source.squeak.org/trunk/Tools-mt.896.mcz
==================== Summary ====================
Name: Tools-mt.896 Author: mt Time: 1 October 2019, 12:51:43.394611 pm UUID: 64caf9cf-236a-a744-9d3d-2f33f66647d9 Ancestors: Tools-mt.895
Fixes a tool-update bug when drag-dropping classes or methods between categories.
This surfaced only now because I recently cached #getFullList in PluggableListMorph. Now we notice those missing "self changed: #myListSelector" in tool models. I suppose that only "more recent" features - such as this drag-and-drop feature - might be affected because list filtering is not around *that* long.
=============== Diff against Tools-mt.895 ===============
Item was changed: ----- Method: Browser>>dropOnMessageCategories:at: (in category 'drag and drop') ----- dropOnMessageCategories: method at: index
| sourceClass destinationClass category copy | copy := Sensor shiftPressed. (method isKindOf: CompiledMethod) ifFalse:[^self inform: 'Can only drop methods']. sourceClass := method methodClass. destinationClass := self selectedClassOrMetaClass. sourceClass == destinationClass ifTrue:[ category := self messageCategoryList at: index. category = ClassOrganizer allCategory ifTrue: [^false]. destinationClass organization classify: method selector under: category suppressIfDefault: false logged: true. + self changed: #messageCategoryList. + self changed: #messageList. ^true ]. (copy or: [ (destinationClass inheritsFrom: sourceClass) or: [ (sourceClass inheritsFrom: destinationClass) or: [ sourceClass theNonMetaClass == destinationClass theNonMetaClass ] ] ]) ifFalse: [ (self confirm: ( 'Classes "{1}" and "{2}" are unrelated.{3}Are you sure you want to move this method?' format: { sourceClass. destinationClass. Character cr })) ifFalse: [ ^false ] ]. destinationClass compile: method getSource classified: (self messageCategoryList at: index) withStamp: method timeStamp notifying: nil. copy ifFalse: [ sourceClass removeSelector: method selector ]. ^true!
Item was changed: ----- Method: Browser>>dropOnSystemCategories:at: (in category 'drag and drop') ----- dropOnSystemCategories: aClass at: index | category | (aClass isBehavior) ifFalse:[^self inform: 'Can only drop classes']. category := self systemCategoryList at: index. self selectedEnvironment organization classify: aClass instanceSide name under: category. + self changed: #systemCategoryList. + self changed: #classList. ^true!
squeak-dev@lists.squeakfoundation.org