[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-smalltalk] GNU Smalltalk 1.95.5 released

From: Paolo Bonzini
Subject: [Help-smalltalk] GNU Smalltalk 1.95.5 released
Date: Thu, 18 Oct 2001 12:21:12 +0200 (CEST)

I am pleased to announce the release of GNU Smalltalk 1.95.5; barring any
outstanding bugs (that should not be there anyway) this should be the last
stable release before the long-awaited 2.0 version; in particular, the
kernel and virtual machine source code are to be considered 99% definitive.

You can download it from

Here is a short list of changes from version 1.95.4:

VM changes:

o   Calls to the virtual machine from plugins, and objects that are passed
    as OOPs in call-outs, put OOPs in the incubator rather than in the
    registry; call-outs are wrapped in incSavePointer/incRestorePointer.

o   Command line parsing uses getopt and thus behaves exactly like other
    programs (previously there were some discrepancies)

o   Errors are signaled if a file specified on the command line is not found.

o   Events can be passed to the Smalltalk image via an ObjectMemory class.

o   Fixed bug in evalExpr and typeNameToOOP (gave a parse error).

o   Removed the `make optimize' mess.

o   Supported two additional ways to pass objects from Smalltalk to C:
    #selfSmalltalk and #variadicSmalltalk, which are similar to respectively
    #self and #variadic but pass raw object pointers to the C function
    instead of attempting automatic conversions.

Other Smalltalk changes:

o   #bindWith:... methods now accept other objects than Strings as parameters.

o   Complete hierarchy of exceptions, with more meaningful error message
    and possibility of more fine-grained exception handling.

o   FileStream calls are not blocking and can preempt the current Process.

o   FileStream handling has been rewritten; the buffering is now done
    by Smalltalk code rather than implied in stdio.  Unbuffered file
    descriptor access (which used to be provided by UnixStream, defined
    by the TCP package) is provided by FileStream's parent, FileDescriptor.

o   Many methods in SystemDictionary were moved to ObjectMemory (a new class);
    the old ones are now deprecated.

o   SortedCollection's #includes:, #indexOf:, and #occurrencesOf: can
    check for objects that could not be inserted in the collection
    (e.g. an Integer in a collection of Strings).  Fixed bugs in the same
    methods related to sort blocks for which sort-block equality
    (a <= b and b <= a) does not imply equality.

o   Support for init blocks will be removed in a future version, as it
    was replaced by the much more powerful ObjectMemory class.

o   The SystemDictionary>>#enableGC: method does not exist any more, since
    it only caused harm (the correct way to obtain its effect is to use the
    incubator, since what we want is to unregister a batch of many objects
    at the same time).

o   The TCP library does not poll the socket for I/O, but relies on the
    system's preemptive I/O facilities.  As a result, the polling period
    methods in Socket have disappeared.

o   Usual round of bug fixes

New goodies:

o   MD5 checksums

o   Perl regular expressions

o   Support for localization, internationalization and multiple character sets
    (rewritten and more portable, yet backwards compatible)

Have fun!

Paolo Bonzini

reply via email to

[Prev in Thread] Current Thread [Next in Thread]