[squeak-dev] SqueakMap error -- display of installed packages

H. Hirzel hannes.hirzel at gmail.com
Sat Sep 12 13:47:57 UTC 2015

The SqueakMap Package Loader window has as model an instance of SMLoaderPlus

And this are the selectors of interest

	^[:package | package isInstalled]

	^[:package | package isSafelyAvailable]

SMLoaderPlus has an instance variable called 'filters' which has as content

an OrderedCollection(#filterInstalled #filterSafelyAvailable)

for the case at hand, i.e. when both are selected.

This instance variable is accessed by

SMLoaderPlus >>packageListCalculated
	"Return a list of the SMPackages that should be visible
	by applying all the filters. Also filter based on the currently
	selected category - if any."
	^ self packages select: [:p |
		filters allSatisfy: [:currFilter |
			currFilter isSymbol
				ifTrue: [(self perform: currFilter) value: p]
				ifFalse: [self package: p filteredByCategory: (map object: currFilter)]]]


is used which means that this is an 'and' operation.

If it is replaced by


it starts working as intended.

On 9/11/15, Chris Muller <asqueaker at gmail.com> wrote:
> Right, it looks like the filters form a conjunction.  Probably
> intentional, but not necessarily what we still want today.  SqueakMap
> client window could stand to be scrtuinized and improved.
> On Fri, Sep 11, 2015 at 3:45 AM, H. Hirzel <hannes.hirzel at gmail.com> wrote:
>> Hello
>> Error report:
>> If in SqueakMap both options are ticked
>>    'New safely available packages'
>>    'Installed packages'
>> nothing is shown.
>> However if I only tick
>>     'Installed packages'
>> then the installed package is shown. So the selection is not cumulative.
>> Regards
>> Hannes

More information about the Squeak-dev mailing list