Moved 1.3.27 changes here from CHANGES.current
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7750 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
220210c3b3
commit
b2dd788fc5
1 changed files with 83 additions and 0 deletions
83
CHANGES
83
CHANGES
|
|
@ -2,6 +2,89 @@ SWIG (Simplified Wrapper and Interface Generator)
|
||||||
|
|
||||||
See CHANGES.current for current version.
|
See CHANGES.current for current version.
|
||||||
|
|
||||||
|
Version 1.3.27 (October 15, 2005)
|
||||||
|
=================================
|
||||||
|
|
||||||
|
10/15/2005: wsfulton
|
||||||
|
[Java] Fix for typesafe enum wrapping so that it is possible to
|
||||||
|
overload a method with 2 different enum types.
|
||||||
|
|
||||||
|
10/15/2005: wsfulton
|
||||||
|
Fix for %feature("immutable","0") attempting to generate setters
|
||||||
|
for constants.
|
||||||
|
|
||||||
|
Restored %immutable and %makedefault to clear the feature as it
|
||||||
|
behaved in SWIG-1.3.25 and earlier.
|
||||||
|
|
||||||
|
10/14/2005: mmatus
|
||||||
|
Fix bug in anonymous typedef structures which was leading to
|
||||||
|
strange behaviour.
|
||||||
|
|
||||||
|
10/13/2005: mmatus
|
||||||
|
Several minor changes:
|
||||||
|
|
||||||
|
- Improve the wchar_t type support
|
||||||
|
- Add a warning for when you define the 'in' typemap but
|
||||||
|
you don't define the 'typecheck' one. Very common mistake.
|
||||||
|
- Add proper default rule for function pointers, now you
|
||||||
|
can define a typemap such as:
|
||||||
|
|
||||||
|
%typemap(in) SWIGTYPE ((*)(ANY)) {...}
|
||||||
|
|
||||||
|
That will apply to all the pointer to functions. The
|
||||||
|
rule in C++ also apply to the function 'reference', ie,
|
||||||
|
in both cases
|
||||||
|
|
||||||
|
typedef int (*fptr)(int a);
|
||||||
|
typedef int (func)(int a);
|
||||||
|
|
||||||
|
This was needed since it seems to be 'illegal' in C++ to
|
||||||
|
do something like:
|
||||||
|
|
||||||
|
void *ptr = static_cast<void *>(fptr);
|
||||||
|
|
||||||
|
and probably, as for member functions, it is not
|
||||||
|
warrantied that the pointer sizes will match.
|
||||||
|
|
||||||
|
- Add the #error/#warning directives to swig's cpp.
|
||||||
|
|
||||||
|
- Add the noblock option for typemaps, which is used as
|
||||||
|
follows: supposed you a typemap, like this
|
||||||
|
|
||||||
|
|
||||||
|
%typemap(in,noblock=1) Hello {
|
||||||
|
....
|
||||||
|
}
|
||||||
|
|
||||||
|
then the typemap will be inserted without the block
|
||||||
|
imposed by the brackets, similar to
|
||||||
|
|
||||||
|
%typemap(in) Hello "...";
|
||||||
|
|
||||||
|
So, why you don't just use the quote style?, because:
|
||||||
|
|
||||||
|
1.- The quote style doesn't get preprocessed, for example
|
||||||
|
|
||||||
|
%typemap(in) Hello "$1= SWIG_macro($1);";
|
||||||
|
|
||||||
|
here, SWIG_macro doesn't get expanded
|
||||||
|
|
||||||
|
2.- Inside a quote typemap, you have to use
|
||||||
|
quotes carefully
|
||||||
|
|
||||||
|
%typemap(in) Hello "$1 = \"hello\" ";
|
||||||
|
|
||||||
|
3.- You can't make emacs and/or other editors
|
||||||
|
to indent inside a string!.
|
||||||
|
|
||||||
|
|
||||||
|
So, why do you want to remove the block?, because an extra
|
||||||
|
block when not needed (no local variables in it):
|
||||||
|
|
||||||
|
1.- makes the code harder to read
|
||||||
|
2.- makes the code larger
|
||||||
|
3.- or in short, for the same reason we have the quote style.
|
||||||
|
|
||||||
Version 1.3.26 (October 9, 2005)
|
Version 1.3.26 (October 9, 2005)
|
||||||
================================
|
================================
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue