diff -r aed594275d40 -r c14bcbda280c Tools_ClassList.st --- a/Tools_ClassList.st Wed Mar 13 23:36:14 2013 +0100 +++ b/Tools_ClassList.st Thu Mar 14 00:56:35 2013 +0100 @@ -1019,15 +1019,20 @@ ^ Iterator on:[:whatToDo | - |allEntry classes cls already anyMethod packages classIsInPackage showChanged changedClasses| + |allEntry classes cls already anyMethod packages classIsInPackage + showChanged changedClasses| allEntry := self class nameListEntryForALL. - changedClasses := ChangeSet current changedClasses. classes := self selectedClasses value ? #(). packages := packageFilter value value. + (packages notNil and:[packages includes:allEntry]) ifTrue:[packages := nil]. + showChanged := packages notNil and:[packages includes:NavigatorModel nameListEntryForChanged]. + showChanged ifTrue:[ + changedClasses := ChangeSet current changedClasses. + ]. classes do:[:cls | (cls notNil and:[cls ~~ allEntry]) ifTrue:[ @@ -1043,7 +1048,9 @@ whatToDo value:cls value:(self class nameListEntryForNonStatic). ] ] ifFalse:[ - cls supportsMethodCategories ifTrue:[ + cls supportsMethodCategories ifFalse:[ + whatToDo value:cls value:(self class nameListEntryForNILCategory). + ] ifTrue:[ already := Set new. cls methodDictionary keysAndValuesDo:[:sel :mthd | |cat| @@ -1051,16 +1058,14 @@ cat := mthd category. (already includes:cat) ifFalse:[ (classIsInPackage - or:[packages isNil - or:[packages includes:mthd package]]) + or:[packages isNil + or:[(packages includes:mthd package) ]]) ifTrue:[ already add:cat. whatToDo value:cls value:cat. ] ] ]. - ] ifFalse:[ - whatToDo value:cls value:(self class nameListEntryForNILCategory). ]. ]. @@ -1081,20 +1086,25 @@ ^ Iterator on:[:whatToDo | - |allEntry classes cls already packages classIsInPackage showChanged cat | + |allEntry classes cls already packages classIsInPackage + showChanged changedClasses cat | allEntry := self class nameListEntryForALL. classes := self selectedClasses value ? #(). packages := packageFilter value value. (packages notNil and:[packages includes:allEntry]) ifTrue:[packages := nil]. + showChanged := packages notNil and:[packages includes:NavigatorModel nameListEntryForChanged]. + showChanged ifTrue:[ + changedClasses := ChangeSet current changedClasses. + ]. classes do:[:cls | (cls notNil and:[cls ~~ allEntry]) ifTrue:[ classIsInPackage := packages isNil or:[(packages includes:cls package) - or:[ showChanged and:[ChangeSet current changedClasses includes:cls]] ]. + or:[ showChanged and:[changedClasses includes:cls]] ]. cls isMeta ifTrue:[ cat := self class nameListEntryForStatic. ] ifFalse:[ @@ -2016,9 +2026,10 @@ !ClassList class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.70 2012-11-07 14:21:22 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.71 2013-03-13 23:56:35 cg Exp $' ! version_CVS - ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.70 2012-11-07 14:21:22 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.71 2013-03-13 23:56:35 cg Exp $' ! ! +