From: William S F. <ws...@fu...> - 2010-05-03 23:00:55
|
Torsten Landschoff wrote: > Hi all, > > I am still trying to build wxPython with current SWIG. The next wall > I ran into is an approach used by wxPython to temporarily mask typemaps. > It's illustrated in the attached test case. Basically, there are some > typemaps defined in includes like > > %typemap(in) SomeType* { > ... > } > > which are later disabled by using > > %typemap(in) SomeType*; > > in the hope that this disables the specific type map installed before and > falls back to the more general handling available before. > > With current SWIG, this generates invalid wrapper (C++) code. > It seems that the closest you can get with current SWIG is by using > > %typemap(in) SomeType* = SWIGTYPE*; > > This is not as modular however, since there may be some more specific > typemap above SWIGTYPE* which would become visible again with the first > approach but not with the second. > > Using the attached testcase, I bisected the problem and found that this > behaviour was first disabled in revision 11838 on SWIGs trunk. This was > intended to be a refactoring but it seems like it inadvertently changed > SWIGs behaviour. > > Would it be possible to reinstate the original behaviour? This is rather a bad regression. Thanks for reporting, I've fixed it up now in svn. William |