Corrupt sources file (was: Re: [squeak-dev] Squeak 4.1 release candidate 2)

Levente Uzonyi leves at
Tue Apr 6 23:20:22 UTC 2010

I was about to remove the #expectedFailures from SMDependencyTest, since 
it should pass now (but it fails if SqueakMap is not initialized 
properly...). As a final check I decided to run the test it in the latest 
beta, where it failed. When I tried to browse SMSqueakMap >> #reload to 
see how it can be fixed, I got the note about the corrupted sources file, 
so I think something went wrong during the latest sources/changes merging.


On Sun, 4 Apr 2010, Andreas Raab wrote:

> Folks -
> I've prepared rc2 for testing of the 4.1 release on
> If you look at the release schedule [1] you'll notice that we're slipping a 
> little (which I had expected). The new release candidate includes the 
> following changes:
> * Condensed sources file. As previously mentioned, the new sources file is a 
> strict superset of the 4.0 sources file and preserves version history between 
> 4.1 and 4.0.
> * Welcome notice(s). Please review in particular the welcome screen. I've 
> attached the welcome note below for review and improvement. If you see 
> anything that hasn't been mentioned but should, please let me know. I've also 
> revived two workspaces that I found useful in the past, one about some of the 
> less common UI elements and one about how to work with Squeak.
> * An updated Windows VM (4.0.2) which fixes various issues with 4.0.1.
> (Ian, if you could build an updated installer I'd appreciate that)
> As it stands, we're currently missing updated Unix and Mac VMs (I know Ian 
> has been working on it, so I'll ping him and John separately), we still don't 
> have all tests green, and there are still a few open issues on Mantis [2].
> If you can offer any help on any of these issues, you're extremely welcome. 
> I'm still hopeful that we can ship 4.1 with minimal delay but in order to do 
> that we need to address the pending issues, in particular the failing tests.
> And of course, please keep testing. Load your packages, run them, make sure 
> they work!
> Cheers,
>  - Andreas
> [1] 
> [2]
> =======================================================================
> 	Welcome to Squeak - a free, open Smalltalk system.
> Squeak 4.1 combines the license change occuring in the 4.0 release with the 
> development work that has been going on while the relicensing process took 
> place. Here are the highlights of the changes that resulted in Squeak 4.1:
> User Interface
> --------------
> We have adapted the 'face lift' look originally developed for Newspeak. For 
> those of us who like colored windows (quite a few as it turns out) you can 
> switch between uniform and colored windows in the 'Extras' menu under 'Window 
> Colors'.
> The new menu bar makes Squeak much easier to discover than before. The 
> process of transitioning from the world menu is not complete yet, there are 
> still items that can only be accessed from the world menu (i.e., by clicking 
> on the desktop).
> The search field integrated in the menu bar allows for direct navigation to 
> classes and methods - simply type in a partial class or method name and see 
> what happens.
> A new set of inexpensive sub-pixel antialiased fonts derived from the DejaVu 
> fonts ('Bitmap DejaVu' in the font chooser) has been added. True type font 
> support has been upgraded to operate directly on files on disk without the 
> need to load the entire file into memory.
> A new set of text editors has been added, allowing to decouple the Morphic 
> and MVC implementations for improved modularity. Morphic has now regular 
> blinking insertion point cursors instead of the (virtually invisible) static 
> cursor previously.
> Compiler
> --------
> Squeak 4.1 includes the closure implementation from Cog as a prerequisite for 
> full Cog adoption later. With this implementation Squeak finally has 'full' 
> closures, allowing classic recursive examples like the following to work:
> 	fac := [:n| n > 1 ifTrue:[n * (fac value: n-1)] ifFalse:[1]].
> 	fac value: 5.
> Support for literal ByteArray syntax has been added. Byte arrays can now be 
> written as #[1 2 3] instead of #(1 2 3) asByteArray  avoiding the need for 
> conversion.
> 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.
> Development
> -----------
> Syntax highlighting, based on Shout, is now included in all Squeak tools by 
> default. For workspaces, it can be explicitly disabled in the window menu 
> (entry 'syntax highlighting').
> Sources and changes files are no longer limited to 32MB max size. 
> ExpandedSourceFileArray provides an implementation for source files of 
> arbitrary length, based on the CompiledMethodTrailer changes.
> MessageTrace has been added, allowing 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.
> Core Libraries
> --------------
> Sets can now store nil just as any other collection. The collection hierachy 
> has been refactored to have both Set and Dictionary a subclass of 
> HashedCollection instead of having Dictionary a subclass of Set. Squeak now 
> uses a better distributed scaledIdentityHash for identity sets and 
> dictionaries.
> StandardFilestream now performs read-buffering, dramatically speading up some 
> operations like "Object compileAll" (2x improvement) as well as various other 
> operations (scanning change lists etc).
> A new traits implementation has been added. The implementation is 
> significantly smaller and simpler than the old version and can be unloaded 
> and reloaded without loss of information (i.e., traits flattened during 
> unload are restored during traits reloading).
> A new extensible number parser hierharchy has been introduced NumberParser 
> and its subclasses provide support for parsing and building numbers from 
> strings and streams.
> 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.
> 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.
> Modularity
> ----------
> 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