[squeak-dev] Re: Corrupt sources file

Andreas Raab andreas.raab at gmx.de
Tue Apr 6 23:40:59 UTC 2010

On 4/6/2010 4:20 PM, Levente Uzonyi wrote:
> 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.

Strange ... no problems here. I downloaded


from the website to verify and it worked fine.

Any chance that your extraction utility has been "smart" about replacing 
CRs with CRLFs or something like that? Can you verify that 
SqueakV41.sources is exactly 25,878,239 bytes? Can someone else verify 
the problem? (if you do, please include your platform so we know whether 
that's a platform issue or not)

   - Andreas

> On Sun, 4 Apr 2010, Andreas Raab wrote:
>> Folks -
>> I've prepared rc2 for testing of the 4.1 release on Squeak.org:
>> http://ftp.squeak.org/trunk/4.1rc2/
>> 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]http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-March/147166.html
>> [2]http://bugs.squeak.org/view.php?id=7480
>> =======================================================================
>> 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