PageRenderTime 47ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/tags/rel-1-3-25/SWIG/CHANGES.current

#
Unknown | 595 lines | 450 code | 145 blank | 0 comment | 0 complexity | 2263865ce65a81e5eba208c5883bc0ab MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. Version 1.3.25 (June 11, 2005)
  2. ==============================
  3. 06/11/2006: mkoeppe
  4. [Guile] Fix handling of anonymous-enum variables.
  5. 06/10/2005: mkoeppe
  6. [Guile] Fix for function arguments that are passed by
  7. copy-of-value. Fix for global "const char *" variables.
  8. Fix testcases arrays_dimensionless, arrays_global.
  9. 06/08/2005: wsfulton
  10. Fix for when a base class defines a symbol as a member variable and a derived class defines
  11. the same symbol as a member method.
  12. 06/08/2005: wsfulton
  13. [C#] More fixes for virtual/new/override modifiers - when a method has protected access
  14. in base and public access in derived class.
  15. 06/02/2005: wsfulton
  16. Fix #1066363 - Follow convention of release tarball name matching directory name.
  17. 06/02/2005: wsfulton
  18. [C#, Java] Fix #1211353 - typesafe enums (and Java proper enums) wrappers when enum value
  19. is negative.
  20. 05/27/2005: wsfulton
  21. Modernised and tidied up Windows macros --> SWIGEXPORT, SWIGSTDCALL. They can be overridden
  22. by users via -D compiler directives if need be.
  23. 05/26/2005: wsfulton
  24. %csmethodmodifiers can be applied to variables as well as methods now.
  25. In addition to the default 'public' modifier that SWIG generates, %csmethodmodifiers will also
  26. replace the virtual/new/override modifiers that SWIG thinks is appropriate. This feature is
  27. useful for some obscure cases where SWIG might get the modifiers incorrect, for example
  28. with multiple inheritance and overriding a method in the base class.
  29. *** POTENTIAL INCOMPATIBILITY FOR C# MODULE ***
  30. 05/25/2005: wsfulton
  31. Added missing constructors to std::pair wrappers (std_pair.i) for all languages.
  32. 05/25/2005: wsfulton
  33. [C#] Added std::pair wrappers in std_pair.i
  34. 05/25/2005: wsfulton
  35. [C#] The C# 'new' and 'override' modifiers will be generated when a C++ class inherits methods
  36. via a C++ 'using' declaration.
  37. 05/25/2005: wsfulton
  38. Fix for exception specifications previously being ignored in classes that inherited methods
  39. from 'using' declarations, eg calls to Derived::bar below will convert C++ exceptions into
  40. a target language exception/error, like it always has done for Base::Bar.
  41. class Base {
  42. virtual bar() throw (std::string);
  43. };
  44. class Derived : public Base {
  45. using Base::bar;
  46. };
  47. 05/23/2005: wsfulton
  48. Fixes for detecting virtual methods in %extend for the -fvirtual option and C# override and new
  49. method modifiers.
  50. 05/23/2005: wsfulton
  51. [C#] The 'new' modifier is now generated on the proxy method when a method in a derived
  52. class is not polymorphic and the same method exists in the derived class (ie it hides
  53. the base class' non-virtual method).
  54. 05/23/2005: wsfulton
  55. [Java, C#] Fixes to detection of covariant return types - when the class hierarchy is more
  56. than 2 classes deep.
  57. 05/21/2005: wsfulton
  58. [Java] std::wstring typemaps moved from std_string.i to std_wstring.i
  59. 05/21/2005: wsfulton
  60. Fix for crash in DohStrstr, bug #1190921
  61. 05/21/2005: wsfulton
  62. [TCL] Fix for methods with similar names when showing list of names on error - bug #1191828.
  63. Patch from Jeroen Dobbelaere.
  64. 05/21/2005: wsfulton
  65. [TCL] long long overloading fix - bug #1191835, patch from Jeroen Dobbelaere.
  66. 05/21/2005: wsfulton
  67. Fix bug #1196755 to remove debug from swigtcl8.swg.
  68. 05/19/2005: wsfulton
  69. [C# and -fvirtual option] Fix for the override key not being generated in the derived class when a
  70. virtual method's return type was a typedef in either the base or derived class. Also ensures the
  71. method is eliminated when using the -fvirtual option. For example, Derived.method now has the C#
  72. override keyword generated:
  73. typedef int* IntegerPtr;
  74. struct Base {
  75. virtual IntegerPtr method();
  76. };
  77. struct Derived : Base {
  78. int * method() const;
  79. };
  80. [C#] Fix for the override key being incorrectly generated for virtual methods when a base class
  81. is ignored with %ignore.
  82. 05/13/2005: wsfulton
  83. [Java] Fixes to remove "dereferencing type-punned pointer will break strict-aliasing rules"
  84. warnings in C wrappers when compiling C code with 'gcc -Wall -fstrict-aliasing'. Patch from
  85. Michael Cahill. This modifies many of the casts slightly, for example
  86. arg1 = *(DB_ENV **)&jarg1;
  87. to
  88. arg1 = *(DB_ENV **)(void *)&jarg1;
  89. 05/12/2005: wsfulton
  90. [C#] Support for C# attributes. C# attributes can be generated:
  91. 1) On a C/C++ type basis by specifying an inattributes and/or outattributes typemap attribute
  92. in the imtype or cstype typemaps (for C# return type or C# parameter type attributes).
  93. 2) On a wrapped method or variable by specifying a csattributes feature (%feature).
  94. 3) On a wrapped proxy class or enum by specifying a csattributes typemap.
  95. Examples are in the C# documentation (CSharp.html).
  96. 04/29/2005: wsfulton
  97. New configure option to turn off the default maximum compiler warning as
  98. they couldn't be removed even when overriding CFLAGS and CXXFLAGS with configure
  99. (./configure CFLAGS= CXXFLAGS=). To turn the maximum warnings off, run:
  100. ./configure --without-maximum-compile-warnings
  101. 04/28/2005: wsfulton
  102. Patch from Scott Michel which reworks the Java constructor and finalize/destructor typemaps,
  103. for directors to reduce the number of overall Java typemaps. Added the director_take and
  104. director_release typemaps to emulate other modules' __disown__ functionality.
  105. *** POTENTIAL INCOMPATIBILITY FOR JAVA DIRECTORS ***
  106. 04/28/2005: wsfulton
  107. [C#] Fixed problems due to the over eager garbage collector. Occasionally the
  108. garbage collector would collect a C# proxy class instance while it was being used
  109. in unmanaged code if the object was passed as a parameter to a wrapped function.
  110. Needless to say this caused havoc as the C# proxy class calls the C++ destructor
  111. when it is collected. Proxy classes and type wrapper classes now use a HandleRef,
  112. which holds an IntPtr, instead of a plain IntPtr to marshal the C++ pointer to unmanaged
  113. code. There doesn't appear to be any performance degradation as a result of this
  114. modification.
  115. The changes are in the proxy and type wrapper classes. The swigCPtr is now of type HandleRef
  116. instead of IntPtr and consequently the getCPtr method return type has also changed. The net
  117. effect is that any custom written typemaps might have to be modified to suite. Affected users
  118. should note that the implementation uses the new 'out' attribute in the imtype typemap as the
  119. input type is now a HandleRef and the output type is still an IntPtr.
  120. *** POTENTIAL INCOMPATIBILITY FOR C# MODULE ***
  121. 04/28/2005: wsfulton
  122. [C#] Support for asymmetric type marshalling added. Sometimes the output type needs to be
  123. different to the input type. Support for this comes in the form of a new optional 'out'
  124. attribute for the ctype, imtype and cstype typemaps. If this typemap attribute is not
  125. specified, then the type used for both input and output is the type specified in the
  126. typemap, as has always previously been the case. If this typemap attribute is specified,
  127. then the type specified in the attribute is used for output types and the type specified
  128. in the typemap itself is used for the input type. An output type is a return value from
  129. a wrapped method or wrapped constant and an input type is a parameter in a wrapped method.
  130. An example shows that char * could be marshalled in different ways,
  131. %typemap(imtype, out="IntPtr") char * "string"
  132. char * function(char *);
  133. The output type is thus IntPtr and the input type is string. The resulting intermediary C# code is:
  134. public static extern IntPtr function(string jarg1);
  135. 04/22/2005: mkoeppe (Matthias Koeppe)
  136. [Guile] Fix generation of "define-method" for methods of
  137. classes with a constructor. Reported by Luigi Ballabio.
  138. 04/15/2005: wuzzeb (John Lenz)
  139. [Chicken]
  140. For wrapped functions that return multiple values (using argout),
  141. SWIG CHICKEN now returns them as multiple values instead of as
  142. a list. They can then be accessed using (call-with-values).
  143. 04/14/2005: wuzzeb (John Lenz)
  144. [Chicken]
  145. + Added a whole bunch of new _runme scripts into the chicken test
  146. suite. Also fix some bugs these new scripts turned up.
  147. + Added optimization when returning a wrapped proxy class. Before,
  148. a minor garbage collection was invoked every time a function returned.
  149. + All the chicken Examples should now run correctly
  150. 04/14/2005: wsfulton
  151. [C#] More fixes for typemap matching when wrapping variables, in particular
  152. std::string, so that std::string variables can be easily marshalled with
  153. a C# string property using:
  154. %include "std_string.i"
  155. %apply const std::string & { std::string *variable_name };
  156. std::string variable_name;
  157. (Recall that all class variables are wrapped using pointers)
  158. 04/05/2005: wuzzeb (John Lenz)
  159. [Chicken]
  160. + Added Examples/chicken/egg, an example on how to build a chicken
  161. extension library in the form of an egg. Also updated the
  162. documentation on the different linking options.
  163. + chicken test-suite now has support to check SWIG with the -proxy
  164. argument if there exists a _proxy_runme.ss file.
  165. + More fixes for overloaded functions and -proxy
  166. 03/31/2005: wsfulton
  167. Turned on extra template features for all languages which were
  168. previously only available to Python.
  169. This enables typemaps defined within a templated class to be used as
  170. expected. Requires %template on the templated class, %template() will
  171. also pick up the typemaps. Example:
  172. template <typename T> struct Foo {
  173. ...
  174. %typemap(in) Foo "in typemap for Foo<T> "
  175. or
  176. %typemap(in) Foo<T> "in typemap for Foo<T> "
  177. };
  178. %template(Foo_i) Foo<int>;
  179. %template() Foo<double>;
  180. will generate the proper 'in' typemaps wherever Foo<int> and Foo<double>
  181. are used.
  182. 03/30/2005: mkoeppe (Matthias Koeppe)
  183. [MzScheme] Patch from Hans Oesterholt for supporting MzScheme 30x.
  184. 03/29/2005: wuzzeb (John Lenz)
  185. [Chicken]
  186. + Reallow older versions of chicken (1.40 to 1.89) by passing -nocollection
  187. argument to SWIG
  188. + %import now works correctly with tinyclos. (declare (uses ...)) will be
  189. exported correctly.
  190. + TinyCLOS proxy classes now work correctly with overloaded functions
  191. and constructors.
  192. 03/29/2005: wsfulton
  193. [Java] Patch from Scott Michel for directorout typemaps. Java directors
  194. require the directorout typemaps like the other languages now. The new
  195. typemaps provide fixes for methods where the return type is returned
  196. by reference (this cannot automatically be made thread safe though).
  197. 03/22/2005: wsfulton
  198. Enum casting fixes. Visual C++ didn't like the C type casting SWIG produced
  199. when wrapping C++ enum references, as reported by Admire Kandawasvika.
  200. 03/21/2005: wsfulton
  201. [Perl] SF #1124490. Fix Perl macro clashes when using Visual Studio's STL string,
  202. so now projects can #include <string>.
  203. 03/21/2005: wsfulton
  204. Fixed %varargs which got broken with the recent default argument changes.
  205. Also works for Java and C# for the first time now.
  206. 03/17/2005: wuzzeb (John Lenz)
  207. [Chicken]
  208. + Fix a whole bunch of bugs in the chicken module. The entire
  209. test suite now compiles, with the exception of the tests that require
  210. std_vector.i, std_deque.i, and so on, which chicken does not have yet.
  211. + Add support for %exception and %typemap(exceptions). Exceptions are
  212. thrown with a call to (abort) and can be handled by (handle-exceptions)
  213. 03/15/2005: wsfulton
  214. [Java] Patch from Scott Michel for directors. Modifications to the typemaps
  215. giving users fine control over memory ownership and lifetime of director classes.
  216. Director classes no longer live forever by default as they are now collectable
  217. by the GC.
  218. 03/15/2005: wuzzeb (John Lenz)
  219. [Chicken] Add support for adding finalizers garbage collected objects.
  220. Functions that return new objects should be marked with %newobject and
  221. input arguments which consume (or take ownership) of a pointer should
  222. be marked with the DISOWN typemap.
  223. Also add support for correctly checking the number of arguments passed
  224. to a function, and raising an error if the wrong number are passed.
  225. 03/14/2005: wuzzeb (John Lenz)
  226. Add --without-alllang option to configure.in, which is the same as
  227. passing all the --without-python --without-perl5 etc... that Matthias added.
  228. 03/09/2005: wsfulton
  229. [Php] Memory leak fix for functions returning classes/structs by value.
  230. 03/08/2005: wsfulton
  231. [Perl] Fix for Perl incorrectly taking memory ownership for return types that
  232. are typedefs to a struct/class pointer. Reported by Josh Cherry.
  233. 03/07/2005: wsfulton
  234. [C#] Various exception changes for the std::vector wrappers. These now more
  235. accurately mirror the same exceptions that System.Collections.ArrayList throw.
  236. 03/07/2005: wsfulton
  237. [C#] Fix undefined behaviour after any of the std::vector methods
  238. throw an exception.
  239. 03/07/2005: wsfulton
  240. [C#] When null is passed for a C++ reference or value parameter, the
  241. exception thrown has been corrected to an ArgumentNullException instead
  242. of NullReferenceException as recommended in the .NET Framework documentation.
  243. The default throws typemaps turn a C++ exception into an ApplicationException,
  244. not a SystemException now.
  245. 03/07/2005: wsfulton
  246. [C#] Numerous changes in C# exception handling have been made over the past
  247. few weeks. A summary follows:
  248. The way in which C++ exceptions are mapped to C# exceptions is quite different.
  249. The change is to fix C# exceptions so that the C++ exception stack is correctly
  250. unwound as previously C++ exceptions were being thrown across the C PInvoke layer
  251. into the managed world.
  252. New typemap attributes (canthrow and excode) have been introduced to control the
  253. mapping of C++ to C# exceptions. Essentially a callback into the unmanaged world
  254. is made to set a pending exception. The exception to throw is stored in thread local
  255. storage (so the approach is thread-safe). The typemaps are expected to return
  256. from unmanaged code as soon as the pending exception is set. Any pending exceptions
  257. are checked for and thrown once managed code starts executing. There should
  258. be minimal impact on execution speed during normal behaviour. Full details will be
  259. documented in CSharp.html.
  260. The SWIG_CSharpThrowException() function has been removed and replaced with the
  261. SWIG_CSharpSetPendingExceptionArgument() and SWIG_CSharpSetPendingException()
  262. functions. The original name has been deliberately changed to break old code as
  263. the old approach was somewhat flawed. Any user defined exceptions that follow the
  264. same pattern as the old approach should also be fixed.
  265. Numerous new .NET framework exceptions are now available for easy throwing from
  266. unmanaged code. The complete list is:
  267. ApplicationException, ArithmeticException, DivideByZeroException,
  268. IndexOutOfRangeException, InvalidOperationException, IOException,
  269. NullReferenceException, OutOfMemoryException, OverflowException,
  270. SystemException, ArgumentException, ArgumentNullException and
  271. ArgumentOutOfRangeException.
  272. *** POTENTIAL INCOMPATIBILITY FOR C# MODULE ***
  273. 05/05/2005: mmatus
  274. Fix several memory leaks around. Even when we survive knowning
  275. swig is a memory leak factory, it was a little out of
  276. control. To run std_containers.i in the python test-suite,
  277. swig was using ~260MB, now it uses 'only' ~40MB, which is
  278. the same ammount that g++ uses, so, is not that bad.
  279. In the process, I found a couple of extra Deletes, which
  280. in some cases could trigger seg. faults and/or
  281. DOH/asserts.
  282. [python] Better support for directors + exception. More
  283. verbose errors and added an unexpected exception handler.
  284. [python] Fix memory leak for the
  285. std::vector<std::vector<int> >
  286. case,reported by Bo Peng.
  287. [python] Fix SwigPyObject compare problem reporte by
  288. Cameron Patrick.
  289. [python] Fix several warnings in the generated code
  290. for gnu-gcc, Intel and VC7.1 compilers.
  291. 02/25/2005: wuzzeb (John Lenz)
  292. Update documentation to use CSS and <div> instead of <blockquote>
  293. I used a script to convert the docs, and it set all the box classes
  294. to be "code". There are actually 4 different classes,
  295. "shell", "code", "targetlang", and "diagram". We need to go through
  296. and convert the divs depending on what they contain.
  297. 02/23/2005: mmatus
  298. [Python] Added option -nortti to disable the use of native
  299. C++ RTTI with directors (dynamic_cast<> is not used).
  300. Add more code for directors to detect and report errors in
  301. the python side.
  302. Extend the use of SWIGINTERN whenever is possible.
  303. Remove template warnings reported by VC7.1.
  304. Remove warnings reported by gcc/g++. Finally you can
  305. compile using
  306. g++ -W -Wall -c mymodule_wrap.cxx
  307. and no spurious errors will be generated in the wrapper
  308. code.
  309. 02/23/2005: wuzzeb (John Lenz)
  310. Added -external-runtime argument. This argument is used to dump
  311. out all the code needed for external access to the runtime system,
  312. and it replaces including the files directly. This change adds
  313. two new virtual functions to the Language class, which are used
  314. to find the language specific runtime code. I also updated
  315. all languages that use the runtime to implement these two functions.
  316. 02/22/2005: mmatus
  317. Fix %template + private error SF#1099976.
  318. 02/21/2005: mmatus
  319. Fix swigrun.swg warnings reported when using "gcc -W -Wall"
  320. (static/inline not used in front of a function
  321. declaration), and add SWIGUNUSED attribute to avoid
  322. unused warnings elsewhere.
  323. Fix unused variable warnings.
  324. [Python] Use new SWIGUNUSED attribute to avoid warnings in
  325. SWIGINTERN methods.
  326. [Python] Fix PyOS_snprintf for python versions < 2.2 (SF #1104919).
  327. [Python] Fix map/multimap to allow empty maps (reported by
  328. Philippe Hetroy).
  329. [Docs] Add some documentation to Python.html and
  330. SWIGPlus.html, including for example the fact that
  331. 'friends' are now supported.
  332. 02/21/2005: wsfulton
  333. [PHP] Patch from Olly Betts, so that wrappers compile with Zend thread safety enabled.
  334. 02/17/2005: wsfulton
  335. Memory leak fix in some of the scripting language modules when using default
  336. arguments in constructors. The scripting language was not taking ownership of the
  337. C++ object memory when any of the constructors that use default arguments was called.
  338. 02/16/2005: wsfulton
  339. SF #1115055: Failed make install. Patch from Rob Stone.
  340. 02/16/2005: wsfulton
  341. [Java] SF #1123416 from Paul Moore. Correct memory allocation for STRINGARRAY
  342. typemaps in various.i.
  343. 02/15/2005: wsfulton
  344. Disabled typemap search changes for now (see entry 19/12/2004). It breaks
  345. old typemaps, lengthens the execution time by about 25% and introduces
  346. inconsistencies.
  347. 02/15/2005: wsfulton
  348. swig -help follows other software by printing to stdout instead of stderr now.
  349. swig -version also displays to stdout instead of stderr now.
  350. Behaviour reported by Torsten Landschoff.
  351. 02/15/2005: wsfulton
  352. [Ruby] Fix for the less commonly used ordering of %include and #include, so
  353. that the generated code compiles. Bug reported by reported by Max Bowsher.
  354. %include foo.h
  355. %{
  356. #include foo.h
  357. %}
  358. 02/15/2005: wsfulton
  359. [C#, Java] SWIG_exception macro will now return from unmanaged code / native code
  360. as soon as it is called. Fixes possible JVM crashes and other code unexpectedly
  361. being executed. Note SWIG_exception is only occasionally used by SWIG library
  362. writers, and is best avoided by SWIG users.
  363. 02/15/2005: wsfulton
  364. [C#, Java] Typemaps can now be targeted at global variable names
  365. and static member variable names. Previously the typemaps for
  366. the setters were ignored, for example:
  367. %typemap(in) int globalint "..."
  368. int globalint;
  369. 02/13/2005: mkoeppe (Matthias Koeppe)
  370. [Guile] Add %typecheck for SWIGTYPE, add %typecheck for ptrdiff_t, fix
  371. typemaps for size_t.
  372. [Pike] Merge patch from Torsten Landschoff for improved Pike configuration.
  373. 02/12/2005: mkoeppe (Matthias Koeppe)
  374. New configure switches --without-tcl, --without-python etc. allow to
  375. disable the search for installed languages.
  376. 01/31/2005: wuzzeb (John Lenz)
  377. - Add DohSortList to DOH
  378. - Improve the runtime type system:
  379. + Speed. Type loading is now O(n log n) instead of O(N^2), which
  380. for large modules is a huge improvement.
  381. + A whole bunch of functions in swigrun.swg no longer need the
  382. swig_type_list_handle passed to them. The only one left is
  383. TypeQuery. This also makes runtime.swg a lot smaller.
  384. + Split up swig_type_info structure into two structures
  385. (swig_type_info and swig_cast_info)
  386. + Store a pointer to a swig_type_info rather than just the type
  387. name string in the linked list of casts. First off, this makes
  388. the guile module a little faster, and second, the
  389. SWIG_TypeClientData() function is faster too.
  390. + Add the idea of a module into the type system. Before, all the
  391. types were stored in one huge linked list. Now, another level is
  392. added, and the type system stores a linked list of modules, each
  393. of which stores an array of types associated with it.
  394. + For more information of how the runtime type system now works,
  395. please see Doc/Manual/typemaps.html and Doc/Devel/runtime.txt
  396. - Update all language modules to use the new type system. The changes
  397. to each language module are minor. All languages are now able to
  398. use runtime.swg for external access to the type system. Before
  399. only python and perl did.
  400. - [guile, mzscheme, ocaml, and php4] These languages opened up the
  401. init function inside the .cxx code, and any code in the .swg files
  402. in the init section was inside this function. This was a problem
  403. for swiginit.swg, which needs to be inserted before the SWIG_init
  404. function is opened. Thus I changed these languages to be like
  405. python or perl, where the init function is declared in the .swg
  406. file.
  407. - [Ruby] Instead of moving the init function to the .swg file, I
  408. added a new section initbeforefunc, and then added
  409. %insert(initbeforefunc) "swiginit.swg"
  410. - [MzScheme] Fix enums and fix Examples/Makefile.in so that if
  411. multiple -I arguments are specified in the INCLUDES variable, each
  412. gets a ++ccf.
  413. - [Guile GH] Update Guile GH to use the new type system. See
  414. Doc/Manual/Guile.html for how smobs are now used.
  415. 01/11/2005: wsfulton
  416. [C#] New typemap called 'csconstruct'. The code in this typemaps was previously hard
  417. coded and could not be customised by a user. This typemap contains the code that is
  418. generated into a proxy class's constructor.
  419. [Java] New typemap called 'javaconstruct'. The code in this typemaps was previously hard
  420. coded and could not be customised by a user. This typemap contains the code that is
  421. generated into a proxy class's constructor. Another typemap named 'javaconstruct_director'
  422. is used instead when the proxy class is a director class.
  423. [C#, Java] If a C++ class did not have a default constructor, a protected default constructor
  424. was automatically generated by SWIG. This seems is unnecessary and has been removed
  425. and thereby giving the user almost complete control over the generated code along with the
  426. new typemaps above.
  427. 19/12/2004: mmatus
  428. [Disabled, see entry 02/15/2004]
  429. - Fix typemap search, now the "out" typemap search is done as follows
  430. int *Foo::foo(int bar) -> int *Foo::foo(int bar)
  431. -> int *Foo::foo
  432. -> int *foo(int bar)
  433. -> int *foo
  434. -> int *
  435. then, now you can be more specific, and define
  436. /* apply only for 'Foo::foo' method */
  437. %typemap(out) int * Foo::foo(int *bar) ...;
  438. /* apply for all 'foo' functions/methods */
  439. %typemap(out) int * foo(int *bar) ...;
  440. %inline {
  441. struct Foo {
  442. int *foo(int *bar);
  443. };
  444. }
  445. 15/12/2004: mmatus
  446. - More fixes for templates and template default args.
  447. See template_default.i for scary cases that now are
  448. supported, besides the already ugly STL/std cases.
  449. - Cosmetics and more use of 'const' where it was implicit.
  450. - Other fixes for OSS, which is now working again with 1.3.25.