[squeak-dev] The Inbox: Protocols-jmck.44.mcz

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Fri Sep 6 20:20:10 UTC 2013


That's the limit of select:thenCollect:, it would have to be declined into
select:thenCollect:as:...

Anyway, #CustomEvents was a value of the Dictionary no?
So you would not expect removeKey: to remove a value, would you?

It could be:

aList := ((self allStandardVocabularies select: #representsAType) collect:
#vocabularyName as: Array) sorted.
Preferences allowEtoyUserCustomEvents ifFalse: [^aList copyWithout:
#CustomEvents].
^aList



2013/9/6 Bob Arning <arning315 at comcast.net>

>  The issue is that Dictionary>>collect: used to return an
> OrderedCollection. Now it returns a Dictionary.
>
> Cheers,
> Bob
>
>  On 9/6/13 10:07 AM, Bert Freudenberg wrote:
>
> On 2013-09-06, at 08:21, Frank Shearar <frank.shearar at gmail.com> <frank.shearar at gmail.com> wrote:
>
>
>  On 6 September 2013 00:59,  <commits at source.squeak.org> <commits at source.squeak.org> wrote:
>
>  A new version of Protocols was added to project The Inbox:http://source.squeak.org/inbox/Protocols-jmck.44.mcz
>
> ==================== Summary ====================
>
> Name: Protocols-jmck.44
> Author: jmck
> Time: 5 September 2013, 7:59:50.198 pm
> UUID: c4a851ef-6f9c-6f43-b0f4-b4ff12060089
> Ancestors: Protocols-fbs.43
>
> Vocabulary class>>typeChoices throws an error if Preferences>>allowEtoysUserCustomEvents is false
> Mantis #7786
>
> =============== Diff against Protocols-fbs.43 ===============
>
> Item was changed:
>  ----- Method: Vocabulary class>>typeChoices (in category 'type vocabularies') -----
>  typeChoices
>        "Answer a list of all user-choosable data types"
>
>        | aList |
>        (aList := self allStandardVocabularies
>                select:
>                        [:aVocab | aVocab representsAType]
>                thenCollect:
>                        [:aVocab | aVocab vocabularyName]).
> +       Preferences allowEtoyUserCustomEvents ifFalse: [aList removeKey: #CustomEvents].
> -       Preferences allowEtoyUserCustomEvents ifFalse: [aList remove: #CustomEvents ifAbsent: []].
>        ^ aList asSortedArray!
>
>
> I'm not in front of an image right now, but I find it a bit strange
> that something Dictionary-y like #removeKey: is being sent to
> something called "aList".
>
> If aList will contain a Dictionary sometimes and a list-like
> collection (Array, OrderedCollection) other times, first let me run
> and hide in a corner so my crying doesn't upset anyone, and second
> let's change the variable name to aListOrDictionary.
>
>
> No, the proposed "fix" is just plain wrong.
>
> #allStandardVocabularies answers an IdentityDictionary, and aList is an OrderedCollection (at least in the Etoys image) so the original #remove:ifAbsent: makes sense, whereas #removeKey: does not.
>
> - Bert -
>
>
>
>
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20130906/1d92356f/attachment.htm


More information about the Squeak-dev mailing list