[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