[squeak-dev] Re: Corrupt sources file

Levente Uzonyi leves at elte.hu
Wed Apr 7 00:09:42 UTC 2010

On Tue, 6 Apr 2010, Andreas Raab wrote:

> 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
>  http://ftp.squeak.org/trunk/4.1rc2/Squeak4.1-9885-beta.zip
> 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)

I could narrow down the issue a bit: It only happens if the vm is in a 
read-only directory (like C:\Program Files\Squeak), otherwise it works as 
expected. With with older images, both case works as expected.


> Cheers,
>  - 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