Subject: CVS commit: pkgsrc/lang/smalltalk
To: None <>
From: Martin J. Laubach <>
List: pkgsrc-changes
Date: 01/20/2002 03:32:57
Module Name:	pkgsrc
Committed By:	mjl
Date:		Sun Jan 20 01:32:56 UTC 2002

Modified Files:
	pkgsrc/lang/smalltalk: Makefile PLIST distinfo
Removed Files:
	pkgsrc/lang/smalltalk/patches: patch-aa patch-ab

Log Message:
Update gnu smalltalk to 1.95.9

o   improve SortedCollection performance and ensures that the Directory
    class>>#image method returns the *current* rather than the default
    image path.

o   fix a few bugs that were apparent when trying to extend base classes.

o   bugfixes in the I/O subsystem, missed a few I/O available events if
    many happened in a row.

o   The #(a b) syntax for symbols inside Arrays has been obsoleted,
    since 2.0 will parse it according to the ANSI standard.

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.

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

To generate a diff of this commit:
cvs rdiff -r1.6 -r1.7 pkgsrc/lang/smalltalk/Makefile
cvs rdiff -r1.1 -r1.2 pkgsrc/lang/smalltalk/PLIST
cvs rdiff -r1.3 -r1.4 pkgsrc/lang/smalltalk/distinfo
cvs rdiff -r1.4 -r0 pkgsrc/lang/smalltalk/patches/patch-aa
cvs rdiff -r1.3 -r0 pkgsrc/lang/smalltalk/patches/patch-ab

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.