GNU Smalltalk 3.0.4 will shortly be available from
ftp://ftp.gnu.org/gnu/smalltalk/smalltalk-3.0.4.tar.gz This is a bug fix release with the following changes: * A few operations on collections have been sped up. * Code without a space between a binary minus and a number, such as "a-2", is parsed correctly. As a side effect of this change, the sign of a number with an explicit radix (such as "16r10") can be placed before the radix too: both -16r10 and 16r-10 are accepted. * Fixed bug that caused some children not to be reaped. * Fixed bug when reading from a FIFO file and the writing side closed the FIFO before GNU Smalltalk started reading it. * Fixed CByte to actually work. * Fixed corner case of nested exception handlers. * Fixed directory navigation on ZIP archives (when using the VFSAddOns package). * Fixed HTTP GETs that caused a redirect and had a query. * Fixed leakage of file descriptors on ZIP archives (when *not* using the VFSAddOns package). * Fixed MappedCollection>>#keysDo:. * Fixed rare bug in the bytecode optimizer that caused invalid (non-verifiable) or even incorrect bytecode to be generated. * Fixed Stream>>#do: and Stream>>#linesDo:, which would terminate in advance if *another* stream was read past its end during the argument block's execution. * Fixed the tools to work on Windows even if invoked with an explicit extension for the executable. * gst-convert is now really quiet if invoked with --quiet. * Moved SequenceableCollection>>#join to Collection. * Removed bashisms from installed shell scripts. * Sockets use the close-on-exec option (see fcntl(2) for more information). * Sport fixes: fixed SpFilename>>#fail (did not work) and SpSocket>>#readInto:startingAt:for: (should only do one I/O operation, possibly returning a partially filled buffer). * UNC paths are parsed correctly by File. ------- GNU Smalltalk 3.0c will shortly be available from ftp://alpha.gnu.org/gnu/smalltalk/smalltalk-3.0c.tar.gz Version 3.0c is a feature complete development release. The new features compared to 3.0b are: * Collections and Streams have a common superclass, Iterable. The user-visible aspect of this is that Streams now enjoy a wider range of iteration methods, such as #anySatisfy:, #detect: and #count:. * Error backtraces include line numbers and filenames. * FileDescriptor and FileStream raise an exception if #next: cannot return the given number of bytes. * FileDescriptor is now a subclass of Stream. Its old superclass ByteStream has been removed. * Functions gst_async_signal and gst_async_signal_and_unregister are now thread-safe, *not* async-signal-safe. To trap signals from Smalltalk, you have to use ProcessorScheduler>>#signal:onInterrupt:. * ObjectDumper now accepts normal String streams. The class ByteStream has been removed. * ObjectMemory>>#snapshot and ObjectMemory>>#snapshot: return false in the instance of GNU Smalltalk that produced the snapshot, and true in the instance of GNU Smalltalk that was restored from the snapshot. Note that this does not apply to CallinProcesses, since those are stopped in saved images (will this be true in 3.1?). * Streams have a set of new methods that allow to eliminate useless copies when moving data from stream to stream, as well as to eliminate useless creation of collections to store the data read from a stream. Besides the standard methods #next, #nextPut: and #atEnd, two more methods can be implemented by Stream subclasses in order to achieve better performance on block transfers, namely #nextAvailable:into:startingAt:, #nextAvailable:putAllOn: and #next:putAll:startingAt:. Another set of methods is placed in Stream; they all use the above three methods and you should not need to override them. These are #next:into:startingAt:, #next:putAllOn:, #nextAvailable:, #nextAvailable:putAllOn:, #nextAvailablePutAllOn:. In addition, #nextHunk was removed. Applications can use #nextAvailable: or, better, should be rewritten to use new stream-to-stream protocol such as #nextAvailablePutAllOn:. * Support for imports were added to namespaces (via the <import: ...> pragma, as for classes). Unlike the superspace, imports are not made visible through #at:. * The sockets package (and the namespace it is installed in) was renamed from TCP to Sockets. While the old namespace is still available for backwards compatibility, it is suggested to use the Sockets namespace instead. This was done because the package supports IPv6 and AF_UNIX sockets (in the Sockets package). * Bindings to OpenGL and GLUT were contributed by Olivier Blanc. * All the changes between 3.0.3 and 3.0.4. _______________________________________________ help-smalltalk mailing list [hidden email] http://lists.gnu.org/mailman/listinfo/help-smalltalk |
Free forum by Nabble | Edit this page |