summaryrefslogtreecommitdiff
path: root/CHANGES
diff options
context:
space:
mode:
authorOlly Betts <olly@survex.com>2007-11-16 16:01:17 +0000
committerOlly Betts <olly@survex.com>2007-11-16 16:01:17 +0000
commitbe5500996566f85929d60bd8874569c8b9c89389 (patch)
tree66be2b98029c84234ce534ed831f7e4f7946d11d /CHANGES
parent8c2b3d9dcde7a2357a560a4a7f3567473ca87f14 (diff)
downloadswig-be5500996566f85929d60bd8874569c8b9c89389.tar.gz
Start a new CHANGES.current
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10144 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Diffstat (limited to 'CHANGES')
-rw-r--r--CHANGES894
1 files changed, 894 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index 5411b3ead..750381bde 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,900 @@ SWIG (Simplified Wrapper and Interface Generator)
See CHANGES.current for current version.
+Version 1.3.32 (November 15, 2007)
+==================================
+
+11/14/2007: wsfulton
+ [R] Package name and dll name is now the same as the SWIG module
+ name. It used to be the module name with _wrap as a suffix. The package
+ and dll names can be modified using the -package and -dll commandline
+ options.
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+11/11/2007: wsfulton
+ [R] Add support for Windows (Visual C++ 8 tested)
+
+11/10/2007: olly
+ [php] Fix makefile generated by -make (SF#1633679). Update
+ documentation to mark "-make" as deprecated (none of the other
+ SWIG backends seem to offer such a feature, it can't realistically
+ generate a fully portable makefile, and the commands to build an
+ extension are easy enough to write for the user's preferred build
+ tool). Also recommend against the use of "-phpfull" (it's only
+ really useful when static linking, and a dynamically loadable
+ module is virtually always the better approach).
+
+11/09/2007: olly
+ Fix --help output to note that `export SWIG_FEATURES' is required.
+
+10/29/2007: wsfulton
+ [R] Fix seg fault on Windows
+ [R] Examples R scripts are now platform independent
+
+10/30/2007: mgossage
+ [lua] fixed bug in template classes which cases template_default2
+ and template_specialization_defarg to fail.
+ Added several warning filters into the overload's test cases.
+ Added runtime tests for several codes.
+ You can now make check-lua-test-suite with no errors and only a few warnings.
+
+10/30/2007: olly
+ [guile] Fix the configure test to put GUILELINK in LIBS not LDFLAGS
+ (SF#1822430).
+
+10/30/2007: olly
+ [guile] Fix the guile examples on 64-bit platforms.
+
+10/29/2007: wsfulton
+ [C#] Fix member pointers on 64 bit platforms.
+
+10/28/2007: olly
+ [lua] Fix swig_lua_class instances to be static to allow multiple
+ SWIG wrappers to be compiled into the same executable statically.
+ Patch from Andreas Fredriksson (posted to the swig mailing list).
+
+10/28/2007: olly
+ [lua] Fix Examples/lua to pass SRCS for C tests rather than CXXSRCS.
+ The code as it was happened to work on x86, but broke on x86_64 (and
+ probably any other platforms which require -fPIC).
+
+10/28/2007: wsfulton
+ [Java, C#] New approach for fixing uninitialised variable usage on error in director
+ methods using the new templated initialisation function SwigValueInit().
+
+10/28/2007: wsfulton
+ [Perl] Use more efficient SvPV_nolen(x) instead of SvPV(x,PL_na) if SvPV_nolen is
+ supported.
+
+10/26/2007: wuzzeb
+ [Chicken] Fix global variables of class member function pointers.
+ Other minor fixes, so all tests in the chicken test suite now pass
+
+10/25/2007: olly
+ Fix UTL typecheck macro for a function taking char[] or const
+ char[] (SF#1820132).
+
+10/22/2007: mkoeppe
+ [Guile] Filter out -ansi -pedantic from CFLAGS while compiling test programs for Guile
+ in configure. This enables running the test suite for Guile if it is installed and
+ usable.
+
+10/22/2007: mkoeppe
+ [Guile -scm] Fix testcases apply_signed_char and apply_strings
+ by adding explicit casts to the appropriate $ltype.
+
+10/22/2007: wsfulton
+ [Java, C#] Fix uninitialised variable usage on error in director methods.
+
+10/19/2007: wsfulton
+ [Java, C#] Bug #1794247 - fix generated code for derived classes when csbase or javabase
+ typemaps are used with the replace="1" attribute.
+
+10/19/2007: wsfulton
+ [Python] Docs updated to suggest using distutils. Patch #1796681 from Christopher Barker.
+
+10/19/2007: olly
+ [perl5] Clear errno before calls to strtol(), strtoul(), strtoll()
+ and strtoull() which we check errno after to avoid seeing a junk
+ value of errno if there isn't an error in the call.
+
+10/16/2007: wsfulton
+ Deprecate %attribute_ref and replace with %attributeref. There is just an argument
+ order change in order to maintain consistency with %attribute, from:
+
+ %attribute_ref(Class, AttributeType, AccessorMethod, AttributeName)
+ to
+ %attributeref(Class, AttributeType, AttributeName, AccessorMethod)
+
+10/16/2007: olly
+ [Tcl] Fix several ocurrences of "warning: deprecated conversion
+ from string constant to 'char*'" from GCC 4.2 in generated C/C++
+ code.
+
+10/16/2007: olly
+ [PHP] Fix many occurrences of "warning: deprecated conversion from
+ string constant to 'char*'" from GCC 4.2 in generated C/C++ code
+ when compiling with a new enough version of PHP 5 (tested with
+ PHP 5.2.3, but PHP 5.2.1 is probably the minimum requirement).
+
+10/15/2007: wsfulton
+ Patch #1797133 from David Piepgrass fixes %attribute when the getter has the same name
+ as the attribute name and no longer generate non-functional setter for read-only attributes.
+
+10/15/2007: olly
+ [Tcl] Prevent SWIG_Tcl_ConvertPtr from calling the unknown proc.
+ Add Examples/tcl/std_vector/ which this change fixes. Patch
+ is from "Cliff C" in SF#1809819.
+
+10/12/2007: wsfulton
+ [Java] Add DetachCurrentThread back in for directors. See entry dated 08/11/2006 and
+ search for DetachCurrentThread on the mailing lists for details. The crashes on Solaris
+ seem to be only present in jdk-1.4.2 and lower (jdk-1.5.0 and jdk-1.6.0 are okay), so
+ anyone using directors should use a recent jdk on Solaris, or define (see director.swg)
+ SWIG_JAVA_NO_DETACH_CURRENT_THREAD to the C++ compiler to get old behaviour.
+
+10/12/2007: wsfulton
+ [Java] Ensure the premature garbage collection prevention parameter (pgcpp) is generated
+ when there are C comments in the jtype and jstype typemaps.
+
+10/12/2007: wuzzeb
+ Added a testsuite entry for Bug #1735931
+
+10/09/2007: olly
+ Automatically rerun autogen.sh if configure.in is modified.
+
+10/09/2007: olly
+ Enhance check-%-test-suite rule and friends to give a more helpful
+ error message if you try them for a language which doesn't exist
+ (e.g. "make check-php-test-suite" rather than the correct
+ "make check-php4-test-suite").
+
+10/09/2007: olly
+ Add make rule to regenerate Makefile from Makefile.in if it has
+ changed.
+
+10/09/2007: olly
+ [php] Fix long-standing memory leak in wrapped constructors and
+ wrapped functions/methods which return an object.
+
+10/08/2007: olly
+ Fix Makefile.in to read check.list files correctly in a VPATH
+ build.
+
+10/07/2007: wsfulton
+ [C#, Java] Experimental shared_ptr typemaps added
+
+09/27/2007: mgossage
+ [lua] added more verbose error messages for incorrect typechecks.
+ Added a routine which checks the exact number of parameters passed to a function
+ (breaks operator_overloading for unary minus operator, currently disabled).
+ Reorganised the luatypemaps.swg to tidy it up.
+ Added a lot of %ignores on the operators not supported by lua.
+ Added support for constant member function pointers & runtest for member_pointer.i
+ Added first version of wchar.i
+
+09/25/2007: wsfulton
+ [C#, Java] throws typemaps for std::wstring using C# patch #1799064 from David Piepgrass
+
+09/24/2007: wsfulton
+ [Tcl] Apply #1771313 to fix bug #1650229 - fixes long long and unsigned long long
+ handling.
+
+09/20/2007: olly
+ [Java] Eliminate some unnecessary uses of a temporary buffer
+ allocated using new[]. SF#1796609.
+
+09/19/2007: wsfulton
+ [C#] The $csinput special variable can be used in the csvarin typemap where it is always
+ expanded to 'value'.
+
+09/19/2007: wsfulton
+ [C#] Fix bug reported by Glenn A Watson and #1795260 where the cstype typemap used the 'ref'
+ keyword in the typemap body, it produced uncompilable C# properties (variable wrappers).
+ The type for the property now correctly comes from the 'out' attribute in the cstype typemap.
+
+09/19/2007: wsfulton
+ [Java] Fix const std::wstring& typemaps
+
+09/19/2007: wsfulton
+ [Java] Ensure the premature garbage collection prevention parameter (pgcpp) is generated
+ where a parameter is passed by pointer reference, eg in the std::vector wrappers. The pgcpp
+ is also generated now when user's custom typemaps use a proxy class in the jstype typemap
+ and a 'long' in the jtype typemap.
+
+09/18/2007: olly
+ [php] Add typemaps for handling parameters of type std::string &
+ which are modified by the wrapped function.
+
+09/17/2007: olly
+ [python] Split potentially long string literals to avoid hitting
+ MSVC's low fixed limit on string literal length - patch from
+ SF#1723770, also reported as SF#1630855.
+
+09/17/2007: olly
+ [ocaml] Fix renaming of overloaded methods in the method_table -
+ my patch from SF#940399.
+
+09/17/2007: olly
+ [python] Simpler code for SWIG_AsVal_bool() which fixes a "strict
+ aliasing" warning from GCC - patch from SF#1724581 by Andrew
+ Baumann.
+
+09/17/2007: olly
+ [perl5] Use sv_setpvn() to set a scalar from a pointer and length
+ - patch from SF#174460 by "matsubaray".
+
+09/17/2007: olly
+ When wrapping C++ code, generate code which uses
+ std::string::assign(PTR, LEN) rather than assigning
+ std::string(PTR, LEN). Using assign generates more efficient code
+ (tested with GCC 4.1.2).
+
+09/07/2007: wsfulton
+ Fix %ignore on constructors which are not explicitly declared [SF #1777712]
+
+09/05/2007: wuzzeb (John Lenz)
+ - Change r_ltype in typesys.c to store a hashtable instead of a single value.
+ several very subtle bugs were being caused by multiple ltypes being mapped
+ to a single mangled type, mostly when using typedefed template parameters.
+ Now, r_ltype stores a hashtable of possible ltypes, and when generating the
+ type table, all the ltypes are added into the swig_type_info structure.
+
+08/31/2007: wsfulton
+ SF #1754967 from James Bigler.
+ - Fix bug in turning on warnings that were turned off by default. Eg 'swig -w+309' will now
+ turn on the normally suppressed warning 309.
+
+ - New -Wextra commandline option which enables the extra warning numbers:
+ 202,309,403,512,321,322 (this is the list of warnings that have always been suppressed by
+ default). By specifying -Wextra, all warnings will be turned on, but unlike -Wall,
+ warnings can still be selectively turned on/off using %warnfilter,
+ #pragma SWIG nowarn or further -w commandline options, eg:
+ swig -Wextra -w309
+ will turn on all warnings except 309.
+
+08/28/2007: wsfulton
+ - New debugging options, -debug-module <n> and -debug-top <n> to display the parse tree at
+ various stages, where <n> is a comma separated list of stages 1-4.For example, to
+ display top of parse tree at stages 1 and 3:
+ swig -debug-top 1,3
+
+ - Deprecate the following options which have equivalents below:
+ -dump_parse_module => -debug-module 1
+ -dump_module => -debug-module 4
+ -dump_parse_top => -debug-top 1
+ -dump_top => -debug-top 4
+
+ - Renamed some commandline options for naming consistency across all options:
+ -debug_template => -debug-template
+ -debug_typemap => -debug-typemap
+ -dump_classes => -debug-classes
+ -dump_tags => -debug-tags
+ -dump_typedef => -debug-typedef
+ -dump_memory => -debug-memory
+
+08/25/2007: olly
+ [PHP5] Fix handling of double or float parameters with an integer
+ default value.
+
+08/25/2007: olly
+ [PHP5] Generate __isset() methods for setters for PHP 5.1 and later.
+
+08/20/2007: wsfulton
+ [Java C#] Fix director bug #1776651 reported by Stephane Routelous which occurred when
+ the director class name is the same as the start of some other symbols used within
+ the director class.
+
+08/17/2007: wsfulton
+ Correct behaviour for templated methods used with %rename or %ignore and the empty
+ template declaration - %template(). A warning is issued if the method has not been
+ renamed.
+
+08/16/2007: mutandiz (Mikel Bancroft)
+ [allegrocl] Name generated cl file based on input file rather than by
+ module name. It was possible to end up with a mypackage.cl and a test_wrap.c
+ when parsing a test.i input file. Confusing. Also, include external-format
+ templates for :fat and :fat-le automatically to avoid these being compiled
+ at runtime.
+
+08/15/2007: efuzzyone
+ [cffi] Apply patch #1766076 from Leigh Smith adding support for newly introduced
+ in cffi :long-long and :unsigned-long-long.
+
+08/10/2007: wsfulton
+ [Java] Add documentation patch #1743573 from Jeffrey Sorensen. It contains a neat
+ idea with respect to better memory management by the JVM of C++ allocated memory.
+
+08/10/2007: wsfulton
+ [Perl] Apply patch #1771410 from Wade Brainerd to fix typedef XS(SwigPerlWrapper) in
+ perlrun.swg for ActiveState Perl build 822 and Perl 5.8.9 and 5.10 branches.
+
+08/10/2007: wsfulton
+ [Lua] const enum reference typemaps fixed.
+
+08/09/2007: wsfulton
+ [C#] Added missing support for C++ class member pointers.
+
+08/09/2007: wsfulton
+ [C#, Java] Add support for $owner in the "out" typemaps like in the the scripting
+ language modules. Note that $owner has always been supported in the "javaout" / "csout"
+ typemaps.
+
+08/01/2007: wsfulton
+ Fix smart pointer handling for classes that have templated methods within the smart
+ pointer type. Problem reported by craigdo at ee.washington.edu.
+
+07/31/2007: efuzzyone
+ [cffi] fixed memory access after being freed bug. thanks to Martin Percossi.
+ package name clos changed to cl. thanks to Ralf Mattes
+
+07/24/2007: wsfulton
+ Parallel make support added for the examples and test-suite for developers who have
+ more than one CPU. Now parallel make can be used for checking in addition to building
+ the SWIG executable. Some typical checking examples:
+
+ make -j8 -k check
+ make -j4 check-java-test-suite
+ make -j2 check-java-examples
+
+07/19/2007: mgossage
+ Fixed bug that stopped configure working on mingw (applied dos2unix to configure.in)
+
+07/10/2007: mgossage
+ [lua] Extra compatibility with Lua 5.1 (updated SWIG_init, docs, examples, test suite)
+ Removed name clash for static link of multiple modules
+
+07/05/2007: mgossage
+ [lua] Fix a bug in SWIG_ALLOC_ARRAY()
+ improved the error messages for incorrect arguments.
+ Changed the output of swig_type() to use the human readable form of the type,
+ rather than the raw swig type.
+
+07/03/2007: wsfulton
+ [C#] Fix directors for some overloaded methods where the imtype resulted in identical
+ methods being generated in the C# director class, eg void foo(int *) and void foo(double *)
+ used to generated two of these:
+
+ private void SwigDirectorfoo(IntPtr p) { ... }
+
+06/25/2007: wsfulton
+ [Java, C#] Some parameter name changes in std_vector.i allowing better targeting
+ of typemaps for method parameters (for memory management of containers of pointers).
+
+06/07/2007: mutandiz (Mikel Bancroft)
+ [allegrocl]
+ fix foreign-type constructor to properly look for ffitype typemap
+ bindings. fix inout_typemaps.i for strings.
+
+06/06/2007: olly
+ [Ruby]
+ Use whichever of "long" or "long long" is the same size as "void*"
+ to hold pointers as integers, rather than whichever matches off_t.
+ Fixes compilation on OS X and GCC warnings on platforms where
+ sizeof(void*) < sizeof(off_t) (SF patch #1731979).
+
+06/06/2007: olly
+ [PHP5]
+ Fix handling of a particular case involving overloaded functions
+ with default parameters.
+
+06/05/2007: mutandiz (Mikel Bancroft)
+ [allegrocl]
+ Fix case where we'd pass fully qualified identifiers
+ (i.e. NS1::NS2::FOO) to swig-insert-id. All namespaces
+ should be stripped.
+
+ Fix bug in TypedefHandler introduced by last fix.
+
+06/05/2007: olly
+ Fix reporting of filenames in errors after %include (patch from
+ Leigh Smith in #1731040; also reported as #1699940).
+
+05/31/2007: olly
+ [Python]
+ Fix "missing initialiser" warning when compiling generated C/C++
+ wrapper code with Python 2.5 with warnings enabled (patch from
+ bug#1727668 from Luke Moore).
+
+05/29/2007: olly
+ [Python]
+ Split docstrings into separate string literals at each newline when
+ generating C/C++ wrapper code (the C/C++ compiler will just combine
+ them back into a single string literal). This avoids MSVC
+ complaining that the strings are too long (problem reported by
+ Bo Peng on the mailing list).
+
+05/28/2007: olly
+ [Python]
+ Escape backslashes in docstrings.
+
+05/26/2007: olly
+ [Python]
+ Fix autodoc generation of enums to be more consistent with how the
+ enums are wrapped - patch #1697226 from Josh Cherry.
+
+05/26/2007: olly
+ [PHP5]
+ Fix wrapping of methods and functions which return a pointer to a
+ class (bug#1700788) and those which have overloaded forms returning
+ both classes and non-classes (bug#1712717, thanks to Simon
+ Berthiaume for the patch).
+
+05/25/2007: wsfulton
+ Fixed %rename inconsistency in conversion operators as reported by Zhong Ren. The matching
+ is now done on the operator name in the same way as it is done for parameters. For example:
+
+ %rename(opABC) Space::ABC::operator ABC() const;
+ %rename(methodABC) Space::ABC::method(ABC a) const;
+ namespace Space {
+ class ABC {
+ public:
+ void method(ABC a) const {}
+ operator ABC() const { ABC a; return a; }
+ };
+ }
+
+ Note that qualifying the conversion operator previously may or may not have matched.
+ Now it definitely won't, so this will not match:
+
+ %rename(opABC) Space::ABC::operator Space::ABC() const;
+
+ in the same way that this does not match:
+
+ %rename(methodABC) Space::ABC::method(Space::ABC a) const;
+
+ The documentation has been improved with respect to %rename, namespaces and templates.
+ Conversion operators documentation too.
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+05/16/2007: mutandiz
+ [allegrocl]
+ Fix bad generation of local var ltype's in functionWrapper().
+ Try to work better with the backward order in which swig
+ unrolls nested class definitions.
+ cleaned up a little unnecessary code/debug printf's.
+ Remove warning when replacing $ldestructor for ff:foreign-pointer
+
+05/12/2007: olly
+ [Python]
+ swig -python -threads now generates C/C++ code which uses Python's
+ own threading abstraction (from pythread.h) rather than OS specific
+ code. The old code failed to compile on MS Windows. (See SF patch
+ tracker #1710341).
+
+05/04/2007: gga
+ [Ruby]
+ Changed STL renames to be global renames. This fixes
+ STL functions not being renamed when autorename is on.
+ This is a not a totally perfect work-around, but better.
+ Someone really needs to fix the template renaming code.
+ (See bug #1545634)
+
+05/04/2007 gga
+ [All]
+ Changed %rename("%(undercase)s") a little so that single
+ numbers at the end of a function are not undercased. That is:
+ getSomething -> get_something
+ get2D -> get_2d
+ get234 -> get_234
+ BUT:
+ asFloat2 -> as_float2
+ (Bug #1699714)
+
+05/03/2007: gga
+ [Ruby]
+ Made __swigtype__ => @__swigtype__ so it can be accessed
+ from the scripting language (and follows Ruby's official
+ documentation, just in case).
+ Made tracking => @__trackings__ for same reason.
+ Currently storing ivars without the @ seems valid, but
+ the PickAxe says this is not correct, so just in case...
+
+05/03/2007: gga
+ [Ruby]
+ Applied patch for -minherit bug and exception classes.
+ This issue should be revisited more closely, as Multiple
+ Inheritance in Ruby is still problematic.
+ (patch/bug #1604878)
+
+05/03/2007: gga
+ [Ruby]
+ Overloaded functions in ruby will now report to the user
+ the possible prototypes when the user mistypes the number or
+ type of a parameter.
+
+05/03/2007: gga
+ [Ruby]
+ Forgot to document the bug fixing of an old bug regarding
+ exceptions.
+ (bug #1458247)
+
+05/03/2007: gga
+ [Ruby]
+ Fixed Ruby documentation to use the proper css styles for
+ each section. Added autodoc section to Ruby's docs to
+ document the features supported by Ruby in documenting its modules.
+ Made rdoc documentation spit out the full name of the class +
+ method name. Albeit this will make the current rdoc not recognize
+ the method, this is still needed to disambiguate between different
+ classes with similar methods (rdoc was created to document the
+ ruby source which only contains one class per c file, unlike swig)
+ I have patched rdoc to make it more friendly to swig. This
+ patch needs to be merged in the ruby std library now.
+
+05/03/2007: gga
+ [Ruby]
+ Changed flag -feature to be -init_name to better reflect its
+ purpose and avoid confusion with -features.
+
+05/03/2007: gga
+ [Ruby]
+ Improved autodoc generation.
+ Added autodoc .swg files to Ruby library for easily adding
+ documentation to common Ruby methods and STL methods.
+ Fixed autodoc documenting of getters and setters and module.
+ Made test suite always generate autodocs.
+
+05/03/2007: gga
+ [Ruby]
+ Removed some warnings from STL and test suite.
+
+05/02/2007: mgossage
+ [Lua] Fixed issues with C++ classes and hierachies across multiple
+ source files. Fixed imports test case & added run test.
+ Added Examples/imports.
+ Added typename for raw lua_State*
+ Added documentation on native functions.
+
+05/02/2007: gga
+ [Ruby]
+ Docstrings are now supported.
+ %feature("autodoc") and %feature("docstring") are now
+ properly supported in Ruby. These features will generate
+ a _wrap.cxx file with rdoc comments in them.
+
+05/02/2007: gga
+ [Ruby]
+ STL files have been upgraded to follow the new swig/python
+ Lib/std conventions.
+ This means std::vector, std::set, std::map, set::multimap,
+ std::multiset, std::deque and std::string are now properly
+ supported, including their iterators, support for containing
+ ruby objects (swig::GC_VALUE) and several other ruby
+ enhancements.
+ std::complex, std::ios, std::iostream, std::iostreambuf and
+ std::sstream are now also supported.
+ std::wstring, std::wios, std::wiostream, std::wiostreambuf
+ and std::wsstream are supported verbatim with no unicode
+ conversion.
+
+ std_vector.i now mimics the behavior of Ruby Arrays much more
+ closely, supporting slicing, shifting, unshifting,
+ multiple indexing and proper return values on assignment.
+
+ COMPATABILITY NOTE: this changes the older api a little bit in
+ that improper indexing would previously (incorrectly) raise
+ exceptions. Now, nil is returned instead, following ruby's
+ standard Array behavior.
+
+05/02/2007: gga
+ [Ruby]
+ Changed the value of SWIG_TYPECHECK_BOOL to be 10000 (ie. higher
+ than that of all integers).
+ This is because Ruby allows typecasting
+ integers down to booleans which can make overloaded functions on
+ bools and integers to fail.
+ (bug# 1488142)
+
+05/02/2007: gga
+ [Ruby]
+ Fixed a subtle bug in multiple argouts that could get triggered if
+ the user returned two or more arguments and the first one was an
+ array.
+
+05/01/2007: gga
+ [Ruby]
+ Improved the documentation to document the new features
+ added, add directorin/out/argout typemaps, etc.
+
+05/01/2007: gga
+ [Ruby]
+ Added %initstack and %ignorestack directives for director
+ functions. These allow you to control whether a director
+ function should re-init the Ruby stack.
+ This is sometimes needed for an embedded Ruby where the
+ director method is used as a C++ callback and not called
+ by the user from ruby code.
+ Explanation:
+ Ruby's GC needs to be aware of the running OS stack in order to
+ mark any VALUE (Ruby objects) it finds there to avoid collection
+ of them. This allows the ruby API to be very simple and allows
+ you to write code like "VALUE a = sth" anywhere without needing
+ to do things like refcounting like python.
+ By default, the start of the stack is set when ruby_init() is
+ called. If ruby is inited within main(), as it usually is the
+ case with the main ruby executable, ruby will be able to calculate
+ its stack properly. However, when this is not possible, as when
+ ruby is embedded as a plugin to an application where main is not
+ available, ruby_init() will be called in the wrong place, and
+ ruby will be incorrectly tracking the stack from the function
+ that called ruby_init() forwards only, which can lead to
+ all sorts of weird crashes or to ruby thinking it has run out of
+ stack space incorrectly.
+ To avoid this, director (callback) functions can now be tagged
+ to try to reset the ruby stack, which will solve the issues.
+ NOTE: ruby1.8.6 still contains a bug in it in that its function
+ to reset the stack will not always do so. This bug is triggered
+ very rarely, when ruby is called from two very distinct places
+ in memory, like a branch of main() and another dso. This bug
+ has now been reported to ruby-core and is pending further
+ investigation.
+ (bug #1700535 and patch #1702907)
+
+04/30/2007: wsfulton
+ Fix #1707582 - Restore building from read-only source directories.
+
+04/30/2007: gga
+ [Ruby]
+ Ruby will now report the parameter index properly on type
+ errors as well as the class and value of the incorrect
+ argument passed.
+ (feature request #1699670)
+
+04/30/2007: gga
+ [Ruby]
+ Ruby no longer creates the free_Class function if the class
+ contains its own user defined free function (%freefunc).
+ (bug #1702882)
+
+04/30/2007: gga
+ [Ruby]
+ Made directors raise a ruby exception for incorrect argout
+ returned values if RUBY_EMBEDDED is set, instead of throwing
+ an actual SwigDirector exception.
+ This will prevent crashes when ruby is embedded and unaware
+ of the SwigDirector exception.
+
+04/30/2007: gga
+ [Ruby]
+ Removed the need for -DSWIGEXTERN.
+ Changed swig_ruby_trackings to be a static variable, but also
+ be kept within a hidden instance variable in the SWIG module.
+ This allows properly dealing with trackings across multiple
+ DSOs, which was previously broken.
+ (bug #1700535 and improvement to patch #1702907)
+
+04/29/2007: gga
+ [Ruby] Fixed GC memory issues with trackings that could lead
+ to segfaults when dealing, mainly, with static variables.
+ (bug #1700535 and patch #1702907)
+
+04/29/2007: gga
+ [Ruby]
+ Fixed String conversion using old ruby1.6 macros. Now
+ StringValuePtr() is used if available. This removes warnings
+ when converting strings with \0 in them.
+ (bug #1700535 and patch #1702907)
+
+04/29/2007: gga
+ [Ruby]
+ Fixed the argout count in directors for Ruby. Previously,
+ ignored or "numinputs=0" typemaps would incorrectly not get
+ counted towards the argout count.
+ (bug/patch #1545585)
+
+04/29/2007: gga
+ [Ruby]
+ Upgraded Ruby converter to recognize "numinputs=0". Previously,
+ only the old "ignore" flag was checked (which would currently
+ still work properly, but is deprecated).
+
+04/29/2007: gga
+ [Ruby - but should be made generic]
+
+ %feature("numoutputs","0") added.
+
+ This feature allows you to ignore the output of a function so
+ that it is not added to a list of output values
+ ( ie. argouts ).
+ This should also become a feature of %typemap(directorout)
+ as "numoutputs"=0, just like "numinputs"=0 exists.
+
+ %feature("directors"=1)
+
+ %include <typemaps.i>
+
+ %feature("numoutputs","0") { Class::member_function1 };
+ %typemap(out) MStatus { // some code, like check mstatus
+ // and raise exception if wrong };
+
+ %inline %{
+ typedef int MStatus;
+ class Class {
+
+ // one argument returned, but director out code added
+ // MStatus is discarded as a return (out) parameter.
+ virtual MStatus member_function1( int& OUTPUT );
+
+ // two arguments returned, director out code added
+ // MStatus is not discarded
+ virtual MStatus member_function2( int& OUTPUT );
+ };
+ %}
+
+
+04/21/2007: olly
+ Fix parsing of float constants with an exponent (e.g. 1e-02f)
+ (bug #1699646).
+
+04/20/2007: olly
+ [Python] Fix lack of generation of docstrings when -O is used.
+ Also, fix generation of docstrings containing a double quote
+ character. Patch from Richard Boulton in bug#1700146.
+
+04/17/2007: wsfulton
+ [Java, C#] Support for adding in Java/C# code before and after the intermediary call,
+ specifically related to the marshalling of the proxy type to the intermediary type.
+ The javain/csin typemap now supports the 'pre' and 'post' attributes to achieve this.
+ The javain typemap also supports an optional 'pgcppname' attribute for premature garbage
+ collection prevention parameter naming and the csin typemap supports an optional 'cshin'
+ attribute for the parameter type used in a constructor helper generated when the type is used
+ in a constructor. Details in the Java.html and CSharp.html documentation.
+
+04/16/2007: olly
+ Don't treat `restrict' as a reserved identifier in C++ mode
+ (bug#1685534).
+
+04/16/2007: olly
+ [PHP5] Fix how zend_throw_exception() is called (bug #1700785).
+
+04/10/2007: olly
+ Define SWIGTEMPLATEDISAMBIGUATOR to template for aCC (reported on
+ swig-user that this is needed).
+
+04/04/2007: olly
+ [PHP5] If ZTS is enabled, release <module>_globals_id in MSHUTDOWN
+ to avoid PHP interpreter crash on shutdown. This solution was
+ suggested here: http://bugs.php.net/bug.php?id=40985
+
+04/03/2007: olly
+ [PHP4] Add missing ZTS annotations to generated C++ wrapper code
+ to fix compilation failures when using ZTS enabled SWIG (Linux
+ distributions tend to disable ZTS, but notably the Windows build
+ uses it by default).
+
+04/01/2007: efuzzyone
+ [CFFI] Patch #1684261: fixes handling of unsigned int literals, thanks Leigh Smith.
+ Also, improved documentation.
+
+03/30/2007: olly
+ Avoid generating '<:' token when using SwigValueWrapper<> on a type
+ which starts with '::' (patch #1690948).
+
+03/25/2007: wuzzeb (John Lenz)
+ [perl5] Add SWIG_fail to the SWIG_exception macro. Fixes a few problems reported
+ on the mailing list.
+
+03/23/2007: wsfulton
+ String copying patch from Josh Cherry reducing memory consumption by about 25%.
+
+03/21/2007: wsfulton
+ [Java] Apply patch #1631987 from Ulrik Peterson - bool INOUT typemaps
+ fail on big endian machines.
+
+03/16/2007: wsfulton
+ Fix seg fault given dodgy C++ code: namespace abc::def { }
+
+03/16/2007: wsfulton
+ [Java] Fixes so that ARRAYSOFCLASSES and ARRAYSOFENUMS in arrays_java.i can be applied
+ to pointer types.
+
+03/03/2007: olly
+ [PHP5] When we know the literal numeric value for a constant, use
+ that to initialise the const member in the PHP wrapper class.
+
+03/02/2007: olly
+ [PHP5] Fix PHP wrapper code generated for certain cases of
+ overloaded forms with default arguments.
+
+02/26/2007: efuzzyone
+ [CFFI] Patch #1656395: fixed hex and octal values bug, thanks to Arthur Smyles.
+
+02/22/2007: mgossage
+ [Lua] Fixed bug in typemaps which caused derived_byvalue and rname test cases to fail.
+ Updated derived_byvalue.i to explain how to find and fix the problem
+
+01/25/2007: wsfulton
+ Fix #1538522 and #1338527, forward templated class declarations without a
+ name for the templated class parameters, such as:
+
+ template <typename, class> class X;
+
+01/23/2007: mgossage
+ [Lua] Patch #1640862: <malloc.h> replaced by <stdlib.h>
+ Patch #1598063 Typo in typemaps.i
+
+01/22/2007: mgossage
+ [Lua] Added a lua specific carrays.i which adds the operator[] support.
+ modified the main code to make it not emit all the class member functions & accessors
+ Note: C structs are created using new_XXX() while C++ classes use XXX() (should be standardised)
+ Updated test case: li_carrays
+ Updated the documentation.
+
+01/12/2007: wsfulton
+ [Php] Add support for newfree typemaps (sometimes used by %newobject)
+
+01/12/2007: beazley
+ New command line option -macroerrors. When supplied, this will force
+ the C scanner/parser to report proper location information for code contained
+ inside SWIG macros (defined with %define). By default, SWIG merely reports
+ errors on the line at which a macro is used. With this option, you
+ can expand the error back to its source---something which may simplify
+ debugging.
+
+01/12/2007: beazley
+ [Internals] Major overhaul of C/C++ scanning implementation. For quite
+ some time, SWIG contained two completely independent C/C++ tokenizers--
+ the legacy scanner in CParse/cscanner.c and a general purpose scanner
+ in Swig/scanner.c. SWIG still has two scanning modules, but the C parser
+ scanner (CParse/cscanner.c) now relies upon the general purpose
+ scanner found in Swig/scanner.c. As a result, it is much smaller and
+ less complicated. This change also makes it possible to maintain all
+ of the low-level C tokenizing in one central location instead of two
+ places as before.
+
+ ***POTENTIAL FLAKINESS***
+ This change may cause problems with accurate line number reporting
+ as well as error reporting more generally. I have tried to resolve this
+ as much as possible, but there might be some corner cases.
+
+01/12/2007: mgossage
+ [Lua] Added typemap throws for std::string*, typemap for SWIGTYPE DYNAMIC,
+ changed the existing throws typemap to throw a string instead of making a copy of
+ the object (updating a few test cases to deal with the change).
+ fixed test case: dynamic_casts, exception_partial_info, li_std_string, size_t
+
+01/03/2007: beazley
+ [Internals]. Use of swigkeys.c/.h variables is revoked. Please use
+ simple strings for attribute names.
+
+12/30/2006: beazley
+ Internal API functions HashGetAttr() and HashCheckAttr() have been revoked.
+ Please use Getattr() to retrieve attributes. The function Checkattr() can
+ be used to check attributes. Note: These functions have been revoked
+ because they only added a marginal performance improvement at the expense
+ code clarity.
+
+12/26/2006: mgossage
+ [Lua] Added more STL (more exceptions, map, size_t),
+ fixed test case: conversion_ns_template.
+
+12/21/2006: mgossage
+ [Lua] Update to throw errors when setting immutables,
+ and allowing user addition of module variables.
+
+12/20/2006: wsfulton
+ Fix typedef'd variable wrappers that use %naturalvar, eg, std::string.
+
+12/14/2006: wsfulton
+ [C#] Add std::wstring and wchar_t typemaps
+
+12/14/2006: olly
+ [php] Fix bug #1613673 (bad PHP5 code generated for getters and
+ setters).
+
+12/02/2006: wsfulton, John Lenz, Dave Beazley
+ Move from cvs to Subversion for source control
+
+11/30/2006: beazley
+ Cleaned up swigwarnings.swg file not to use nested macro
+ definitions.
+
+11/12/2006: wsfulton
+ [Java, C#] Fix for %extend to work for static member variables.
+
Version 1.3.31 (November 20, 2006)
==================================