help-smalltalk
[Top][All Lists]
Advanced

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

[Help-smalltalk] GNU Smalltalk 1.95.2 uploaded


From: Paolo Bonzini
Subject: [Help-smalltalk] GNU Smalltalk 1.95.2 uploaded
Date: Tue, 20 Feb 2001 15:06:18 +0100 (CET)

I have uploaded gst 1.95.2, it will be put on ftp.gnu.org today or
tomorrow.  Check out http://www.gnu.org/server/new-software.html for
more information.

Here are the news from 1.95.1 to 1.95.2


o   A little more performance could derive from keeping the MethodDictionaries
    no more than 75% full (actually this was done to fix a discrepancy between
    the C-coded identityDictionaryFindKeyOrNil, which grew a full
    dictionary, and the Smalltalk class, which assumed that dictionaries
    are never full).

o   An object must be explicitly marked as to be finalized *every time the
    image is loaded*.  That is, finalizability is not preserved by an
    image save.  This was done because in most cases finalization is
    used together with CObjects that would be stale when the image is
    loaded, causing a segmentation violation as soon as they were accessed
    by the finalization method.

o   Fixed bug when #at: and #at:put: were handled by a C call-out.

o   Invalid C call-outs raise an error instead of simply writing to stdout.

o   Works on Solaris and possibly other systems (thanks to Dirk Sodermann!
    I would never have caught it!!!)




o   A great part of the exception handling code has been rewritten.  The
    new algorithm scans backtraces for contexts marked as storing exception
    handlers instead of storing the handlers' state in a Dictionary, which
    is smarter, faster when no exceptions are raised, and less bug prone.

o   BList (Blox's list box) used indices that were half 0-based, half
    1-based.  This caused an infinite loop if you double-clicked a BList;
    for this reason they have been corrected to be 1-based everywhere
    even if this is *backwards-incompatible*.

o   IMPORTANT: the preferred method for mantaining geometry in Blox has
    changed, as a provision for switching to other (less flexible in this
    respect) toolkits like GTK+.  The #...Offset: methods should *not*
    be used anymore as they are now flagged implementation-dependant.
    Instead, you should use the new #inset: method, or rely more heavily
    on BContainers which now use the packer (in a backwards-compatible way).
    Relying on widget outside of the client area is also deprecated because
    GTK+ alignments do not allow this.

o   In general, the performance and stability of Blox are now more acceptable.

o   Sets support arithmetic; to avoid this to propagate into Dictionary,
    a new comon superclass of Dictionary and Set (HashedCollection) has
    been created.




o   Enhanced and refactored socket library, including support for multiple
    address families, UDP servers, out-of-band data and ICMP sockets.

o   GDBM interface works again and has a nice Dictionary-like layer.

o   LargeArray classes which obtain optimal memory consumption (at the
    expense of O(log n) access).

80% SUnit tool for writing test suites (missing: a nicer user interface).

o   The command-line interface supports readline's completion (for filenames,
    globals, and method keywords)

o   The Smalltalk-in-Smalltalk compiler has a few bugs yet to be fixed,
    but the parser works fine and file-ins, so it does not break the
    browser.

o   The VisualWorks XML parser is now included.  It will gradually replace
    the InDelv parser (2.0 will include the InDelv parser, but its usage will
    be deprecated).  The reasons are that the VW parser is more modern (it is
    validating and supports namespaces), it is more actively mantained, and
    there is an open-source XSL processor that uses it.

0%  The VisualWorks XSL processor is going to be included too.

o   The web server has been refactored and a NetworkServer framework has
    been extracted out of it.




o   At last, there is a new module system using libtool to build modules
    as shared dynamic libraries.  The old home-grown support for
    portable dlopening has also been superseded by libltdl.  This scheme
    is incompatible with the old one, but porting is very easy.

o   The configuration file is not installed anymore

o   The class reference has indices and cross-references

o   Using libtool gives the benefit of versioning libgst.  The current
    version is 1:0:0 (there is no cfuncs.h file anymore, hence the
    age of 0).

Paolo Bonzini




reply via email to

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