[UPDATES] 9 for 3.6alpha
Bruce ONeel
edoneel at sdf.lonestar.org
Mon Jun 23 12:50:45 UTC 2003
Hi,
Thanks, these are now up on the ftp site as:
ftp://st.cs.uiuc.edu/pub/Smalltalk/Squeak/3.6alpha/Squeak3.6a-5278.zip
cheers
bruce
Doug Way <dway at riskmetrics.com> wrote:
>
> These should be all of the current outstanding [approved] items in the
> bug fixes archive. (At least they were according to the
> BugFixesArchiveViewer.)
>
> - Doug Way
>
>
> ---------------------------
> 5270MailSenderFix-ads -- Adam Spitz -- 10 May 2003
> A fix for a silly bug that I created while mucking with the Celeste
> Removal code. This change set does nothing except change the one sender
> of #preferred to send #default instead."
>
> 5271FileContentsBrwsr-tpr -- tim at sumeru.stanford.edu -- 2 June 2003
> As of a 5240 image, FileContentsBrowsers need this small change to keep
> #senders working"
>
> 5272GIFAnim-bf -- Bert Freudenberg -- 29 May 2003
> Write animated GIFs - see GIFReadWriter>>exampleAnim.
> This is some old code (from 1996) resurrected. "
>
> 5273SmallIntegerTypo-md -- Marcus Denker -- 5 June 2003
> Repost of the typo-fix as a changeset, Original message to the list was:
> Subject: [FIX] SmallInteger digitAt:put:
> Author: shane at shaneroberts.com
> Date Posted: 14 February 2003
> Comments: The SmallInteger class has a typographical error in the error
> message for the digitAt:put method."
>
> 5274permutationsDo-dtl -- David T. Lewis -- 31 May 2003
> The example in the method comment of
> SequenceableCollection>>permutationsDo: does not work. Adding a
> #permutationsDo: method to class Interval fixes this. The interval is
> converted to an Array to produce the intended behavior.
> MD: removed the testcase. Testcase has been added to BaseImageTests."
>
> 5275UnionSetFix-raok -- Richard A. O'Keefe's Little Helper (Joshua
> Gargus) -- 7 June 2003
> Richard discovered a bug in the behavior of Collection>>union:, and
> supplied a fix. I merely changesetized it. Everything below is copied
> from his email (method comments removed due to quotes).
> In Squeak 3.0, 3.2, and 3.4alpha(5108) (and 3.6a - 'lil helper) we find
> the same implementation of #union:
> Collection>>
> union: aCollection
> ^self asSet addAll: aCollection; yourself
> This is the *only* implementation of #union: in those versions of
> Squeak. There are three implementations of #asSet,
> Collection>>asSet
> ^Set withAll: self
> Bag>>asSet
> ^contents keys
> Set>>asSet
> ^self
> The method comment in Collection says that the answer is a Set, but for
> bags it may be a Set or an IdentitySet, and for sets it may be a Set,
> an IdentitySet, or a PluggableSet.
> Collections other than sets always answer a new object to #asSet; sets
> of all kinds never answer a new object.
> The problem is that the point of #union: is to return a new object
> without mutating any existing objects. But, irony of ironies, if the
> receiver already is some kind of set, it IS mutated.
> x := #(3 1 4 1) asSet<print it>
> => a Set(1 3 4)
> x union: #(5 9 6)<print it>
> => a Set(1 3 4 5 6 9)
> x<print it>
> => a Set(1 3 4 5 6 9)
> The first problem to sort out is what the semantics of #asSet is
> supposed to be. #asIdentitySet always returns an IdentitySet, not some
> other kind of set. 'as: Set' always returns a new object that is
> precisely a Set, not any other kind of set. The method comment in
> Collection suggests that the author thought #asSet always returned a
> Set.
> The simplest change that could possibly work is 'add a colon'.
> Collection>>
> union: aCollection
> ^(self as: Set) addAll: aCollection; yourself
> This would eliminate the unintended mutation bug. It would also make
> the result always be a Set, not any other kind of set. Less happily,
> it would be less efficient for bags.
> What I actually propose is a 'bigger' change that makes much less
> difference to the observable behaviour. In particular, the change I
> propose
> + does not alter any existing method
> + does not change the costs or results of #union: for anything except
> sets.
> ? still allows the kind of set you get to depend on the class of the
> receiver, and in the same way as before.
> The correction is to add a new method:
> Set>>union: aCollection
> ^self copy addAll: aCollection; yourself
>
> 5276InspectElement-tk -- Ted Kaehler -- 5 June 2003
> In an Inspector, if the selected item is a SequenceableCollection, the
> menu offers 'inspect element...'. With this improvement, the 'inspect
> element...' menu shows the printString of each element along with its
> index. This helps the user pick the right element to inspect. The
> print string is limited to 25 characters."
>
> 5277PasswordFont-ar
>
> 5278FileListDnD-nk -- Ned Konz -- 19 June 2003
> rev. 4: made drops into current directory work right.
> rev. 3: added keyboard handling.
> The TransferMorph now polls the shift state in its step method to
> update its copy state (shift pressed = should copy).
> And if you hit the Escape key while dragging, it aborts the drag
> operation.
> rev. 2: made drop on file list be ignored.
> Adds drag'n'drop to the FileList2 and FileList. You can drag from the
> file list (the upper right list) to the directory/volume list (the
> upper left list) to move or copy files.
> Hold down the SHIFT key before you start dragging if you want to copy.
> You can also drag between two different FileLists.
> Use with a single list is probably more useful with FileList2 because
> you can see more directories at once.
> (note: this CS also incorporates FileList2Pref-nk, which had the
> following comments:)
> This also adds a Preference (general/useFileList2) that lets you use
> the enhanced file browser from the World menu.
> It also allows entry of multiple patterns into a file list browser.
> You can separate patterns by newlines (like in a FileList2),
> or by a semicolon ($;), like in a FileList.
> So for instance you could view any .changes or .image files at once.
> Preferences addPreference: #useFileList2 categories: #(general)
> default: true balloonHelp: 'if true, then when you open a file list
> from the World menu, it''ll be an enhanced one'
More information about the Squeak-dev
mailing list
|