git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12814 626c5289-ae23-0410-ae9c-e8d60b6d4f22
214 lines
8.3 KiB
Text
214 lines
8.3 KiB
Text
Below are the changes for the current release.
|
|
See the CHANGES file for changes in older releases.
|
|
See the RELEASENOTES file for a summary of changes in each release.
|
|
|
|
Version 2.0.5 (in progress)
|
|
===========================
|
|
|
|
2011-09-19: wsfulton
|
|
Fix regression introduced in swig-2.0.1 reported by Teemu Ikonone leading to uncompilable code
|
|
when using typedef and function pointer references, for example:
|
|
|
|
typedef int FN(const int &a, int b);
|
|
void *typedef_call1(FN *& precallback, FN * postcallback);
|
|
|
|
2011-09-14: wsfulton
|
|
[Lua] Patch #3408012 from Raman Gopalan - add support for embedded Lua (eLua)
|
|
including options for targeting Lua Tiny RAM (LTR).
|
|
|
|
2011-09-14: wsfulton
|
|
[C#] Add boost_intrusive_ptr.i library contribution from patch #3401571.
|
|
|
|
2011-09-13: wsfulton
|
|
Add warnings for badly named destructors, eg:
|
|
|
|
struct KStruct {
|
|
~NOT_KStruct() {}
|
|
};
|
|
|
|
cpp_extend_destructors.i:92: Warning 521: Illegal destructor name ~NOT_KStruct. Ignored.
|
|
|
|
2011-09-13: wsfulton
|
|
Fix %extend and destructors for templates. The destructor in %extend was not always wrapped,
|
|
for example:
|
|
|
|
%extend FooT {
|
|
~FooT() { delete $self; } // was not wrapped as expected
|
|
};
|
|
template<class T> class FooT {};
|
|
%template(FooTi) FooT<int>;
|
|
|
|
2011-09-13: wsfulton
|
|
Fix special variables such as "$decl" and "$fulldecl" in destructors to include the ~ character.
|
|
|
|
2011-09-10: talby
|
|
[perl5] SF bug #1481958 - Improve range checking for integer types.
|
|
Enhance li_typemaps_runme.pl
|
|
|
|
2011-09-08: wsfulton
|
|
Fix %extend on typedef classes in a namespace using the typedef name, for example:
|
|
namespace Space {
|
|
%extend CStruct {
|
|
...
|
|
}
|
|
typedef struct tagCStruct { ... } CStruct;
|
|
}
|
|
|
|
2011-08-31: xavier98
|
|
[octave] patches from Karl Wette: improvements to module loading behavior;
|
|
added example of friend operator to operator example; fixed octave panic/crash in 3.0.5;
|
|
documentation improvements
|
|
|
|
2011-08-30: szager
|
|
[python] Bug 3400486, fix error signalling for built-in constructors.
|
|
|
|
2011-08-26: wsfulton
|
|
[Go] Fix file/line number display for "gotype" when using typemap debugging options
|
|
-tmsearch and -tmused.
|
|
|
|
2011-08-26: wsfulton
|
|
[C#, D] Fix %callback which was generating uncompileable code.
|
|
|
|
2011-08-25: wsfulton
|
|
Fix constructors in named typedef class declarations as reported by Gregory Bronner:
|
|
|
|
typedef struct A {
|
|
A(){} // Constructor which was not accepted by SWIG
|
|
B(){} // NOT a constructor --illegal, but was accepted by SWIG
|
|
} B;
|
|
|
|
For C code, the fix now results in use the use of 'struct A *' instead of just 'B *' in
|
|
the generated code when wrapping members in A, but ultimately this does not matter, as
|
|
they are the same thing.
|
|
|
|
2011-08-23: wsfulton
|
|
Fix %newobject when used in conjunction with %feature("ref") as reported by Jan Becker. The
|
|
code from the "ref" feature was not always being generated for the function specified by %newobject.
|
|
Documentation for "ref" and "unref" moved from Python to the C++ chapter.
|
|
|
|
2011-08-22: szager
|
|
[python] Fixed memory leak with --builtin option (bug 3385089).
|
|
|
|
2011-08-22: wsfulton
|
|
[Lua] SF patch #3394339 from Torsten Landschoff - new option -nomoduleglobal to disable installing
|
|
the module table into the global namespace. Require call also returns the module table instead
|
|
of a string.
|
|
|
|
2011-08-12: wsfulton
|
|
SF bug # 3333549 - %shared_ptr fixes when the type is a template using template parameters
|
|
that are typedef'd to another type.
|
|
|
|
Also fixed %shared_ptr when template parameters have default values.
|
|
|
|
2011-08-09: xavier98
|
|
Fix bug 3387394; Octave patches for 3.4.0 compatibility, etc. (from Karl Wette)
|
|
|
|
2011-08-04: wsfulton
|
|
Add in $symname expansion for director methods.
|
|
|
|
2011-07-29: olly
|
|
[PHP] Don't generate "return $r;" in cases where $r hasn't been set.
|
|
This was basically harmless, except it generated a PHP E_NOTICE if
|
|
the calling code had enabled them.
|
|
|
|
2011-07-26: wsfulton
|
|
Fix scoping of forward class declarations nested within a class (for C++). Previously the symbol
|
|
was incorrectly put into the outer namespace, eg
|
|
|
|
namespace std {
|
|
template<class Key, class T> struct map {
|
|
class iterator;
|
|
}
|
|
}
|
|
|
|
iterator was scoped as std::iterator, but now it is correctly std::map<Key, T>::iterator;
|
|
|
|
Also fixed is %template and template parameters that are a typedef when the template contains
|
|
default template parameters, eg:
|
|
|
|
namespace Std {
|
|
template<class Key, class T, class C = int> struct Map {
|
|
typedef Key key_type;
|
|
typedef T mapped_type;
|
|
}
|
|
}
|
|
tyepdef double DOUBLE;
|
|
%typemap(MM) Std::Map<int, DOUBLE>;
|
|
|
|
All symbols within Map will be resolved correctly, eg key_type and mapped_type no matter if the
|
|
wrapped code uses Std::Map<int, double> or std::Map<int, DOUBLE> or Std::Map<int, double, int>
|
|
|
|
Also fixes bug #3378145 - regression introduced in 2.0.4 - %template using traits.
|
|
|
|
2011-07-20 szager
|
|
[python] Fix closure for tp_call slot.
|
|
|
|
2011-07-16: wsfulton
|
|
[python] Fix director typemap using PyObject *.
|
|
|
|
2011-07-13: szager
|
|
[python] SF patch #3365908 - Add all template parameters to map support code in std_map.i
|
|
|
|
2011-07-13: szager
|
|
[python] Fix for bug 3324753: %rename member variables with -builtin.
|
|
|
|
2011-07-01: wsfulton
|
|
Fix some scope and symbol lookup problems when template default parameters are being
|
|
used with typedef. For example:
|
|
|
|
template<typename XX, typename TT = SomeType> struct Foo {
|
|
typedef XX X;
|
|
typedef TT T;
|
|
};
|
|
template<typename TT> struct UsesFoo {
|
|
void x(typename Foo<TT>::T, typename Foo<TT>::X);
|
|
};
|
|
|
|
Also fixes use of std::vector<int>::size_type for Python as reported by Aubrey Barnard.
|
|
|
|
2011-06-23: olly
|
|
[PHP] Fix director code to work when PHP is built with ZTS enabled,
|
|
which is the standard configuration on Microsoft Windows.
|
|
|
|
2011-06-21: mutandiz
|
|
[allegrocl]
|
|
- various small tweaks and bug fixes.
|
|
- Avoid name conflicts between smart pointer wrappers and the wrappers for
|
|
the actual class.
|
|
- Fix default typemaps for C bindings, which were incorrectly attempting to
|
|
call non-existent destructors on user-defined types.
|
|
- New feature, feature:aclmixins, for adding superclass to the foreign class
|
|
wrappers.
|
|
- Improve longlong typemaps.
|
|
|
|
2011-06-19: wsfulton
|
|
Fix incorrect typemaps being used for a symbol within a templated type, eg:
|
|
A<int>::value_type would incorrectly use a typemap for type A.
|
|
|
|
2011-06-18: olly
|
|
[Tcl] Fix variable declarations in middle of blocks which isn't
|
|
permitted in C90 (issue probably introduced in 2.0.3 by patch #3224663).
|
|
Reported by Paul Obermeier in SF#3288586.
|
|
|
|
2011-06-17: wsfulton
|
|
[Java] SF #3312505 - slightly easier to wrap char[] or char[ANY] with a Java byte[]
|
|
using arrays_java.i.
|
|
|
|
2011-06-13: wsfulton
|
|
[Ruby, Octave] SF #3310528 Autodoc fixes similar to those described below for Python.
|
|
|
|
2011-06-10: wsfulton
|
|
[Python] Few subtle bugfixes in autodoc documentation generation,
|
|
- Unnamed argument names fix for autodoc levels > 0.
|
|
- Display of template types fixed for autodoc levels > 1.
|
|
- Fix SF #3310528 - display of typedef structs for autodoc levels > 1.
|
|
- Add missing type for self for autodoc levels 1 and 3.
|
|
- autodoc levels 2 and 3 documented.
|
|
- Minor tweaks to autodoc style to conform with PEP8.
|
|
|
|
2011-05-30: olly
|
|
[PHP] Fix handling of directors when -prefix is used.
|
|
|
|
2011-05-24: olly
|
|
[PHP] Fix handling of methods of classes with a virtual base class (SF#3124665).
|
|
|