From: Marcelo M. <mar...@us...> - 2006-01-28 18:58:28
|
Update of /cvsroot/swig/SWIG In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19970 Modified Files: CHANGES.current README Log Message: add more docs Index: README =================================================================== RCS file: /cvsroot/swig/SWIG/README,v retrieving revision 1.92 retrieving revision 1.93 diff -C2 -d -r1.92 -r1.93 *** README 26 Jan 2006 21:40:35 -0000 1.92 --- README 28 Jan 2006 18:58:17 -0000 1.93 *************** *** 78,84 **** - More powerful renaming (%rename) capability. - More user friendly warning handling. ! - Initial GCJ/Java to scripting language support. - Optional automatic copy constructor wrapper generation. ! - Explicit conversions (python). - Python threading support added. - Support for Ruby bang methods. --- 78,88 ---- - More powerful renaming (%rename) capability. - More user friendly warning handling. ! - Add finer control for default constructors and destructors. We discourage ! the use of the 'nodefault' option, which disable both constructors and ! destructors, leading to possible memory leaks. Use instead 'nodefaultctor' ! and/or 'nodefaultdtor'. - Optional automatic copy constructor wrapper generation. ! - Python implicit conversion mechanism similar to C++, via the %implicitconv ! directive (replaces and improves the implicit.i library). - Python threading support added. - Support for Ruby bang methods. *************** *** 86,97 **** - Unified typemap library (UTL) potentially providing core typemaps for all scripting languages based on the recently evolving Python typemaps. ! - Python, Ruby, Perl and Tcl using using the UTL. - Improved dispatching in overloaded functions by using a cast and rank ! mechanism. - Better handling of Windows extensions and types. - C++ support added to the Allegrocl module, also enhanced C support. ! - Python STL support improved, eg performance improvements and addition of ! iterators and STL containers of native Python types. - Better runtime error reporting. - Minor bug fixes and improvements to the Lua, Ruby, Java, C#, Python, Guile, Chicken, Tcl and Perl modules. --- 90,116 ---- - Unified typemap library (UTL) potentially providing core typemaps for all scripting languages based on the recently evolving Python typemaps. ! - Python, Ruby, Perl and Tcl use the new UTL. ! - Initial GCJ/Java support for languages using the UTL. - Improved dispatching in overloaded functions by using a cast and rank ! mechanism in perl and optionally in python via the -castmode option. - Better handling of Windows extensions and types. - C++ support added to the Allegrocl module, also enhanced C support. ! - Python STL support improved, addition of iterators and STL containers of ! native Python types. ! - Python performance options and improvements, try the -O option to test ! all of them. Python runtime benchmarks shows upto 20 times better performance ! compared to 1.3.27 and older versions. ! - Python support for 'multi-inheritance' at the python side. ! - Python simplified proxy classes, now swig doesn't need to generate the auxiliar ! 'ClassPtr' clasess. ! - Python backward compatibility improved, many projects that used to work ! only with swig-1.3.21 to swig-1.3.24 are working again with swig-1.3.28 - Better runtime error reporting. + - Add the %catches directive to catch and dispatch exceptions. + - Add the %naturalval directive for more 'natural' variable wrapping. + - Add the %allowexcept and %exceptionvar directives to handle exceptions when + accesing a variable. + - Add the %delobject directive to mark methods that act like destructors. + - Add/doc more debug options. - Minor bug fixes and improvements to the Lua, Ruby, Java, C#, Python, Guile, Chicken, Tcl and Perl modules. Index: CHANGES.current =================================================================== RCS file: /cvsroot/swig/SWIG/CHANGES.current,v retrieving revision 1.538 retrieving revision 1.539 diff -C2 -d -r1.538 -r1.539 *** CHANGES.current 28 Jan 2006 09:05:30 -0000 1.538 --- CHANGES.current 28 Jan 2006 18:58:14 -0000 1.539 *************** *** 2,5 **** --- 2,49 ---- =========================== + 01/24/2006: mmatus + - Better support for the %naturalvar directive, now it + works along the scripting languages as well as + java/csharp. + + Now, it can also be applied to class types: + + %naturalvar std::string; + %include <std_string.i> + + that will tell swig to use the the 'natural' wrapping + mechanism to all std::string global and member + variables. Just remember to use the directive before + the class declaration. + + - Add support for the %allowexcept feature along the + scripting languages, which allows the %exception feature + to be applied to the variable access methods. Also, add + the %exceptionvar directive to specify a distintic + exception mechanism only for variables. + + + - Add more docs for the %delobject directive to mark a method as a + destructor, 'disowning' the first argument. For example: + + %newobject create_foo; + %delobject destroy_foo; + + Foo *create_foo() { return new Foo(); } + void destroy_foo(Foo *foo) { delete foo; } + + or in a member method as: + + %delobject Foo::destroy; + + class Foo { + public: + void destroy() { delete this;} + + private: + ~Foo(); + }; + + 01/24/2006: mgossage [Lua] *************** *** 11,15 **** (thenks to Jason Rego for this observation) ! 01/16/2006: mmatus (Change disabled) Add initial support for regexp via the external library RxSpencer. SWIG doesn't require this library to compile --- 55,59 ---- (thenks to Jason Rego for this observation) ! 01/16/2006: mmatus (Change disabled... will be back in CVS soon) Add initial support for regexp via the external library RxSpencer. SWIG doesn't require this library to compile *************** *** 673,681 **** %naturalvar Bar::s; - or specific classes: - - %naturalvar std::string; - %include <std_string.i> - Then, in the following case for example: --- 717,720 ---- |