Version 1.3.22 (in progress)
==================================

02/12/2004: cheetah (William Fulton)
            [Java, C#] Patch submitted by Bill Hoffman which prevents SWIG from crashing
            when a file for the typewrapper class cannot be opened.

02/11/2004: cheetah (William Fulton)
            [Java, C#] Overloading changes:
              - Methods which are overloaded in const only no longer generate Java
                code that won't compile - the first method parsed is used and a
                warning is displayed. Note that this behaviour is slightly different
                to the scripting languages which always uses the non-const method.
              - Warning messages 509 and 512 replaced by new warning number 516, which 
                is more relevant to these statically typed languages as the overloaded
                methods aren't 'shadowed', they are ignored.

01/23/2004: mkoeppe (Matthias Koeppe)
	    [Guile] Replace the "known_classes" hash table by a node
	    attribute.  Methods of classes in C++ namespaces now get
	    the proper specializer in the GOOPS declaration.
	    Reported by rm@mh-freiburg.de.

01/23/2004: mkoeppe (Matthias Koeppe)
	    [Guile] Uniquify the argument names in GOOPS shadow method
	    declarations.  Reported by rm@mh-freiburg.de.

01/21/2004: sunshine (Eric Sunshine)
            Revived the NextStep port of SWIG.

            Fixed fatal problem in DohStrstr() caused by difference in strstr()
            implementation which made %apply become entirely dysfunctional.  On
            NextStep, strstr("foo","") evaluates to NULL; whereas, on modern
            platforms, it evaluates to "foo".  %apply relies extensively upon
            strstr("foo","") evaluating to non-NULL, therefore it failed
            catastrophically when faced with NextStep's strstr().

            Added `bool' check to configure.in since NextStep's C++ compiler
            does not supply this type.  swig.h now fakes up `bool' if needed.

            Worked around NextStep C++ compiler bug in which C++ code is
            disallowed inside extern "C" functions.  This problem affected all
            language modules, since they publish hook functions of the form:
                extern "C" Language *swig_foo(void) { return new FOO(); }
            Fixed by creating a C++ wrapper:
                static Language *new_swig_foo() { return new FOO(); }
                extern "C" Language *swig_foo(void) { return new_swig_foo(); }

            Ensured that Swig_copy_string() is used in place of strdup() since
            NextStep does not supply strdup().

            Fixed detection of Ruby library name and location in configure.in.
            Problem 1: Assumed that library always resided in Ruby's "archdir",
            which was correct for Ruby 1.6.x, but which is incorrect for Ruby
            1.8.x, in which case the library normally resides in Ruby's
            "libdir".  Problem 2: Assumed that the library could always be
            linked via "-l"+RUBY_INSTALL_NAME (where RUBY_INSTALL_NAME
            typically is "ruby"), however this failed for platforms, such as
            NextStep, which do not support shared libraries.  In this case, the
            static library name in 1.8.x is libruby-static.a, thus
            -lruby-static is required.  The new logic works correctly for
            static and shared libraries for 1.6.x and 1.8.x.

            Fixed detection of Perl CFLAGS in configure.in for NextStep.
            Detection code extracted CFLAGS from Perl's %Config hash but
            neglected to add a newline to the value before passing it through
            `sed'.  NextStep's ancient `sed' discards input which is not
            terminated with a newline, thus Perl CFLAGS always evaluated to the
            empty string.

01/16/2004: cheetah (William Fulton)
            Tidy up in the exception handling code that is generated when
            C++ exception specifications are wrapped with the throws typemap.
            This redundant code is no longer generated:

                catch(...) {
                    throw; 
                }

