PageRenderTime 168ms CodeModel.GetById 48ms app.highlight 106ms RepoModel.GetById 1ms app.codeStats 0ms

/tags/rel-2.0.1/CHANGES

#
#! | 1564 lines | 1204 code | 360 blank | 0 comment | 0 complexity | dec027db63b0209494d920f1340fc100 MD5 | raw file

Large files files are truncated, but you can click here to view the full file

   1SWIG (Simplified Wrapper and Interface Generator)
   2
   3See the CHANGES.current file for changes in the current version.
   4See the RELEASENOTES file for a summary of changes in each release.
   5
   6Version 2.0.0 (2 June 2010)
   7===========================
   8
   92010-06-02: wsfulton
  10            [C#] Fix SWIG_STD_VECTOR_ENHANCED macro used in std::vector to work with
  11            types containing commas, for example:
  12
  13              SWIG_STD_VECTOR_ENHANCED(std::pair< double, std::string >)
  14
  152010-06-01: wsfulton
  16            Add in std_shared_ptr.i for wrapping std::shared_ptr. Requires the %shared_ptr
  17            macro like in the boost_shared_ptr.i library. std::tr1::shared_ptr can also be
  18            wrapped if the following macro is defined:
  19
  20              #define SWIG_SHARED_PTR_SUBNAMESPACE tr1
  21              %include <std_shared_ptr.i>
  22
  23            shared_ptr is also documented in Library.html now.
  24
  252010-05-27: wsfulton
  26            Add the ability for $typemap special variable macros to call other $typemap
  27            special variable macros, for example:
  28
  29              %typemap(cstype) CC "CC"
  30              %typemap(cstype) BB "$typemap(cstype, CC)"
  31              %typemap(cstype) AA "$typemap(cstype, BB)"
  32              void hah(AA aa);
  33
  34            This also fixes C# std::vector containers of shared_ptr and %shared_ptr.
  35
  36            Also added diagnostics for $typemap with -debug-tmsearch, for example, the
  37            above displays additional diagnostic lines starting "Containing: ":
  38
  39              example.i:34: Searching for a suitable 'cstype' typemap for: AA aa
  40                Looking for: AA aa
  41                Looking for: AA
  42                Using: %typemap(cstype) AA
  43                Containing: $typemap(cstype, BB)
  44              example.i:31: Searching for a suitable 'cstype' typemap for: BB
  45                Looking for: BB
  46                Using: %typemap(cstype) BB
  47                Containing: $typemap(cstype, CC)
  48              example.i:29: Searching for a suitable 'cstype' typemap for: CC
  49                Looking for: CC
  50                Using: %typemap(cstype) CC
  51
  522010-05-26: olly
  53	    Fix %attribute2ref not to produce a syntax error if the last
  54	    argument (AccessorMethod) is omitted.  Patch from David Piepgras
  55	    in SF#2235756.
  56
  572010-05-26: olly
  58	    [PHP] When using %throws or %catches, SWIG-generated PHP5 wrappers
  59	    now throw PHP Exception objects instead of giving a PHP error of
  60	    type E_ERROR.
  61
  62	    This change shouldn't cause incompatibility issues, since you can't
  63	    set an error handler for E_ERROR, so previously PHP would just exit
  64	    which also happens for unhandled exceptions.  The benefit is you can
  65	    now catch them if you want to.
  66
  67	    Fixes SF#2545578 and SF#2955522.
  68
  692010-05-25: olly
  70	    [PHP] Add missing directorin typemap for const std::string &.
  71	    Fixes SF#3006404 reported by t-Legiaw.
  72
  732010-05-23: wsfulton
  74            [C#] Fix #2957375 - SWIGStringHelper and SWIGExceptionHelper not always being
  75            initialized before use in .NET 4 as the classes were not marked beforefieldinit.
  76            A static constructor has been added to the intermediary class like this:
  77
  78              %pragma(csharp) imclasscode=%{
  79                static $imclassname() {
  80                }
  81              %}
  82
  83            If you had added your own custom static constructor to the intermediary class in
  84            the same way as above, you will have to modify your approach to use static variable
  85            initialization or define SWIG_CSHARP_NO_IMCLASS_STATIC_CONSTRUCTOR - See csharphead.swg.
  86
  87	    *** POTENTIAL INCOMPATIBILITY ***
  88
  892010-05-23: wsfulton
  90            Fix #2408232. Improve shared_ptr and intrusive_ptr wrappers for classes in an
  91            inheritance hierarchy. No special treatment is needed for derived classes.
  92            The proxy class also no longer needs to be specified, it is automatically
  93            deduced. The following macros are deprecated:
  94              SWIG_SHARED_PTR(PROXYCLASS, TYPE)
  95              SWIG_SHARED_PTR_DERIVED(PROXYCLASS, BASECLASSTYPE, TYPE)
  96            and have been replaced by
  97              %shared_ptr(TYPE)
  98            Similarly for intrusive_ptr wrappers, the following macro is deprecated:
  99              SWIG_INTRUSIVE_PTR(PROXYCLASS, TYPE)
 100              SWIG_INTRUSIVE_PTR_DERIVED(PROXYCLASS, BASECLASSTYPE, TYPE)
 101            and have been replaced by
 102              %intrusive_ptr(TYPE)
 103
 1042010-05-21: olly
 105	    [PHP] Stop generating a bogus line of code in certain constructors.
 106	    This was mostly harmless, but caused a PHP notice to be issued, if
 107	    enabled (SF#2985684).
 108
 1092010-05-18: wsfulton
 110            [Java] Fix member pointers on 64 bit platforms.
 111
 1122010-05-14: wsfulton
 113            Fix wrapping of C++ enum boolean values reported by Torsten Landschoff:
 114              typedef enum { PLAY = true, STOP = false } play_state;
 115
 1162010-05-14: olly
 117	    [PHP] Fix wrapping of global variables which was producing
 118	    uncompilable code in some cases.
 119
 1202010-05-12: drjoe
 121	    [R] Add two more changes from Wil Nolan.  Get garbage
 122	    collection to work.  Implement newfree
 123
 1242010-05-09: drjoe
 125            Fix bug reported by Wil Nolan change creation of string so
 126            that R 2.7.0+ can use char hashes
 127
 1282010-05-07: wsfulton
 129            Apply patch #2955146 from Sergey Satskiy to fix expressions containing divide by
 130            operator in constructor initialization lists.
 131
 1322010-05-05: wsfulton
 133            [R] Memory leak fix handling const std::string & inputs, reported by Will Nolan.
 134
 1352010-05-01: wsfulton
 136            Typemap matching enhancement for non-default typemaps. Previously all
 137            qualifiers were stripped in one step, now they are stripped one at a time
 138            starting with the left most qualifier. For example, int const*const 
 139            is first stripped to int *const then int *.
 140
 141	    *** POTENTIAL INCOMPATIBILITY ***
 142
 1432010-04-25: bhy
 144            [Python] Fix #2985655 - broken constructor renaming.
 145
 1462010-04-14: wsfulton
 147            Typemap fragments are now official and documented in Typemaps.html.
 148
 1492010-04-09: wsfulton
 150            [Ruby] Fix #2048064 and #2408020.
 151            Apply Ubuntu patch to fix Ruby and std::vector wrappers with -minherit.
 152            https://bugs.launchpad.net/ubuntu/+source/swig1.3/+bug/522874
 153
 1542010-04-09: wsfulton
 155            [Mzscheme] Apply Ubuntu patch to fix std::map wrappers:
 156            https://bugs.launchpad.net/ubuntu/+source/swig1.3/+bug/203876
 157
 1582010-04-09: wsfulton
 159            [Python] Apply patch #2952374 - fix directors and the -nortti option.
 160
 1612010-04-09: wsfulton
 162            [Lua] Fix #2887254 and #2946032 - SWIG_Lua_typename using wrong stack index.
 163
 1642010-04-03: wsfulton
 165            [Python] Fix exceptions being thrown with the -threads option based on patch from Arto Vuori.
 166            Fixes bug #2818499.
 167
 1682010-04-03: wsfulton
 169            Fix Makefile targets: distclean and maintainer-clean
 170
 1712010-04-02: wsfulton
 172            [Lua] Fix char pointers, wchar_t pointers and char arrays so that nil can be passed as a
 173            valid value. Bug reported by Gedalia Pasternak.
 174
 1752010-04-01: wsfulton
 176            Numerous subtle typemap matching rule fixes when using the default type. The typemap
 177            matching rules are to take a type and find the best default typemap (SWIGTYPE, SWIGTYPE* etc),
 178            then look for the next best match by reducing the chosen default type. The type deduction
 179            now follows C++ class template partial specialization matching rules.
 180
 181            Below are the set of changes made showing the default type deduction
 182            along with the old reduced type and the new version of the reduced type:
 183
 184                   SWIGTYPE const &[ANY]
 185              new: SWIGTYPE const &[]
 186              old: SWIGTYPE (&)[ANY]
 187
 188                   SWIGTYPE *const [ANY]
 189              new: SWIGTYPE const [ANY]
 190              old: SWIGTYPE *[ANY]
 191
 192                   SWIGTYPE const *const [ANY]
 193              new: SWIGTYPE *const [ANY]
 194              old: SWIGTYPE const *[ANY]
 195
 196                   SWIGTYPE const *const &
 197              new: SWIGTYPE *const &
 198              old: SWIGTYPE const *&
 199
 200                   SWIGTYPE *const *
 201              new: SWIGTYPE const *
 202              old: SWIGTYPE **
 203
 204                   SWIGTYPE *const &
 205              new: SWIGTYPE const &
 206              old: SWIGTYPE *&
 207
 208            Additionally, a const SWIGTYPE lookup is used now for any constant type. Some examples, where
 209            T is some reduced type, eg int, struct Foo:
 210
 211                   T const
 212              new: SWIGTYPE const
 213              old: SWIGTYPE
 214
 215                   T *const
 216              new: SWIGTYPE *const
 217              old: SWIGTYPE *
 218
 219                   T const[]
 220              new: SWIGTYPE const[]
 221              old: SWIGTYPE[]
 222
 223                   enum T const
 224              new: enum SWIGTYPE const
 225              old: enum SWIGTYPE
 226
 227                   T (*const )[]
 228              new: SWIGTYPE (*const )[]
 229              old: SWIGTYPE (*)[]
 230
 231            Reminder: the typemap matching rules can now be seen for any types being wrapped by using
 232            either the -debug-tmsearch or -debug-tmused options.
 233
 234            In practice this leads to some subtle matching rule changes and the majority of users
 235            won't notice any changes, except in the prime area of motivation for this change: Improve
 236            STL containers of const pointers and passing const pointers by reference. This is fixed
 237            because many of the STL containers use a type 'T const&' as parameters and when T is 
 238            a const pointer, for example, 'K const*', then the full type is 'K const*const&'. This
 239            means that the 'SWIGTYPE *const&' typemaps now match when T is either a non-const or
 240            const pointer. Furthermore, some target languages incorrectly had 'SWIGTYPE *&' typemaps
 241            when these should have been 'SWIGTYPE *const&'. These have been corrected (Java, C#, Lua, PHP).
 242
 243	    *** POTENTIAL INCOMPATIBILITY ***
 244
 2452010-03-13: wsfulton
 246            [Java] Some very old deprecated pragma warnings are now errors.
 247
 2482010-03-13: wsfulton
 249            Improve handling of file names and directories containing double/multiple path separators.
 250
 2512010-03-10: mutandiz (Mikel Bancroft)
 252	    [allegrocl] Use fully qualified symbol name of cl::identity in emit_defun().
 253
 2542010-03-06: wsfulton
 255            [Java] The intermediary JNI class modifiers are now public by default meaning these
 256            intermediary low level functions are now accessible by default from outside any package
 257            used. The proxy class pointer constructor and getCPtr() methods are also now public.
 258            These are needed in order for the nspace option to work without any other mods.
 259            The previous default of protected access can be restored using:
 260
 261              SWIG_JAVABODY_METHODS(protected, protected, SWIGTYPE)
 262              %pragma(java) jniclassclassmodifiers = "class"
 263
 2642010-03-06: wsfulton
 265            [C#] Added the nspace feature for C#. Documentation for the nspace feature is now available.
 266
 2672010-03-04: wsfulton
 268            Added the nspace feature. This adds some improved namespace support. Currently only Java
 269            is supported for target languages, where C++ namespaces are automatically translated into
 270            Java packages. The feature only applies to classes,struct,unions and enums declared within
 271            a namespace. Methods and variables declared in namespaces still effectively have their
 272            namespaces flattened. Example usage:
 273
 274              %feature(nspace) Outer::Inner1::Color;
 275              %feature(nspace) Outer::Inner2::Color;
 276
 277              namespace Outer {
 278                namespace Inner1 {
 279                  struct Color {
 280                    ...
 281                  };
 282                }
 283                namespace Inner2 {
 284                  struct Color {
 285                    ...
 286                  };
 287                }
 288              }
 289
 290            For Java, the -package option is also required when using the nspace feature. Say
 291            we use -package com.myco, the two classes can then be accessed as follows from Java:
 292
 293              com.myco.Outer.Inner1.Color and com.myco.Outer.Inner2.Color.
 294
 2952010-02-27: wsfulton
 296            [Python] Remove -dirvtable from the optimizations included by -O as it this option
 297            currently leads to memory leaks as reported by Johan Blake.
 298
 2992010-02-27: wsfulton
 300            License code changes: SWIG Source is GPL-v3 and library code license is now clearer
 301            and is provided under a very permissive license. See http://www.swig.org/legal.html.
 302
 3032010-02-13: wsfulton
 304            [Ruby] A few fixes for compiling under ruby-1.9.x including patch from 'Nibble'.
 305
 3062010-02-13: wsfulton
 307            [Ruby] Apply patch from Patrick Bennett to fix RARRAY_LEN and RARRAY_PTR usage for Ruby 1.9.x
 308            used in various STL wrappers.
 309
 3102010-02-13: wsfulton
 311            [C#, Java] Fix incorrect multiply defined symbol name error when an enum item
 312            and class name have the same name, as reported by Nathan Krieger. Example:
 313
 314              class Vector {};
 315              namespace Text {
 316                enum Preference { Vector };
 317              }
 318
 319            This also fixes other incorrect corner case target language symbol name clashes.
 320
 3212010-02-11: wsfulton
 322            Add the -debug-lsymbols option for displaying the target language layer symbols.
 323
 3242010-02-09: wsfulton
 325            Fix -MM and -MMD options on Windows. They were not omitting files in the SWIG library as
 326            they should be.
 327
 3282010-02-08: wsfulton
 329            Fix #1807329 - When Makefile dependencies are being generated using the -M family of options
 330            on Windows, the file paths have been corrected to use single backslashes rather than double
 331            backslashes as path separators.
 332
 3332010-02-06: wsfulton
 334            Fix #2918902 - language specific files not being generated in correct directory on
 335            Windows when using forward slashes for -o, for example:
 336              swig -python -c++ -o subdirectory/theinterface_wrap.cpp subdirectory/theinterface.i
 337
 3382010-02-05: wsfulton
 339            Fix #2894405 - assertion when using -xmlout.
 340
 3412010-01-28: wsfulton
 342            Fix typemap matching bug when a templated type has a typemap both specialized and not
 343            specialized. For example:
 344
 345              template<typename T> struct XX { ... };
 346              %typemap(in) const XX & "..."
 347              %typemap(in) const XX< int > & "..."
 348
 349            resulted in the 2nd typemap being applied for all T in XX< T >.
 350
 3512010-01-22: wsfulton
 352            Fix #2933129 - typemaps not being found when the unary scope operator (::) is used to denote
 353            global scope, the typemap is now used in situations like this:
 354
 355              struct X {};
 356              %typemap(in) const X & "..."
 357              void m(const ::X &);
 358
 359            and this:
 360
 361              struct X {};
 362              %typemap(in) const ::X & "..."
 363              void m(const X &);
 364
 3652010-01-20: wsfulton
 366            Fix some unary scope operator (::) denoting global scope problems in the types generated
 367            into the C++ layer. Previously the unary scope operator was dropped in the generated code
 368            if the type had any sort of qualifier, for example when using pointers, references, like
 369            ::foo*, ::foo&, bar< ::foo* >.
 370
 3712010-01-13: olly
 372	    [PHP] Add datetime to the list of PHP predefined classes (patch
 373	    from David Fletcher in SF#2931042).
 374
 3752010-01-11: wsfulton
 376            Slight change to warning, error and diagnostic reporting. The warning number is no 
 377            longer shown within brackets. This is to help default parsing of warning messages by
 378            other tools, vim on Unix in particular.
 379
 380            Example original display using -Fstandard:
 381              example.i:20: Warning(401): Nothing known about base class 'B'. Ignored.
 382            New display:
 383              example.i:20: Warning 401: Nothing known about base class 'B'. Ignored.
 384
 385            Also subtle fix to -Fmicrosoft format adding in missing space. Example original display:
 386              example.i(20): Warning(401): Nothing known about base class 'Base'. Ignored.
 387            New display:
 388              example.i(20) : Warning 401: Nothing known about base class 'Base'. Ignored.
 389
 3902010-01-10: wsfulton
 391            Fix a few inconsistencies in reporting of file/line numberings including modifying
 392            the overload warnings 509, 512, 516, 474, 475 to now be two line warnings.
 393
 3942010-01-10: wsfulton
 395            Modify -debug-tags output to use standard file name/line reporting so that editors
 396            can easily navigate to the appropriate lines.
 397            Was typically:
 398              . top . include . include (/usr/share/swig/temp/trunk/Lib/swig.swg:312)
 399              . top . include . include . include (/usr/share/swig/temp/trunk/Lib/swigwarnings.swg:39)
 400            now:
 401              /usr/share/swig/temp/trunk/Lib/swig.swg:312:  . top . include . include
 402              /usr/share/swig/temp/trunk/Lib/swigwarnings.swg:39:  . top . include . include . include
 403
 4042010-01-03: wsfulton
 405            Fix missing file/line numbers for typemap warnings and in output from the
 406           -debug-tmsearch/-debug-tmused options.
 407
 4082010-01-03: wsfulton
 409            Add typemaps used debugging option (-debug-tmused). When used each line displays
 410            the typemap used for each type for which code is being generated including the file
 411            and line number related to the type. This is effectively a condensed form of the
 412            -debug-tmsearch option. Documented in Typemaps.html.
 413
 4142009-12-23: wsfulton
 415            Fix for %javaexception and directors so that all the appropriate throws clauses 
 416            are generated. Problem reported by Peter Greenwood.
 417
 4182009-12-20: wsfulton
 419            Add -debug-tmsearch option for debugging the typemap pattern matching rules.
 420            Documented in Typemaps.html.
 421
 4222009-12-12: wsfulton
 423            [Octave] Remove the -api option and use the new OCTAVE_API_VERSION_NUMBER
 424            macro provided in the octave headers for determining the api version instead.
 425
 4262009-12-04: olly
 427	    [Ruby] Improve support for Ruby 1.9 under GCC.  Addresses part of
 428	    SF#2859614.
 429
 4302009-12-04: olly
 431	    Fix handling of modulo operator (%) in constant expressions
 432	    (SF#2818562).
 433
 4342009-12-04: olly
 435	    [PHP] "empty" is a reserved word in PHP, so rename empty() method
 436	    on STL classes to "is_empty()" (previously this was automatically
 437	    renamed to "c_empty()").
 438	    *** POTENTIAL INCOMPATIBILITY ***
 439
 4402009-12-03: olly
 441	    [PHP] Add typemaps for long long and unsigned long long, and for
 442	    pointer to method.
 443
 4442009-12-02: olly
 445	    [PHP] Fix warning and rename of reserved class name to be case
 446	    insensitive.
 447
 4482009-12-01: wsfulton
 449            Revert support for %extend and memberin typemaps added in swig-1.3.39. The
 450	    memberin typemaps are ignored again for member variables within a %extend block.
 451            Documentation inconsistency reported by Torsten Landschoff.
 452
 4532009-11-29: wsfulton
 454            [Java, C#] Fix generated quoting when using %javaconst(1)/%csconst(1) for 
 455            static const char member variables.
 456
 457              %javaconst(1) A;
 458              %csconst(1) A;
 459              struct X {
 460                static const char A = 'A'; 
 461              };
 462
 4632009-11-26: wsfulton
 464            [Java, C#] Fix %javaconst(1)/%csconst(1) for static const member variables to
 465            use the actual constant value if it is specified, rather than the C++ code to
 466            access the member.
 467
 468              %javaconst(1) EN;
 469              %csconst(1) EN;
 470              struct X {
 471                static const int EN = 2;
 472              };
 473
 4742009-11-23: wsfulton
 475            C++ nested typedef classes can now be handled too, for example:
 476              struct Outer {
 477                typedef Foo { } FooTypedef1, FooTypedef2;
 478              };
 479
 4802009-11-18: wsfulton
 481            The wrappers for C nested structs are now generated in the same order as declared 
 482            in the parsed code.
 483
 4842009-11-18: wsfulton
 485            Fix #491476 - multiple declarations of nested structs, for example:
 486              struct Outer {
 487                struct {
 488                  int val;
 489                } inner1, inner2, *inner3, inner4[1];
 490              } outer;
 491
 4922009-11-17: wsfulton
 493            Fix parsing of enum declaration and initialization, for example:
 494
 495              enum ABC {
 496                a,
 497                b,
 498                c
 499              } A = a, *pC = &C, array[3] = {a, b, c};
 500
 5012009-11-17: wsfulton
 502            Fix parsing of struct declaration and initialization, for example:
 503
 504              struct S {
 505                 int x;
 506              } instance = { 10 };
 507
 5082009-11-15: wsfulton
 509            Fix #1960977 - Syntax error parsing derived nested class declaration and member
 510            variable instance.
 511
 5122009-11-14: wsfulton
 513            Fix #2310483 - function pointer typedef within extern "C" block.
 514
 5152009-11-13: wsfulton
 516            Fix usage of nested template classes within templated classes so that compileable code 
 517            is generated.
 518
 5192009-11-13: olly
 520	    [php] Fix place where class prefix (as specified with -prefix)
 521	    wasn't being used.  Patch from gverbruggen in SF#2892647.
 522
 5232009-11-12: wsfulton
 524            Fix usage of nested template classes so that compileable code is generated - the nested
 525            template class is now treated like a normal nested classes, that is, as an opaque type
 526            unless the nestedworkaround feature is used.
 527
 5282009-11-12: wsfulton
 529            Replace SWIGWARN_PARSE_NESTED_CLASS with SWIGWARN_PARSE_NAMED_NESTED_CLASS and
 530            SWIGWARN_PARSE_UNNAMED_NESTED_CLASS for named and unnamed nested classes respectively.
 531
 532            Named nested class ignored warnings can now be suppressed by name using %warnfilter, eg:
 533
 534              %warnfilter(SWIGWARN_PARSE_NAMED_NESTED_CLASS) Outer::Inner;
 535
 536            but clearly unnamed nested classes cannot and the global suppression is still required, eg:
 537
 538              #pragma SWIG nowarn=SWIGWARN_PARSE_UNNAMED_NESTED_CLASS
 539
 5402009-11-11: wsfulton
 541            Added the nestedworkaround feature as a way to use the full functionality of a nested class 
 542            (C++ mode only). It removes the nested class from SWIG's type information so it is as if SWIG
 543            had never parsed the nested class. The documented nested class workarounds using a global
 544            fake class stopped working when SWIG treated the nested class as an opaque pointer, and
 545            this feature reverts this behaviour. The documentation has been updated with details of how
 546            to use and implement it, see the "Nested classes" section in SWIGPlus.html.
 547
 5482009-11-11: wsfulton
 549            There were a number of C++ cases where nested classes/structs/unions were being handled
 550            as if C code was being parsed which would oftentimes lead to uncompileable code as an
 551            attempt was made to wrap the nested structs like it is documented for C code. Now all
 552            nested structs/classes/unions are ignored in C++ mode, as was always documented. However,
 553            there is an improvement as usage of nested structs/classes/unions is now always treated
 554            as an opaque type by default, resulting in generated code that should always compile.
 555
 556            *** POTENTIAL INCOMPATIBILITY ***
 557
 5582009-11-09: drjoe
 559	    Fix R for -fcompact and add std_map.i
 560
 5612009-11-08: wsfulton
 562            Fix inconsistency for nested structs/unions/classes. Uncompileable code was being
 563            generated when inner struct and union declarations were used as types within the
 564            inner struct. The inner struct/union is now treated as a forward declaration making the
 565            behaviour the same as an inner class. (C++ code), eg:
 566
 567              struct Outer {
 568                struct InnerStruct { int x; };
 569                InnerStruct* getInnerStruct();
 570              };
 571
 5722009-11-08: wsfulton
 573	    Ignored nested class/struct warnings now display the name of the ignored class/struct.
 574
 5752009-11-07: wsfulton
 576	    Bug #1514681 - Fix nested template classes within a namespace generated uncompileable
 577            code and introduced strange side effects to other wrapper code especially code
 578            after the nested template class. Note that nested template classes are still ignored.
 579
 5802009-11-07: wsfulton
 581	    Add new debug options:
 582              -debug-symtabs    - Display symbol tables information
 583              -debug-symbols    - Display target language symbols in the symbol tables
 584              -debug-csymbols   - Display C symbols in the symbol tables
 585
 5862009-11-03: wsfulton
 587	    Fix some usage of unary scope operator (::) denoting global scope, for example:
 588
 589              namespace AA { /* ... */ }
 590              using namespace ::AA;
 591
 592            and bug #1816802 - SwigValueWrapper should be used:
 593
 594              struct CC {
 595                CC(int); // no default constructor
 596              };
 597              ::CC x();
 598
 599            and in template parameter specializations:
 600
 601              struct S {};
 602              template <typename T> struct X { void a() {}; };
 603              template <> struct X<S> { void b() {}; };
 604              %template(MyTConcrete) X< ::S >;
 605
 606            plus probably some other corner case usage of ::.
 607
 6082009-11-02: olly
 609	    [Python] Fix potential memory leak in initialisation code for the
 610	    generated module.
 611
 6122009-10-23: wsfulton
 613	    Fix seg fault when using a named nested template instantiation using %template(name) 
 614            within a class. A warning that these are not supported is now issued plus processing 
 615            continues as if no name was given.
 616
 6172009-10-20: wsfulton
 618	    [Python] Fix std::vector<const T*>. This would previously compile, but not run correctly.
 619
 6202009-10-20: wsfulton
 621	    Fixed previously fairly poor template partial specialization and explicit 
 622            specialization support. Numerous bugs in this area have been fixed including:
 623
 624            - Template argument deduction implemented for template type arguments, eg this now
 625              works:
 626                template<typename T> class X      {};
 627                template<typename T> class X<T *> {};
 628                %template(X1) X<const int *>; // Chooses T * specialization
 629
 630              and more complex cases with multiple parameters and a mix of template argument
 631              deduction and explicitly specialised parameters, eg:
 632                template <typename T1, typename T2> struct TwoParm               { void a() {} };
 633                template <typename T1>              struct TwoParm<T1 *, int *>  { void e() {} };
 634                %template(E) TwoParm<int **, int *>;
 635
 636            Note that the primary template must now be in scope, like in C++, when
 637            an explicit or partial specialization is instantiated with %template.
 638
 639            *** POTENTIAL INCOMPATIBILITY ***
 640
 6412009-09-14: wsfulton
 642	    [C#] Add %csattributes for adding C# attributes to enum values, see docs for example.
 643
 6442009-09-11: wsfulton
 645	    Fix memmove regression in cdata.i as reported by Adriaan Renting.
 646
 6472009-09-07: wsfulton
 648	    Fix constant expressions containing <= or >=.
 649
 6502009-09-02: wsfulton
 651	    The following operators in constant expressions now result in type bool for C++ 
 652            wrappers and remain as type int for C wrappers, as per each standard: 
 653
 654              && || == != < > <= >= (Actually the last 4 are still broken). For example:
 655
 656              #define A 10
 657              #define B 10
 658              #define A_EQ_B  A == B // now wrapped as type bool for C++
 659              #define A_AND_B A && B // now wrapped as type bool for C++
 660
 6612009-09-02: wsfulton
 662	    Fix #2845746. true and false are now recognised keywords (only when wrapping C++).
 663            Constants such as the following are now wrapped (as type bool):
 664              #define FOO true
 665              #define BAR FOO && false
 666
 667Version 1.3.40 (18 August 2009)
 668===============================
 669
 6702009-08-17: olly
 671	    [Perl] Add "#undef do_exec" to our clean up of Perl global
 672	    namespace pollution.
 673
 6742009-08-17: olly
 675	    [PHP] Fix to wrap a resource returned by __get() in a PHP object (SF#2549217).
 676
 6772009-08-17: wsfulton
 678            Fix #2797485 After doing a 'make clean', install fails if yodl2man or yodl2html 
 679            is not available.
 680
 6812009-08-16: wsfulton
 682            [Octave] Caught exceptions display the type of the C++ exception instead of the
 683            generic "c++-side threw an exception" message.
 684
 6852009-08-16: wsfulton
 686            [Java] When %catches is used, fix so that any classes specified in the "throws"
 687            attribute of the "throws" typemap are generated into the Java method's throws clause.
 688
 6892009-08-16: wsfulton
 690            [C#] Fix exception handling when %catches is used, reported by Juan Manuel Alvarez.
 691
 6922009-08-15: wsfulton
 693            Fix %template seg fault on some cases of overloading the templated method.
 694            Bug reported by Jan Kupec.
 695
 6962009-08-15: wsfulton
 697	    [Ruby] Add numerous missing wrapped methods for std::vector<bool> specialization
 698            as reported by Youssef Jones.
 699
 7002009-08-14: wsfulton
 701	    [Perl] Add SWIG_ConvertPtrAndOwn() method into the runtime for smart pointer 
 702            memory ownership control. shared_ptr support still to be added. Patch from 
 703            David Fletcher.
 704
 7052009-08-14: olly
 706	    [PHP] PHP5 now wraps static member variables as documented.
 707
 7082009-08-14: olly
 709	    [PHP] Update the PHP "class" example to work with PHP5 and use
 710	    modern wrapping features.
 711
 7122009-08-13: wsfulton
 713	    [PHP] std::vector wrappers overhaul. They no longer require the 
 714            specialize_std_vector() macro. Added wrappers for capacity() and reserve().
 715
 7162009-08-13: wsfulton
 717	    [PHP] Add const reference typemaps. const reference primitive types are
 718            now passed by value rather than pointer like the other target languages.
 719	    Fixes SF#2524029.
 720
 7212009-08-08: wsfulton
 722	    [Python] More user friendly AttributeError is raised when there are
 723            no constructors generated for the proxy class in the event that the
 724            class is abstract - the error message is now 
 725            "No constructor defined - class is abstract" whereas if there are no
 726            public constructors for any other reason and the class is not abstract,
 727            the message remains
 728            "No constructor defined".
 729            [tcl] Similarly for tcl when using -itcl.
 730
 7312009-08-04: olly
 732	    [PHP] Fix generated code to work with PHP 5.3.
 733
 7342009-08-04: vmiklos
 735            [PHP] Various mathematical functions (which would conflict
 736            with the built-in PHP ones) are now automatically handled by
 737            adding a 'c_' prefix.
 738
 7392009-08-03: wsfulton
 740            [C#] The std::vector<T> implementation is improved and now uses $typemap such
 741            that the proxy class for T no longer has to be specified in some macros
 742            for correct C# compilation; the following macros are deprecated, where
 743            CSTYPE was the C# type for the C++ class CTYPE:
 744
 745            SWIG_STD_VECTOR_SPECIALIZE_MINIMUM(CSTYPE, CTYPE)
 746              usage should be removed altogether
 747
 748            SWIG_STD_VECTOR_SPECIALIZE(CSTYPE, CTYPE)
 749              should be replaced with:
 750            SWIG_STD_VECTOR_ENHANCED(CTYPE)
 751
 752            Some more details in csharp/std_vector.i
 753
 754            *** POTENTIAL INCOMPATIBILITY ***
 755
 7562009-07-31: olly
 757	    [Python] Fix indentation so that we give a useful error if the
 758	    module can't be loaded.  Patch from Gaetan Lehmann in SF#2829853.
 759
 7602009-07-29: wsfulton
 761            Add $typemap(method, typelist) special variable macro. This allows
 762            the contents of a typemap to be inserted within another typemap.
 763            Fully documented in Typemaps.html.
 764
 7652009-07-29: vmiklos
 766            [PHP] Static member variables are now prefixed with the
 767            class name. This allows static member variables with the
 768            same name in different classes.
 769
 7702009-07-29: olly
 771	    [Python] Add missing locks to std::map wrappers.  Patch from 
 772	    Paul Hampson in SF#2813836.
 773
 7742009-07-29: olly
 775	    [PHP] Fix memory leak in PHP OUTPUT typemaps.  Reported by Hitoshi
 776	    Amano in SF#2826322.
 777
 7782009-07-29: olly
 779	    [PHP] Fix memory leak in PHP resource destructor for classes
 780	    without a destructor and non-class types.  Patch from Hitoshi Amano
 781	    in SF#2825303.
 782
 7832009-07-28: olly
 784	    [PHP] Update warnings about clashes between identifiers and PHP
 785	    keywords and automatic renaming to work with the PHP5 class
 786	    wrappers.  Fixes SF#1613679.
 787
 7882009-07-28: vmiklos
 789            [PHP] If a member function is not public but it has a base
 790            which is public, then now a warning is issued and the member
 791            function will be public, as PHP requires this.
 792
 7932009-07-21: vmiklos
 794            [PHP] Director support added.
 795
 7962009-07-15: olly
 797	    [Perl] Don't specify Perl prototype "()" for a constructor with a
 798	    different name to the class, as such constructors can still take
 799	    parameters.
 800
 8012009-07-12: xavier98
 802	    [Octave] Add support for Octave 3.2 API
 803
 8042009-07-05: olly
 805	    [PHP] Update the list of PHP keywords - "cfunction" is no longer a
 806	    keyword in PHP5 and PHP 5.3 added "goto", "namespace", "__DIR__",
 807	    and "__NAMESPACE__".
 808
 8092009-07-03: olly
 810	    [Tcl] To complement USE_TCL_STUBS, add support for USE_TK_STUBS
 811	    and SWIG_TCL_STUBS_VERSION.  Document all three in the Tcl chapter
 812	    of the manual.  Based on patch from SF#2810380 by Christian
 813	    Gollwitzer.
 814
 8152009-07-02: vmiklos
 816            [PHP] Added factory.i for PHP, see the li_factory testcase
 817            for more info on how to use it.
 818
 8192009-07-02: wsfulton
 820            Fix -Wallkw option as reported by Solomon Gibbs.
 821
 8222009-07-02: wsfulton
 823            Fix syntax error when a nested struct contains a comment containing a * followed 
 824            eventually by a /. Regression from 1.3.37, reported by Solomon Gibbs.
 825
 8262009-07-01: vmiklos
 827            [PHP] Unknown properties are no longer ignored in proxy
 828            classes.
 829
 8302009-07-01: vmiklos
 831            [PHP] Fixed %newobject behaviour, previously any method
 832            marked with %newobject was handled as a constructor.
 833
 8342009-06-30: olly
 835	    [Ruby] Undefine close and connect macros defined by Ruby API
 836	    headers as we don't need them and they can clash with C++ methods
 837	    being wrapped.  Patch from Vit Ondruch in SF#2814430.
 838
 8392009-06-26: olly
 840	    [Ruby] Fix to handle FIXNUM values greater than MAXINT passed for a
 841	    double parameter.
 842
 8432009-06-24: wsfulton
 844            Fix wrapping methods with default arguments and the compactdefaultargs feature 
 845            where a class is passed by value and is assigned a default value. The SwigValueWrapper
 846            template workaround for a missing default constructor is no longer used as the code 
 847            generated does not call the default constructor.
 848
 8492009-06-16: wsfulton
 850	    [Java,C#] Fix enum marshalling when %ignore is used on one of the enum items.
 851            Incorrect enum values were being passed to the C++ layer or compilation errors resulted.
 852
 8532009-06-02: talby
 854	    [Perl] Resolved reference.i overload support problem
 855	    identified by John Potowsky.
 856
 8572009-05-26: wsfulton
 858	    [C#] Improved std::map wrappers based on patch from Yuval Baror. The C# proxy
 859            now implements System.Collections.Generic.IDictionary<>.
 860
 861	    These std:map wrappers have a non-backwards compatible overhaul to make them
 862            like a .NET IDictionary. Some method names have changed as following:
 863              set -> setitem (use this[] property now)
 864              get -> getitem (use this[] property now)
 865              has_key -> ContainsKey
 866              del -> Remove
 867              clear -> Clear
 868
 869            The following macros used for std::map wrappers are deprecated and will no longer work:
 870              specialize_std_map_on_key
 871              specialize_std_map_on_value
 872              specialize_std_map_on_both
 873
 874            *** POTENTIAL INCOMPATIBILITY ***
 875
 8762009-05-20: vmiklos
 877            [PHP] Add the 'thisown' member to classes. The usage of it
 878            is the same as the Python thisown one: it's 1 by default and
 879            you can set it to 0 if you want to prevent freeing it. (For
 880            example to prevent a double free.)
 881
 8822009-05-14: bhy
 883            [Python] Fix the wrong pointer value returned by SwigPyObject_repr().
 884
 8852009-05-13: mutandiz (Mikel Bancroft)
 886	    [allegrocl] Minor tweak when wrapping in -nocwrap mode.
 887
 8882009-05-11: wsfulton
 889	    [C#] Improved std::vector wrappers on the C# proxy side from Yuval Baror. These
 890	    implement IList<> instead of IEnumerable<> where possible.
 891
 8922009-04-29: wsfulton
 893	    [Java, C#] Add the 'notderived' attribute to the javabase and csbase typemaps.
 894	    When this attribute is set, the typemap will not apply to classes that are derived
 895	    from a C++ base class, eg 
 896	      %typemap(csbase, notderived="1") SWIGTYPE "CommonBase"
 897
 8982009-04-29: olly
 899	    [Python] Don't attempt to acquire the GIL in situations where we
 900	    know that it will already be locked.  This avoids some dead-locks
 901	    with mod_python (due to mod_python bugs which are apparently
 902	    unlikely to ever be fixed), and results in smaller wrappers which
 903	    run a little faster (in tests with Xapian on x86-64 Ubuntu 9.04,
 904	    the stripped wrapper library was 11% smaller and ran 2.7% faster).
 905
 9062009-04-21: wsfulton
 907	    [C#] Fix #2753469 - bool &OUTPUT and bool *OUTPUT typemaps initialisation.
 908
 9092009-04-09: wsfulton
 910	    Fix #2746858 - C macro expression using floating point numbers
 911
 9122009-03-30: olly
 913	    [PHP] The default out typemap for char[ANY] now returns the string up to a
 914	    zero byte, or the end of the array if there is no zero byte.  This
 915	    is the same as Python does, and seems more generally useful than
 916	    the previous behaviour of returning the whole contents of the array
 917	    including any zero bytes.  If you want the old behaviour, you can provide
 918	    your own typemap to do this:
 919
 920	    %typemap(out) char [ANY]
 921	    %{
 922		RETVAL_STRINGL($1, $1_dim0, 1);
 923	    %}
 924
 925Version 1.3.39 (21 March 2009)
 926==============================
 927
 9282009-03-19: bhy
 929            [Python] Fix the memory leak related to Python 3 unicode and C char* conversion,
 930            which can be shown in the following example before this fix:
 931            
 932                  from li_cstring import *
 933                  i=0
 934                  while True:
 935                      i += 1
 936                      n = str(i)*10
 937                      test3(n)
 938
 939            This fix affected SWIG_AsCharPtrAndSize() so you cannot call this function with
 940            a null alloc and non-null cptr argument in Python 3, otherwise a runtime error
 941            will be raised.
 942
 9432009-03-18: wsfulton
 944	    [C#] std::vector<T> wrapper improvements for .NET 2 and also providing the
 945	    necessary machinery to use the std::vector<T> wrappers with more advanced features such
 946	    as LINQ - the C# proxy class now derives from IEnumerable<>. The default is now to 
 947	    generate code requiring .NET 2 as a minimum, although the C# code can be compiled 
 948	    for .NET 1 by defining the SWIG_DOTNET_1 C# preprocessor constant. See the 
 949	    std_vector.i file for more details.
 950
 951            *** POTENTIAL INCOMPATIBILITY ***
 952
 9532009-03-12: wsfulton
 954	    [Ruby] Fix #2676738 SWIG generated symbol name clashes.
 955
 9562009-03-01: bhy
 957            [Python] Some fixes for Python 3.0.1 and higher support. In 3.0.1, the C API function
 958            PyObject_Compare is removed, so PyObject_RichCompareBool is used for replacement.
 959            Struct initilization of SwigPyObject and SwigPyObject_as_number changed to reflect
 960            the drop of tp_compare and nb_long.
 961
 9622009-03-01: bhy
 963            [Python] Fix SF#2583160. Now the importer in Python shadow wrapper take care of the
 964            case that module already imported at other place.
 965
 9662009-02-28: bhy
 967            [Python] Fix SF#2637352. Move struct declaration of SWIG_module in pyinit.swg before
 968            the method calls, since some C compiler don't allow declaration in middle of function
 969            body.
 970
 9712009-02-21: wsfulton
 972	    [Allegrocl] Fix seg fault wrapping some constant variable (%constant) types.
 973
 9742009-02-20: wsfulton
 975	    [CFFI] Fix seg faults when for %extend and using statements.
 976
 9772009-02-20: wsfulton
 978	    Fix SF #2605955: -co option which broke in 1.3.37. 
 979
 9802009-02-20: wsfulton
 981	    New %insert("begin") section added. Also can be used as %begin. This is a new
 982	    code section reserved entirely for users and the code within the section is generated
 983	    at the top of the C/C++ wrapper file and so provides a means to put custom code
 984	    into the wrapper file before anything else that SWIG generates.
 985
 9862009-02-17: wsfulton
 987	    'make clean-test-suite' will now run clean on ALL languages. Previously it only
 988	    ran the correctly configured languages. This way it is now possible to clean up
 989	    properly after running 'make partialcheck-test-suite'.
 990
 9912009-02-14: wsfulton
 992	    Extend attribute library support for structs/classes and the accessor functions use
 993	    pass/return by value semantics. Two new macros are available and usage is identical
 994	    to %attribute. These are %attributeval for structs/classes and %attributestring for
 995	    string classes, like std::string. See attribute.swg for more details.
 996
 9972009-02-13: wsfulton
 998	    Add support for %extend and memberin typemaps. Previously the memberin typemaps were
 999	    ignored for member variables within a %extend block.
1000
10012009-02-12: wsfulton
1002	    Remove unnecessary temporary variable when wrapping return values that are references. 
1003	    Example of generated code for wrapping:
1004
1005	      struct XYZ {
1006		std::string& refReturn();
1007	      };
1008
1009	    used to be:
1010
1011              std::string *result = 0 ;
1012              ...
1013              {
1014                std::string &_result_ref = (arg1)->refReturn();
1015                result = (std::string *) &_result_ref;
1016              }
1017
1018	     Now it is:
1019
1020              std::string *result = 0 ;
1021              ...
1022              result = (std::string *) &(arg1)->refReturn();
1023
10242009-02-08: bhy
1025            Change the SIZE mapped by %pybuffer_mutable_binary and %pybuffer_binary in pybuffer.i from
1026            the length of the buffer to the number of items in the buffer.
1027
10282009-02-08: wsfulton
1029            Fix %feature not working for conversion operators, reported by Matt Sprague, for example:
1030	      %feature("cs:methodmodifiers") operator bool "protected";
1031
10322009-02-07: wsfulton
1033            [MzScheme] Apply #2081967 configure changes for examples to build with recent PLT versions.
1034	    Also fixes Makefile errors building SWIG executable when mzscheme package is installed 
1035	    (version 3.72 approx and later).
1036
10372009-02-04: talby
1038            [Perl] Fix SF#2564192 reported by David Kolovratnk.
1039            SWIG_AsCharPtrAndSize() now handles "get" magic.
1040
1041Version 1.3.38 (31 January 2009)
1042================================
1043
10442009-01-31: bhy
1045            [Python] Fix SF#2552488 reported by Gaetan Lehmann. Now %pythonprepend
1046            and %pythonappend have correct indentation.
1047
10482009-01-31: bhy
1049            [Python] Fix SF#2552048 reported by Gaetan Lehmann. The parameter list
1050            of static member function in generated proxy code should not have the
1051            'self' parameter.
1052
10532009-01-29: wsfulton
1054	    Fix regression introduced in 1.3.37 where the default output directory
1055	    for target language specific files (in the absence of -outdir) was no
1056	    longer the same directory as the generated c/c++ file.
1057
10582009-01-28: wsfulton
1059	    [Java, C#] Fix proxy class not being used when the global scope operator
1060	    was used for parameters passed by value. Reported by David Piepgrass.
1061
10622009-01-15: wsfulton
1063	    [Perl] Fix seg fault when running with -v option, reported by John Ky.
1064
1065Version 1.3.37 (13 January 2009)
1066================================
1067
10682009-01-13: mgossage
1069	    [Lua] Added contract support for requiring that unsigned numbers are >=0
1070	    Rewrote much of Examples/Lua/embed3. 
1071	    Added a lot to the Lua documentation.
1072
10732009-01-13: wsfulton
1074	    Fix compilation error when using directors on protected virtual overloaded 
1075	    methods reported by Sam Hendley.
1076
10772009-01-12: drjoe
1078            [R] Fixed handling of integer arrays
1079
10802009-01-10: drjoe
1081	    [R] Fix integer handling in r to deal correctly with signed
1082	    and unsigned issues
1083
10842009-01-10: wsfulton
1085	    Patch  #1992756 from Colin McDonald - %contract not working for classes 
1086	    in namespace
1087
10882009-01-05: olly
1089	    Mark SWIGPERL5, SWIGPHP5, and SWIGTCL8 as deprecated in the source
1090	    code and remove documentation of them.
1091
10922008-12-30: wsfulton
1093	    Bug #2430756. All the languages now define a macro in the generated C/C++
1094	    wrapper file indicating which language is being wrapped. The macro name is the
1095	    same as those defined when SWIG is run, eg SWIGJAVA, SWIGOCTAVE, SWIGCSHARP etc
1096	    and are listed in the "Conditional Compilation" section in the documentation.
1097
10982008-12-23: wsfulton
1099	    [Java] Fix #2153773 - %nojavaexception was clearing the exception feature
1100            instead of disabling it. Clearing checked Java exceptions also didn't work. 
1101	    The new %clearjavaexception can be used for clearing the exception feature.
1102
11032008-12-22: wsfulton
1104	    Fix #2432801 - Make SwigValueWrapper exception safe for when copy constructors
1105	    throw exceptions.
1106
11072008-12-21: wsfulton
1108	    Apply patch #2440046 which fixes possible seg faults for member and global
1109	    variable char arrays when the strings are larger than the string array size.
1110
11112008-12-20: wsfulton
1112	    The ccache compiler cache has been adapted to work with SWIG and
1113	    named ccache-swig. It now works with C/C++ compilers as well as SWIG
1114	    and can result in impressive speedups when used to recompile unchanged
1115	    code with either a C/C++ compiler or SWIG. Documentation is in CCache.html
1116	    or the installed ccache-swig man page.
1117
11182008-12-12: wsfulton
1119	    Apply patch from Kalyanov Dmitry which fixes parsing of nested structs
1120	    containing comments.
1121
11222008-12-12: wsfulton
1123	    Fix error message in some nested struct and %inline parsing error situations
1124	    such as unterminated strings and comments.
1125
11262008-12-07: olly
1127	    [PHP] Fix warnings when compiling generated wrapper with GCC 4.3.
1128
11292008-12-06: wsfulton
1130	    [PHP] Deprecate %pragma(php4). Please use %pragma(php) instead.
1131	    The following two warnings have been renamed:
1132	    WARN_PHP4_MULTIPLE_INHERITANCE -> WARN_PHP_MULTIPLE_INHERITANCE
1133	    WARN_PHP4_UNKNOWN_PRAGMA       -> WARN_PHP_UNKNOWN_PRAGMA
1134
1135            *** POTENTIAL INCOMPATIBILITY ***
1136
11372008-12-04: bhy
1138            [Python] Applied patch SF#2158938: all the SWIG symbol names started with Py
1139            are changed, since they are inappropriate and discouraged in Python
1140            documentation (from http://www.python.org/doc/2.5.2/api/includes.html):
1141
1142            "All user visible names defined by Python.h (except those defined by
1143            the included standard headers) have one of the prefixes "Py" or "_Py".
1144            Names beginning with "_Py" are for internal use by the Python implementation
1145            and should not be used by extension writers. Structure member names do
1146            not have a reserved prefix.
1147
1148            Important: user code should never define names that begin with "Py" or "_Py".
1149            This confuses the reader, and jeopardizes the portability of the user
1150            code to future Python versions, which may define additional names beginning
1151            with one of these prefixes."
1152
1153            Here is a brief list of what changed:
1154
1155                PySwig* -> SwigPy*
1156                PyObject_ptr -> SwigPtr_PyObject
1157                PyObject_var -> SwigVar_PyObject
1158                PySequence_Base, PySequence_Cont, PySequence_Ref ->
1159                        SwigPySequence_Base, SwigPySequence_Cont, SwigPySequence_Ref
1160                PyMap* -> SwigPyMap*
1161
1162            We provided a pyname_compat.i for backward compatibility. Users whose code having
1163            these symbols and do not want to change it could simply include this file
1164            at front of your code. A better solution is to run the converting tool on
1165            your code, which has been put in SWIG's SVN trunk (Tools/pyname_patch.py) and
1166            you can download it here:
1167            https://swig.svn.sourceforge.net/svnroot/swig/trunk/Tools/pyname_patch.py 
1168
1169            *** POTENTIAL INCOMPATIBILITY ***
1170
11712008-12-02: wsfulton
1172	    [Python] Apply patch #2143727 from Serge Monkewitz to fix importing base classes 
1173	    when the package option is specified in %module and that module is %import'ed.
1174
11752008-11-28: wsfulton
1176	    [UTL] Fix #2080497. Some incorrect acceptance of types in the STL, eg a double * element
1177	    passed into a vector<int *> constructor would be accepted, but the ensuing behaviour
1178	    was undefined. Now the type conversion correctly raises an exception.
1179
11802008-11-24: wsfulton
1181	    Add -outcurrentdir option. This sets the default output directory to the current 
1182	    directory instead of the path specified by the input file. This option enables
1183	    behaviour similar to c/c++ compilers. Note that this controls the output directory,
1184	    but only in the absence of the -o and/or -outdir options.
1185
11862008-11-23: wsfulton
1187	    [ruby] Apply patch #2263850 to fix ruby/file.i ... rubyio.h filename change in 
1188	    ruby 1.9.
1189
11902008-11-23: wsfulton
1191	    Apply patch #2319790 from Johan Hake to fix shared_ptr usage in std::tr1 namespace.
1192
11932008-11-21: wsfulton
1194	    The use of the include path to find the input file

Large files files are truncated, but you can click here to view the full file