Marcel Taeumel uploaded a new version of Tools to project The Trunk: http://source.squeak.org/trunk/Tools-ct.1217.mcz
==================== Summary ====================
Name: Tools-ct.1217 Author: ct Time: 3 June 2023, 10:27:19.522136 pm UUID: 0c2e8345-da8a-b74d-a527-510fdf8c7ce5 Ancestors: Tools-ct.1216
Fixes change logging for methods that are recompiled from a browser without its existing category being selected. Previously, this kept the organization in the image intact but logged a {nil} category to the change set and to the changes file.
=============== Diff against Tools-ct.1216 ===============
Item was changed: ----- Method: Browser>>defineMessageFrom:notifying: (in category 'message functions') ----- defineMessageFrom: aString notifying: aController "Compile the expressions in aString. Notify aController if a syntax error occurs. Install the compiled method in the selected class classified under the currently selected message category name. Answer the selector obtained if compilation succeeds, nil otherwise." | currentSelector selector category oldMessageList selectedClassOrMetaClass | currentSelector := self selectedMessageName. oldMessageList := self messageList. selectedClassOrMetaClass := self selectedClassOrMetaClass. contents := nil. selector := (selectedClassOrMetaClass newParser parseSelector: aString). (self metaClassIndicated and: [(selectedClassOrMetaClass includesSelector: selector) not and: [Metaclass isScarySelector: selector]]) ifTrue: ["A first-time definition overlaps the protocol of Metaclasses" (self confirm: ((selector , ' is used in the existing class system. Overriding it could cause serious problems. Is this really what you want to do?') asText makeBoldFrom: 1 to: selector size)) ifFalse: [^nil]]. category := currentSelector + ifNil: [ self selectedMessageCategoryName ifNil: [ selectedClassOrMetaClass whichCategoryIncludesSelector: selector ] ] - ifNil: [ self selectedMessageCategoryName ] ifNotNil: [ (selectedClassOrMetaClass >> selectedMessageName) methodReference ifNotNil: [ : ref | ref category ]]. selector := selectedClassOrMetaClass compile: aString classified: category notifying: aController. selector ifNil: [^ nil]. contents := aString copy.
self changed: #messageCategoryList. "Because the 'as yet unclassified' might just appear." self changed: #messageList. "Because we have code-dependent list formatting by now such as #isDeprecated." selector ~~ currentSelector ifTrue: [category = ClassOrganizer nullCategory ifTrue: [self changed: #classSelectionChanged. self changed: #classList. self messageCategoryListIndex: 1]. self setClassOrganizer. "In case organization not cached" (oldMessageList includes: selector) ifFalse: [self changed: #messageList]. self messageListIndex: (self messageList indexOf: selector)]. ^ selector!
packages@lists.squeakfoundation.org