[squeak-dev] Updated trunk image (Squeak3.11-9622-alpha.zip)

Andreas Raab andreas.raab at gmx.de
Sat Mar 6 20:20:02 UTC 2010

Folks -

With lots of good stuff going in, I've put an updated trunk image up on:


As an experiment, I've also put up an image that has all known packages 


The latter marks an imporant mile stone for me - it's the first Squeak 
image below 10MB since Squeak 3.6 (I think).

The summary of latest changes is below.

   - Andreas

(for the full history refer to the "What's new" section in the image)

[------------------------- updated 03/06/10 ---------------------------]

SmalltalkImage refactoring
SystemDictionary and SmalltalkImage have been refactored. Smalltalk is 
now an instance of SmalltalkImage, representing a facade for system-wide 
queries and actions. SmalltalkImage contains a global environment, an 
instance of SystemDictionary, which the environment used by classes. 
Thus, SmalltalkImage current == Smalltalk, Object environment == 
Smalltalk globals.

MessageTrace, a subclass of MessageSet has been added. MessageTrace 
allows senders and implementors to be viewed without opening new windows 
all the time.  It utilizes a new AlternatePluggableListMorphOfMany, 
which allows quick and easy customization of the list. A quick adoption 
of DependencyBrowser has been added allowing to browse dependencies 
between packages.

Unicode Leading Char
The default leading char is now 0 instead of 255 making Unicode - UTF 
conversions stable. See also discussion at

New Cleanup protocol
A new general cleanup protocol has been added. The cleanUp protocol 
takes an optional argument to indicate whether we're doing an aggressive 
cleanup (which involves deleting projects, change sets, and possibly 
other destructive actions) or a more gentle cleanup that's only supposed 
to clean out transient caches.

Selectors including minus are now parsed correctly, for example 3 <- 4 
is now parsed as (3) <- (4) instead of (3) < (-4). White space is no 
longer allowed after an unary minus to denote a negative number literal.

MVC is now reloadable and has been added to the list of unloadable 
packages in Smalltalk unloadAllKnownPackages.

Syntax Highlighting
Syntax highlighting is now supported in both Monticello tools and 
workspaces. In workspaces it can be turned off explicitly in the window 
menu if the workspace doesn't hold code.

Unwind blocks are now run to completion if a process is in the process 
of executing an unwind when it is terminated. This prevents 
unpredictable unwind handling in some edge cases.

DirectoryEntry has been refactored. It is no longer in the collection 
hierarchy, knows its own directory, and has been split into 
DirectoryEntryFile and DirectoryEntryDirectory to deal with the 
differences between files and directories. Added a terse, 
platform-independent way of expressing FileDirectory concatenation via 
the #/ operator has been added:

		myFileDirectory / 'subDir' / 'sub-subDir'

[------------------------- updated 02/13/10 ---------------------------]

A Generator transforms a callback interface into a stream interface. 
This is helpful when a producer provides output in form of a callback 
(block) but a consumer expects the input to be a stream. A Generator 
transforms one interface into the other, for example:

     | generator |
     generator := Generator on:[:g| Integer primesUpTo: 10000 
do:[:prime| g yield: prime]].
     [generator atEnd] whileFalse:[Transcript cr; show: generator next].

Number parsing
New number parsing facilities are available. NumberParser and its 
subclasses provide support for parsing and building numbers from strings 
and streams. NumberParser offers an extensible framework for different 
numeric formats.

Text Editor improvements
The auto-indent preference has been restored. Indent and outdent now 
function with LF as well. Cmd-1 through Cmd-4 (Alt-1 through Alt-4) can 
now be used to paste method arguments directly in code.

Installer update
Installer has been updated to the latest version which includes support 
for automatically parsing mantis bug reports and operating on them, for 

     Installer mantis bugsAll select:[:bug| bug status = 'feedback'].

Sets with nil
Sets can now contain any element, including nil. This is achieved by 
adding the ability to wrap elements when storing them in a set which can 
be useful for other objects (like proxies) as well.

[------------------------- updated 01/23/10 ---------------------------]

The following packages have been made reloadable: ReleaseBuilder, 
ScriptLoader, 311Deprecated, 39Deprecated, Universes, SMLoader, SMBase, 
Installer-Core, VersionNumberTests, VersionNumber, Services-Base, 
PreferenceBrowser, Nebraska, CollectionsTests, GraphicsTests, 
KernelTests, MorphicTests, MultilingualTests, NetworkTests, ToolsTests, 
TraitsTests, XML-Parser, Traits, SystemChangeNotification-Tests, 
FlexibleVocabularies, EToys, Protocols, Tests, SUnitGUI. To unload all 
of these, execute:

     Smalltalk unloadAllKnownPackages.

More information about the Squeak-dev mailing list