[squeak-dev] The Inbox: Tools-tcj.832.mcz
commits at source.squeak.org
commits at source.squeak.org
Sun Oct 21 22:50:28 UTC 2018
A new version of Tools was added to project The Inbox:
http://source.squeak.org/inbox/Tools-tcj.832.mcz
==================== Summary ====================
Name: Tools-tcj.832
Author: tcj
Time: 21 October 2018, 3:50:02.553053 pm
UUID: 52acbd13-8832-4974-b7ae-2f0ecfd3b4d7
Ancestors: Tools-cmm.831
Handle case where a minimized project window is deleted (and thus a changeset is removed) while a Simple Change Sorter window is open. Stops a DNU from arising.
Perhaps there is a more graceful way to handle this occasion in ChangeSorter>>#update or #updateIfNecessary
=============== Diff against Tools-cmm.831 ===============
Item was changed:
----- Method: ChangeSorter>>setContents (in category 'code pane') -----
setContents
"return the source code that shows in the bottom pane"
| sel class strm changeType |
self clearUserEditFlag.
+ myChangeSet ifNil: [^ contents := '']. "should not happen but can"
currentClassName ifNil: [^ contents := myChangeSet preambleString ifNil: ['']].
class := self selectedClassOrMetaClass.
(sel := self selectedMessageName) == nil
ifFalse: [changeType := (myChangeSet atSelector: (sel := sel asSymbol) class: class).
changeType == #remove
ifTrue: [^ contents := 'Method has been removed (see versions)'].
changeType == #addedThenRemoved
ifTrue: [^ contents := 'Added then removed (see versions)'].
class ifNil: [^ contents := 'Method was added, but cannot be found!!'].
(class includesSelector: sel)
ifFalse: [^ contents := 'Method was added, but cannot be found!!'].
contents := class sourceCodeAt: sel.
(#(prettyPrint prettyDiffs) includes: contentsSymbol) ifTrue:
[contents := class prettyPrinterClass
format: contents in: class notifying: nil].
self showingAnyKindOfDiffs
ifTrue: [contents := self diffFromPriorSourceFor: contents].
^ contents := contents asText makeSelectorBoldIn: class]
ifTrue: [strm := WriteStream on: (String new: 100).
(myChangeSet classChangeAt: (self withoutItemAnnotation: currentClassName)) do:
[:each |
each = #remove ifTrue: [strm nextPutAll: 'Entire class was removed.'; cr].
each = #addedThenRemoved ifTrue: [strm nextPutAll: 'Class was added then removed.'].
each = #rename ifTrue: [strm nextPutAll: 'Class name was changed.'; cr].
each = #add ifTrue: [strm nextPutAll: 'Class definition was added.'; cr].
each = #change ifTrue: [strm nextPutAll: 'Class definition was changed.'; cr].
each = #reorganize ifTrue: [strm nextPutAll: 'Class organization was changed.'; cr].
each = #comment ifTrue: [strm nextPutAll: 'New class comment.'; cr.
]].
^ contents := strm contents].!
More information about the Squeak-dev
mailing list
|