Subject: CVS commit: pkgsrc/lang/oo2c
To: None <pkgsrc-changes@NetBSD.org>
From: Jason Beegan <jtb@netbsd.org>
List: pkgsrc-changes
Date: 07/24/2003 18:39:18
Module Name:	pkgsrc
Committed By:	jtb
Date:		Thu Jul 24 18:39:17 UTC 2003

Modified Files:
	pkgsrc/lang/oo2c: Makefile distinfo
Added Files:
	pkgsrc/lang/oo2c/patches: patch-ad

Log Message:
Update to version 2.0.10.

From the release notes:

This release is unfortunately a bit late and incorporates a whole
bunch of very different changes.  The biggest part is an update of the
libraries to incorporate the string types from module `Object' into
ADT:*, IO:*, OS:*, URI:*, and (partially) XML:* modules.  The internal
encoding of Unicode strings has been switched to UTF-16.  Support for
the MacOS X and Win32 platforms has been improved.

There were several changes to the symbol file format.  Please remove
any old symbol files that are still around.
  __________________________________________________________________________

(Object, ADT:StringBuffer): Internal representation of Unicode strings
is now UTF-16.  `String32' is gone and has been replaced with
`String16'.  MAX(UCS4CHAR) is 10FFFFX, the largest possible Unicode
code point.

(Object:BigInt): Renamed string base constructors to follow the naming
conventions from module `Object'.

(ADT:ArrayList, ADT:Dictionary): Have been converted to parametric
types.  One known side-effect of this is that a type guard
`Dictionary.Dictionary' can no longer be applied to instances of
`Object.Object'.  The reason for this is that the run-time type
information does not include information on type parameters and
therefore cannot test for particular type arguments.  (The necessary
run-time information may be added later.)

(ADT:Storable, ADT:Object:Storage): The parameter type of the methods
ReadObject() and WriteObject() has been changed back to
`Object.Object'.  The methods now handle instances of `Object.String'
as well.

(IO:Address): `UnknownHostException' is now derived from `IO.Error'.

(IO:Buffer): Introduce method `ReadLineLF()', to read a single line of
8-bit characters from a channel, including the termination Ascii.lf
character.

(IO:FileChannel): File name arguments are now of type STRING.  They
are converted to sequences of bytes using OS:Path.Encode().  Dito for
system() from OS:ProcessManagement.

(IO:Socket, IO:SocketChannel): Non-blocking connect is implemented.

(OS:Path): Changed functions to work on STRINGs.  Changed function
names to follow the Oberon naming conventions.  Dito for GetCwd() from
OS:ProcessParameters.

(Exception): Fixed a bug in PopContext(), which lead to stack
corruption if more than one TRY context is popped from the stack.
Also some minor cleanups.

(HashCode): Collects all hash functions for the various basic data
types.

(URI, URI:*): The URI modules use the string types from `Object',
instead of defining their own variant of this theme.  Error signalling
has been converted to Exception.ParseError.  Please note that the
interface of these modules may be in for further changes later.  The
URI changes also propgate into the XML modules.

(oo2c): New command --package-installed (tests if a package is
present) and --list-packages (list all installed packages).

(oo2c): The "Pascal" calling convention, and the CSTRING and ALIGNX
flags have been ported to v2 by Stewart Greenhill.  This is primarily
used for native Windows DLLs.

(oo2c): There is now support for MaxOS X style "framework" libraries
(contributed by Tim Teulings).

(oo2c): The documentation strings of a module have been removed from
the symbol file `M.Sym', and are now stored in a separate file `M.Doc'
(in the same directory as `M.Sym').  Compilation commands only read
the `M.Sym' part.  Also, compilation of huge interface modules is now
much faster.

(oo2c): Constant folding on floating point expressions is now enabled.

(oo2c): Various minor bugs with parametric types have been fixed.
around.


To generate a diff of this commit:
cvs rdiff -r1.6 -r1.7 pkgsrc/lang/oo2c/Makefile
cvs rdiff -r1.3 -r1.4 pkgsrc/lang/oo2c/distinfo
cvs rdiff -r0 -r1.1 pkgsrc/lang/oo2c/patches/patch-ad

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