~ubuntu-branches/ubuntu/oneiric/swig1.3/oneiric

« back to all changes in this revision

Viewing changes to CHANGES

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2007-12-06 10:27:08 UTC
  • mfrom: (1.2.6 upstream)
  • Revision ID: james.westby@ubuntu.com-20071206102708-t37t62i45n595w0e
Tags: 1.3.33-2ubuntu1
* Merge with Debian; remaining changes:
  - Drop support for pike.
  - Use python2.5 instead of python2.4.
  - Clean Runtime/ as well.
  - Force a few environment variables.
* debian/Rules (clean): Remove Lib/ocaml/swigp4.ml.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 
3
3
See CHANGES.current for current version.
4
4
 
 
5
Version 1.3.32 (November 15, 2007)
 
6
==================================
 
7
 
 
8
11/14/2007: wsfulton
 
9
            [R] Package name and dll name is now the same as the SWIG module
 
10
            name. It used to be the module name with _wrap as a suffix. The package
 
11
            and dll names can be modified using the -package and -dll commandline
 
12
            options.
 
13
 
 
14
            *** POTENTIAL INCOMPATIBILITY ***
 
15
 
 
16
11/11/2007: wsfulton
 
17
            [R] Add support for Windows (Visual C++ 8 tested)
 
18
 
 
19
11/10/2007: olly
 
20
            [php] Fix makefile generated by -make (SF#1633679).  Update
 
21
            documentation to mark "-make" as deprecated (none of the other
 
22
            SWIG backends seem to offer such a feature, it can't realistically
 
23
            generate a fully portable makefile, and the commands to build an
 
24
            extension are easy enough to write for the user's preferred build
 
25
            tool).  Also recommend against the use of "-phpfull" (it's only
 
26
            really useful when static linking, and a dynamically loadable
 
27
            module is virtually always the better approach).
 
28
 
 
29
11/09/2007: olly
 
30
            Fix --help output to note that `export SWIG_FEATURES' is required.
 
31
 
 
32
10/29/2007: wsfulton
 
33
            [R] Fix seg fault on Windows
 
34
            [R] Examples R scripts are now platform independent
 
35
 
 
36
10/30/2007: mgossage
 
37
            [lua] fixed bug in template classes which cases template_default2
 
38
            and template_specialization_defarg to fail.
 
39
            Added several warning filters into the overload's test cases.
 
40
            Added runtime tests for several codes.
 
41
            You can now make check-lua-test-suite with no errors and only a few warnings.
 
42
 
 
43
10/30/2007: olly
 
44
            [guile] Fix the configure test to put GUILELINK in LIBS not LDFLAGS
 
45
            (SF#1822430).
 
46
 
 
47
10/30/2007: olly
 
48
            [guile] Fix the guile examples on 64-bit platforms.
 
49
 
 
50
10/29/2007: wsfulton
 
51
            [C#] Fix member pointers on 64 bit platforms.
 
52
 
 
53
10/28/2007: olly
 
54
            [lua] Fix swig_lua_class instances to be static to allow multiple
 
55
            SWIG wrappers to be compiled into the same executable statically.
 
56
            Patch from Andreas Fredriksson (posted to the swig mailing list).
 
57
 
 
58
10/28/2007: olly
 
59
            [lua] Fix Examples/lua to pass SRCS for C tests rather than CXXSRCS.
 
60
            The code as it was happened to work on x86, but broke on x86_64 (and
 
61
            probably any other platforms which require -fPIC).
 
62
 
 
63
10/28/2007: wsfulton
 
64
            [Java, C#] New approach for fixing uninitialised variable usage on error in director
 
65
            methods using the new templated initialisation function SwigValueInit().
 
66
 
 
67
10/28/2007: wsfulton
 
68
            [Perl] Use more efficient SvPV_nolen(x) instead of SvPV(x,PL_na) if SvPV_nolen is
 
69
            supported.
 
70
 
 
71
10/26/2007: wuzzeb
 
72
            [Chicken] Fix global variables of class member function pointers.
 
73
            Other minor fixes, so all tests in the chicken test suite now pass
 
74
 
 
75
10/25/2007: olly
 
76
            Fix UTL typecheck macro for a function taking char[] or const
 
77
            char[] (SF#1820132).
 
78
 
 
79
10/22/2007: mkoeppe
 
80
            [Guile] Filter out -ansi -pedantic from CFLAGS while compiling test programs for Guile
 
81
            in configure.  This enables running the test suite for Guile if it is installed and
 
82
            usable.
 
83
 
 
84
10/22/2007: mkoeppe
 
85
            [Guile -scm] Fix testcases apply_signed_char and apply_strings
 
86
            by adding explicit casts to the appropriate $ltype.
 
87
 
 
88
10/22/2007: wsfulton
 
89
            [Java, C#] Fix uninitialised variable usage on error in director methods.
 
90
 
 
91
10/19/2007: wsfulton
 
92
            [Java, C#] Bug #1794247 - fix generated code for derived classes when csbase or javabase
 
93
            typemaps are used with the replace="1" attribute.
 
94
 
 
95
10/19/2007: wsfulton
 
96
            [Python] Docs updated to suggest using distutils. Patch #1796681 from Christopher Barker.
 
97
 
 
98
10/19/2007: olly
 
99
            [perl5] Clear errno before calls to strtol(), strtoul(), strtoll()
 
100
            and strtoull() which we check errno after to avoid seeing a junk
 
101
            value of errno if there isn't an error in the call.
 
102
 
 
103
10/16/2007: wsfulton
 
104
            Deprecate %attribute_ref and replace with %attributeref. There is just an argument
 
105
            order change in order to maintain consistency with %attribute, from:
 
106
 
 
107
              %attribute_ref(Class, AttributeType, AccessorMethod, AttributeName)
 
108
            to
 
109
              %attributeref(Class, AttributeType, AttributeName, AccessorMethod)
 
110
 
 
111
10/16/2007: olly
 
112
            [Tcl] Fix several ocurrences of "warning: deprecated conversion
 
113
            from string constant to 'char*'" from GCC 4.2 in generated C/C++
 
114
            code.
 
115
 
 
116
10/16/2007: olly
 
117
            [PHP] Fix many occurrences of "warning: deprecated conversion from
 
118
            string constant to 'char*'" from GCC 4.2 in generated C/C++ code
 
119
            when compiling with a new enough version of PHP 5 (tested with
 
120
            PHP 5.2.3, but PHP 5.2.1 is probably the minimum requirement).
 
121
 
 
122
10/15/2007: wsfulton
 
123
            Patch #1797133 from David Piepgrass fixes %attribute when the getter has the same name
 
124
            as the attribute name and no longer generate non-functional setter for read-only attributes.
 
125
 
 
126
10/15/2007: olly
 
127
            [Tcl] Prevent SWIG_Tcl_ConvertPtr from calling the unknown proc.
 
128
            Add Examples/tcl/std_vector/ which this change fixes.  Patch
 
129
            is from "Cliff C" in SF#1809819.
 
130
 
 
131
10/12/2007: wsfulton
 
132
            [Java] Add DetachCurrentThread back in for directors. See entry dated 08/11/2006 and
 
133
            search for DetachCurrentThread on the mailing lists for details. The crashes on Solaris
 
134
            seem to be only present in jdk-1.4.2 and lower (jdk-1.5.0 and jdk-1.6.0 are okay), so
 
135
            anyone using directors should use a recent jdk on Solaris, or define (see director.swg)
 
136
            SWIG_JAVA_NO_DETACH_CURRENT_THREAD to the C++ compiler to get old behaviour.
 
137
 
 
138
10/12/2007: wsfulton
 
139
            [Java] Ensure the premature garbage collection prevention parameter (pgcpp) is generated
 
140
            when there are C comments in the jtype and jstype typemaps.
 
141
 
 
142
10/12/2007: wuzzeb
 
143
            Added a testsuite entry for Bug #1735931
 
144
 
 
145
10/09/2007: olly
 
146
            Automatically rerun autogen.sh if configure.in is modified.
 
147
 
 
148
10/09/2007: olly
 
149
            Enhance check-%-test-suite rule and friends to give a more helpful
 
150
            error message if you try them for a language which doesn't exist
 
151
            (e.g. "make check-php-test-suite" rather than the correct
 
152
            "make check-php4-test-suite").
 
153
 
 
154
10/09/2007: olly
 
155
            Add make rule to regenerate Makefile from Makefile.in if it has
 
156
            changed.
 
157
 
 
158
10/09/2007: olly
 
159
            [php] Fix long-standing memory leak in wrapped constructors and
 
160
            wrapped functions/methods which return an object.
 
161
 
 
162
10/08/2007: olly
 
163
            Fix Makefile.in to read check.list files correctly in a VPATH
 
164
            build.
 
165
 
 
166
10/07/2007: wsfulton
 
167
            [C#, Java] Experimental shared_ptr typemaps added
 
168
 
 
169
09/27/2007: mgossage
 
170
            [lua] added more verbose error messages for incorrect typechecks.
 
171
            Added a routine which checks the exact number of parameters passed to a function
 
172
            (breaks operator_overloading for unary minus operator, currently disabled).
 
173
            Reorganised the luatypemaps.swg to tidy it up.
 
174
            Added a lot of %ignores on the operators not supported by lua.
 
175
            Added support for constant member function pointers & runtest for member_pointer.i
 
176
            Added first version of wchar.i
 
177
 
 
178
09/25/2007: wsfulton
 
179
            [C#, Java] throws typemaps for std::wstring using C# patch #1799064 from David Piepgrass
 
180
 
 
181
09/24/2007: wsfulton
 
182
            [Tcl] Apply #1771313 to fix bug #1650229 - fixes long long and unsigned long long
 
183
            handling.
 
184
 
 
185
09/20/2007: olly
 
186
            [Java] Eliminate some unnecessary uses of a temporary buffer
 
187
            allocated using new[].  SF#1796609.
 
188
 
 
189
09/19/2007: wsfulton
 
190
            [C#] The $csinput special variable can be used in the csvarin typemap where it is always
 
191
            expanded to 'value'.
 
192
 
 
193
09/19/2007: wsfulton
 
194
            [C#] Fix bug reported by Glenn A Watson and #1795260 where the cstype typemap used the 'ref'
 
195
            keyword in the typemap body, it produced uncompilable C# properties (variable wrappers).
 
196
            The type for the property now correctly comes from the 'out' attribute in the cstype typemap.
 
197
 
 
198
09/19/2007: wsfulton
 
199
            [Java] Fix const std::wstring& typemaps
 
200
 
 
201
09/19/2007: wsfulton
 
202
            [Java] Ensure the premature garbage collection prevention parameter (pgcpp) is generated
 
203
            where a parameter is passed by pointer reference, eg in the std::vector wrappers. The pgcpp
 
204
            is also generated now when user's custom typemaps use a proxy class in the jstype typemap
 
205
            and a 'long' in the jtype typemap.
 
206
 
 
207
09/18/2007: olly
 
208
            [php] Add typemaps for handling parameters of type std::string &
 
209
            which are modified by the wrapped function.
 
210
 
 
211
09/17/2007: olly
 
212
            [python] Split potentially long string literals to avoid hitting
 
213
            MSVC's low fixed limit on string literal length - patch from
 
214
            SF#1723770, also reported as SF#1630855.
 
215
 
 
216
09/17/2007: olly
 
217
            [ocaml] Fix renaming of overloaded methods in the method_table -
 
218
            my patch from SF#940399.
 
219
 
 
220
09/17/2007: olly
 
221
            [python] Simpler code for SWIG_AsVal_bool() which fixes a "strict
 
222
            aliasing" warning from GCC - patch from SF#1724581 by Andrew
 
223
            Baumann.
 
224
 
 
225
09/17/2007: olly
 
226
            [perl5] Use sv_setpvn() to set a scalar from a pointer and length
 
227
            - patch from SF#174460 by "matsubaray".
 
228
 
 
229
09/17/2007: olly
 
230
            When wrapping C++ code, generate code which uses
 
231
            std::string::assign(PTR, LEN) rather than assigning
 
232
            std::string(PTR, LEN).  Using assign generates more efficient code
 
233
            (tested with GCC 4.1.2).
 
234
 
 
235
09/07/2007: wsfulton
 
236
            Fix %ignore on constructors which are not explicitly declared [SF #1777712]
 
237
 
 
238
09/05/2007: wuzzeb (John Lenz)
 
239
            - Change r_ltype in typesys.c to store a hashtable instead of a single value.
 
240
              several very subtle bugs were being caused by multiple ltypes being mapped
 
241
              to a single mangled type, mostly when using typedefed template parameters.
 
242
              Now, r_ltype stores a hashtable of possible ltypes, and when generating the
 
243
              type table, all the ltypes are added into the swig_type_info structure.
 
244
 
 
245
08/31/2007: wsfulton
 
246
            SF #1754967 from James Bigler.
 
247
            - Fix bug in turning on warnings that were turned off by default. Eg 'swig -w+309' will now
 
248
              turn on the normally suppressed warning 309.
 
249
 
 
250
            - New -Wextra commandline option which enables the extra warning numbers:
 
251
              202,309,403,512,321,322 (this is the list of warnings that have always been suppressed by
 
252
              default). By specifying -Wextra, all warnings will be turned on, but unlike -Wall,
 
253
              warnings can still be selectively turned on/off using %warnfilter,
 
254
              #pragma SWIG nowarn or further -w commandline options, eg:
 
255
                swig -Wextra -w309
 
256
              will turn on all warnings except 309.
 
257
 
 
258
08/28/2007: wsfulton
 
259
            - New debugging options, -debug-module <n> and -debug-top <n> to display the parse tree at
 
260
              various stages, where <n> is a comma separated list of stages 1-4.For example, to
 
261
              display top of parse tree at stages 1 and 3:
 
262
                swig -debug-top 1,3
 
263
 
 
264
            - Deprecate the following options which have equivalents below:
 
265
              -dump_parse_module    =>   -debug-module 1
 
266
              -dump_module          =>   -debug-module 4
 
267
              -dump_parse_top       =>   -debug-top 1
 
268
              -dump_top             =>   -debug-top 4
 
269
 
 
270
            - Renamed some commandline options for naming consistency across all options:
 
271
              -debug_template  =>   -debug-template
 
272
              -debug_typemap   =>   -debug-typemap
 
273
              -dump_classes    =>   -debug-classes
 
274
              -dump_tags       =>   -debug-tags
 
275
              -dump_typedef    =>   -debug-typedef
 
276
              -dump_memory     =>   -debug-memory
 
277
 
 
278
08/25/2007: olly
 
279
            [PHP5] Fix handling of double or float parameters with an integer
 
280
            default value.
 
281
 
 
282
08/25/2007: olly
 
283
            [PHP5] Generate __isset() methods for setters for PHP 5.1 and later.
 
284
 
 
285
08/20/2007: wsfulton
 
286
            [Java C#] Fix director bug #1776651 reported by Stephane Routelous which occurred when
 
287
            the director class name is the same as the start of some other symbols used within
 
288
            the director class.
 
289
 
 
290
08/17/2007: wsfulton
 
291
            Correct behaviour for templated methods used with %rename or %ignore and the empty
 
292
            template declaration - %template(). A warning is issued if the method has not been
 
293
            renamed.
 
294
 
 
295
08/16/2007: mutandiz (Mikel Bancroft)
 
296
            [allegrocl] Name generated cl file based on input file rather than by
 
297
            module name. It was possible to end up with a mypackage.cl and a test_wrap.c
 
298
            when parsing a test.i input file. Confusing. Also, include external-format
 
299
            templates for :fat and :fat-le automatically to avoid these being compiled
 
300
            at runtime.
 
301
 
 
302
08/15/2007: efuzzyone
 
303
            [cffi] Apply patch #1766076 from Leigh Smith adding support for newly introduced
 
304
            in cffi :long-long and :unsigned-long-long.
 
305
 
 
306
08/10/2007: wsfulton
 
307
            [Java] Add documentation patch #1743573 from Jeffrey Sorensen. It contains a neat
 
308
            idea with respect to better memory management by the JVM of C++ allocated memory.
 
309
 
 
310
08/10/2007: wsfulton
 
311
            [Perl] Apply patch #1771410 from Wade Brainerd to fix typedef XS(SwigPerlWrapper) in
 
312
            perlrun.swg for ActiveState Perl build 822 and Perl 5.8.9 and 5.10 branches.
 
313
 
 
314
08/10/2007: wsfulton
 
315
            [Lua] const enum reference typemaps fixed.
 
316
 
 
317
08/09/2007: wsfulton
 
318
            [C#] Added missing support for C++ class member pointers.
 
319
 
 
320
08/09/2007: wsfulton
 
321
            [C#, Java] Add support for $owner in the "out" typemaps like in the the scripting
 
322
            language modules. Note that $owner has always been supported in the "javaout" / "csout"
 
323
            typemaps.
 
324
 
 
325
08/01/2007: wsfulton
 
326
            Fix smart pointer handling for classes that have templated methods within the smart
 
327
            pointer type. Problem reported by craigdo at ee.washington.edu.
 
328
 
 
329
07/31/2007: efuzzyone
 
330
            [cffi] fixed memory access after being freed bug. thanks to Martin Percossi.
 
331
            package name clos changed to cl. thanks to Ralf Mattes
 
332
 
 
333
07/24/2007: wsfulton
 
334
            Parallel make support added for the examples and test-suite for developers who have
 
335
            more than one CPU. Now parallel make can be used for checking in addition to building
 
336
            the SWIG executable. Some typical checking examples:
 
337
 
 
338
              make -j8 -k check
 
339
              make -j4 check-java-test-suite
 
340
              make -j2 check-java-examples
 
341
 
 
342
07/19/2007: mgossage
 
343
            Fixed bug that stopped configure working on mingw (applied dos2unix to configure.in)
 
344
 
 
345
07/10/2007: mgossage
 
346
            [lua] Extra compatibility with Lua 5.1 (updated SWIG_init, docs, examples, test suite)
 
347
            Removed name clash for static link of multiple modules
 
348
 
 
349
07/05/2007: mgossage
 
350
            [lua] Fix a bug in SWIG_ALLOC_ARRAY()
 
351
            improved the error messages for incorrect arguments.
 
352
            Changed the output of swig_type() to use the human readable form of the type,
 
353
            rather than the raw swig type.
 
354
 
 
355
07/03/2007: wsfulton
 
356
            [C#] Fix directors for some overloaded methods where the imtype resulted in identical
 
357
            methods being generated in the C# director class, eg void foo(int *) and void foo(double *)
 
358
            used to generated two of these:
 
359
 
 
360
              private void SwigDirectorfoo(IntPtr p) { ... }
 
361
 
 
362
06/25/2007: wsfulton
 
363
            [Java, C#] Some parameter name changes in std_vector.i allowing better targeting
 
364
            of typemaps for method parameters (for memory management of containers of pointers).
 
365
 
 
366
06/07/2007: mutandiz (Mikel Bancroft)
 
367
            [allegrocl]
 
368
            fix foreign-type constructor to properly look for ffitype typemap
 
369
            bindings. fix inout_typemaps.i for strings.
 
370
 
 
371
06/06/2007: olly
 
372
            [Ruby]
 
373
            Use whichever of "long" or "long long" is the same size as "void*"
 
374
            to hold pointers as integers, rather than whichever matches off_t.
 
375
            Fixes compilation on OS X and GCC warnings on platforms where
 
376
            sizeof(void*) < sizeof(off_t) (SF patch #1731979).
 
377
 
 
378
06/06/2007: olly
 
379
            [PHP5]
 
380
            Fix handling of a particular case involving overloaded functions
 
381
            with default parameters.
 
382
 
 
383
06/05/2007: mutandiz (Mikel Bancroft)
 
384
            [allegrocl]
 
385
            Fix case where we'd pass fully qualified identifiers
 
386
            (i.e. NS1::NS2::FOO) to swig-insert-id. All namespaces
 
387
            should be stripped.
 
388
 
 
389
            Fix bug in TypedefHandler introduced by last fix.
 
390
 
 
391
06/05/2007: olly
 
392
            Fix reporting of filenames in errors after %include (patch from
 
393
            Leigh Smith in #1731040; also reported as #1699940).
 
394
 
 
395
05/31/2007: olly
 
396
            [Python]
 
397
            Fix "missing initialiser" warning when compiling generated C/C++
 
398
            wrapper code with Python 2.5 with warnings enabled (patch from
 
399
            bug#1727668 from Luke Moore).
 
400
 
 
401
05/29/2007: olly
 
402
            [Python]
 
403
            Split docstrings into separate string literals at each newline when
 
404
            generating C/C++ wrapper code (the C/C++ compiler will just combine
 
405
            them back into a single string literal).  This avoids MSVC
 
406
            complaining that the strings are too long (problem reported by
 
407
            Bo Peng on the mailing list).
 
408
 
 
409
05/28/2007: olly
 
410
            [Python]
 
411
            Escape backslashes in docstrings.
 
412
 
 
413
05/26/2007: olly
 
414
            [Python]
 
415
            Fix autodoc generation of enums to be more consistent with how the
 
416
            enums are wrapped - patch #1697226 from Josh Cherry.
 
417
 
 
418
05/26/2007: olly
 
419
            [PHP5]
 
420
            Fix wrapping of methods and functions which return a pointer to a
 
421
            class (bug#1700788) and those which have overloaded forms returning
 
422
            both classes and non-classes (bug#1712717, thanks to Simon
 
423
            Berthiaume for the patch).
 
424
 
 
425
05/25/2007: wsfulton
 
426
            Fixed %rename inconsistency in conversion operators as reported by Zhong Ren. The matching
 
427
            is now done on the operator name in the same way as it is done for parameters. For example:
 
428
 
 
429
              %rename(opABC) Space::ABC::operator ABC() const;
 
430
              %rename(methodABC) Space::ABC::method(ABC a) const;
 
431
              namespace Space {
 
432
                class ABC {
 
433
                  public:
 
434
                    void method(ABC a) const {}
 
435
                    operator ABC() const { ABC a; return a; }
 
436
                };
 
437
              }
 
438
 
 
439
            Note that qualifying the conversion operator previously may or may not have matched.
 
440
            Now it definitely won't, so this will not match:
 
441
 
 
442
              %rename(opABC) Space::ABC::operator Space::ABC() const;
 
443
 
 
444
            in the same way that this does not match:
 
445
 
 
446
              %rename(methodABC) Space::ABC::method(Space::ABC a) const;
 
447
 
 
448
            The documentation has been improved with respect to %rename, namespaces and templates.
 
449
            Conversion operators documentation too.
 
450
 
 
451
            *** POTENTIAL INCOMPATIBILITY ***
 
452
 
 
453
05/16/2007: mutandiz
 
454
            [allegrocl]
 
455
            Fix bad generation of local var ltype's in functionWrapper().
 
456
            Try to work better with the backward order in which swig
 
457
            unrolls nested class definitions.
 
458
            cleaned up a little unnecessary code/debug printf's.
 
459
            Remove warning when replacing $ldestructor for ff:foreign-pointer
 
460
 
 
461
05/12/2007: olly
 
462
            [Python]
 
463
            swig -python -threads now generates C/C++ code which uses Python's
 
464
            own threading abstraction (from pythread.h) rather than OS specific
 
465
            code.  The old code failed to compile on MS Windows.  (See SF patch
 
466
            tracker #1710341).
 
467
 
 
468
05/04/2007: gga
 
469
            [Ruby]
 
470
            Changed STL renames to be global renames.  This fixes
 
471
            STL functions not being renamed when autorename is on.
 
472
            This is a not a totally perfect work-around, but better.
 
473
            Someone really needs to fix the template renaming code.
 
474
            (See bug #1545634)
 
475
 
 
476
05/04/2007  gga
 
477
            [All]
 
478
            Changed %rename("%(undercase)s") a little so that single
 
479
            numbers at the end of a function are not undercased.  That is:
 
480
                getSomething -> get_something
 
481
                get2D        -> get_2d
 
482
                get234       -> get_234
 
483
            BUT:
 
484
                asFloat2     -> as_float2
 
485
            (Bug #1699714)
 
486
 
 
487
05/03/2007: gga
 
488
            [Ruby]
 
489
            Made __swigtype__ => @__swigtype__ so it can be accessed
 
490
            from the scripting language (and follows Ruby's official
 
491
            documentation, just in case).
 
492
            Made tracking => @__trackings__ for same reason.
 
493
            Currently storing ivars without the @ seems valid, but
 
494
            the PickAxe says this is not correct, so just in case...
 
495
 
 
496
05/03/2007: gga
 
497
            [Ruby]
 
498
            Applied patch for -minherit bug and exception classes.
 
499
            This issue should be revisited more closely, as Multiple
 
500
            Inheritance in Ruby is still problematic.
 
501
            (patch/bug #1604878)
 
502
 
 
503
05/03/2007: gga
 
504
            [Ruby]
 
505
            Overloaded functions in ruby will now report to the user
 
506
            the possible prototypes when the user mistypes the number or
 
507
            type of a parameter.
 
508
 
 
509
05/03/2007: gga
 
510
            [Ruby]
 
511
            Forgot to document the bug fixing of an old bug regarding
 
512
            exceptions.
 
513
            (bug #1458247)
 
514
 
 
515
05/03/2007: gga
 
516
            [Ruby]
 
517
            Fixed Ruby documentation to use the proper css styles for
 
518
            each section. Added autodoc section to Ruby's docs to
 
519
            document the features supported by Ruby in documenting its modules.
 
520
            Made rdoc documentation spit out the full name of the class +
 
521
            method name.  Albeit this will make the current rdoc not recognize
 
522
            the method, this is still needed to disambiguate between different
 
523
            classes with similar methods (rdoc was created to document the
 
524
            ruby source which only contains one class per c file, unlike swig)
 
525
            I have patched rdoc to make it more friendly to swig.  This
 
526
            patch needs to be merged in the ruby std library now.
 
527
 
 
528
05/03/2007: gga
 
529
            [Ruby]
 
530
            Changed flag -feature to be -init_name to better reflect its
 
531
            purpose and avoid confusion with -features.
 
532
 
 
533
05/03/2007: gga
 
534
            [Ruby]
 
535
            Improved autodoc generation.
 
536
            Added autodoc .swg files to Ruby library for easily adding
 
537
            documentation to common Ruby methods and STL methods.
 
538
            Fixed autodoc documenting of getters and setters and module.
 
539
            Made test suite always generate autodocs.
 
540
 
 
541
05/03/2007: gga
 
542
            [Ruby]
 
543
            Removed some warnings from STL and test suite.
 
544
 
 
545
05/02/2007: mgossage
 
546
            [Lua] Fixed issues with C++ classes and hierachies across multiple
 
547
            source files. Fixed imports test case & added run test.
 
548
            Added Examples/imports.
 
549
            Added typename for raw lua_State*
 
550
            Added documentation on native functions.
 
551
 
 
552
05/02/2007: gga
 
553
            [Ruby]
 
554
            Docstrings are now supported.
 
555
            %feature("autodoc") and %feature("docstring") are now
 
556
            properly supported in Ruby.  These features will generate
 
557
            a _wrap.cxx file with rdoc comments in them.
 
558
 
 
559
05/02/2007: gga
 
560
            [Ruby]
 
561
            STL files have been upgraded to follow the new swig/python
 
562
            Lib/std conventions.
 
563
            This means std::vector, std::set, std::map, set::multimap,
 
564
            std::multiset, std::deque and std::string are now properly
 
565
            supported, including their iterators, support for containing
 
566
            ruby objects (swig::GC_VALUE) and several other ruby
 
567
            enhancements.
 
568
            std::complex, std::ios, std::iostream, std::iostreambuf and
 
569
            std::sstream are now also supported.
 
570
            std::wstring, std::wios, std::wiostream, std::wiostreambuf
 
571
            and std::wsstream are supported verbatim with no unicode
 
572
            conversion.
 
573
 
 
574
            std_vector.i now mimics the behavior of Ruby Arrays much more
 
575
            closely, supporting slicing, shifting, unshifting,
 
576
            multiple indexing and proper return values on assignment.
 
577
 
 
578
            COMPATABILITY NOTE: this changes the older api a little bit in
 
579
            that improper indexing would previously (incorrectly) raise
 
580
            exceptions.  Now, nil is returned instead, following ruby's
 
581
            standard Array behavior.
 
582
 
 
583
05/02/2007: gga
 
584
            [Ruby]
 
585
            Changed the value of SWIG_TYPECHECK_BOOL to be 10000 (ie. higher
 
586
            than that of all integers).
 
587
            This is because Ruby allows typecasting
 
588
            integers down to booleans which can make overloaded functions on
 
589
            bools and integers to fail.
 
590
            (bug# 1488142)
 
591
 
 
592
05/02/2007: gga
 
593
            [Ruby]
 
594
            Fixed a subtle bug in multiple argouts that could get triggered if
 
595
            the user returned two or more arguments and the first one was an
 
596
            array.
 
597
 
 
598
05/01/2007: gga
 
599
            [Ruby]
 
600
            Improved the documentation to document the new features
 
601
            added, add directorin/out/argout typemaps, etc.
 
602
 
 
603
05/01/2007: gga
 
604
            [Ruby]
 
605
            Added %initstack and %ignorestack directives for director
 
606
            functions.  These allow you to control whether a director
 
607
            function should re-init the Ruby stack.
 
608
            This is sometimes needed for an embedded Ruby where the
 
609
            director method is used as a C++ callback and not called
 
610
            by the user from ruby code.
 
611
            Explanation:
 
612
            Ruby's GC needs to be aware of the running OS stack in order to
 
613
            mark any VALUE (Ruby objects) it finds there to avoid collection
 
614
            of them.  This allows the ruby API to be very simple and allows
 
615
            you to write code like "VALUE a = sth" anywhere without needing
 
616
            to do things like refcounting like python.
 
617
            By default, the start of the stack is set when ruby_init() is
 
618
            called.   If ruby is inited within main(), as it usually is the
 
619
            case with the main ruby executable, ruby will be able to calculate
 
620
            its stack properly.  However, when this is not possible, as when
 
621
            ruby is embedded as a plugin to an application where main is not
 
622
            available, ruby_init() will be called in the wrong place, and
 
623
            ruby will be incorrectly tracking the stack from the function
 
624
            that called ruby_init() forwards only, which can lead to
 
625
            all sorts of weird crashes or to ruby thinking it has run out of
 
626
            stack space incorrectly.
 
627
            To avoid this, director (callback) functions can now be tagged
 
628
            to try to reset the ruby stack, which will solve the issues.
 
629
            NOTE: ruby1.8.6 still contains a bug in it in that its function
 
630
            to reset the stack will not always do so.  This bug is triggered
 
631
            very rarely, when ruby is called from two very distinct places
 
632
            in memory, like a branch of main() and another dso.  This bug
 
633
            has now been reported to ruby-core and is pending further
 
634
            investigation.
 
635
            (bug #1700535 and patch #1702907)
 
636
 
 
637
04/30/2007: wsfulton
 
638
            Fix #1707582 - Restore building from read-only source directories.
 
639
 
 
640
04/30/2007: gga
 
641
            [Ruby]
 
642
            Ruby will now report the parameter index properly on type
 
643
            errors as well as the class and value of the incorrect
 
644
            argument passed.
 
645
            (feature request #1699670)
 
646
 
 
647
04/30/2007: gga
 
648
            [Ruby]
 
649
            Ruby no longer creates the free_Class function if the class
 
650
            contains its own user defined free function (%freefunc).
 
651
            (bug #1702882)
 
652
 
 
653
04/30/2007: gga
 
654
            [Ruby]
 
655
            Made directors raise a ruby exception for incorrect argout
 
656
            returned values if RUBY_EMBEDDED is set, instead of throwing
 
657
            an actual SwigDirector exception.
 
658
            This will prevent crashes when ruby is embedded and unaware
 
659
            of the SwigDirector exception.
 
660
 
 
661
04/30/2007: gga
 
662
            [Ruby]
 
663
            Removed the need for -DSWIGEXTERN.
 
664
            Changed swig_ruby_trackings to be a static variable, but also
 
665
            be kept within a hidden instance variable in the SWIG module.
 
666
            This allows properly dealing with trackings across multiple
 
667
            DSOs, which was previously broken.
 
668
            (bug #1700535 and improvement to patch #1702907)
 
669
 
 
670
04/29/2007: gga
 
671
            [Ruby] Fixed GC memory issues with trackings that could lead
 
672
            to segfaults when dealing, mainly, with static variables.
 
673
            (bug #1700535 and patch #1702907)
 
674
 
 
675
04/29/2007: gga
 
676
            [Ruby]
 
677
            Fixed String conversion using old ruby1.6 macros.  Now
 
678
            StringValuePtr() is used if available.  This removes warnings
 
679
            when converting strings with \0 in them.
 
680
            (bug #1700535 and patch #1702907)
 
681
 
 
682
04/29/2007: gga
 
683
            [Ruby]
 
684
            Fixed the argout count in directors for Ruby.  Previously,
 
685
            ignored or "numinputs=0" typemaps would incorrectly not get
 
686
            counted towards the argout count.
 
687
            (bug/patch #1545585)
 
688
 
 
689
04/29/2007: gga
 
690
            [Ruby]
 
691
            Upgraded Ruby converter to recognize "numinputs=0".  Previously,
 
692
            only the old "ignore" flag was checked (which would currently
 
693
            still work properly, but is deprecated).
 
694
 
 
695
04/29/2007: gga
 
696
            [Ruby - but should be made generic]
 
697
 
 
698
            %feature("numoutputs","0") added.
 
699
 
 
700
            This feature allows you to ignore the output of a function so
 
701
            that it is not added to a list of output values
 
702
            ( ie. argouts ).
 
703
            This should also become a feature of %typemap(directorout)
 
704
            as "numoutputs"=0, just like "numinputs"=0 exists.
 
705
 
 
706
            %feature("directors"=1)
 
707
 
 
708
            %include <typemaps.i>
 
709
 
 
710
            %feature("numoutputs","0") { Class::member_function1 };
 
711
            %typemap(out) MStatus { // some code, like check mstatus
 
712
                                    // and raise exception if wrong };
 
713
 
 
714
            %inline %{
 
715
              typedef int MStatus;
 
716
              class Class {
 
717
 
 
718
              // one argument returned, but director out code added
 
719
              // MStatus is discarded as a return (out) parameter.
 
720
              virtual MStatus member_function1( int& OUTPUT );
 
721
 
 
722
              // two arguments returned, director out code added
 
723
              // MStatus is not discarded
 
724
              virtual MStatus member_function2( int& OUTPUT );
 
725
              };
 
726
            %}
 
727
 
 
728
 
 
729
04/21/2007: olly
 
730
            Fix parsing of float constants with an exponent (e.g. 1e-02f)
 
731
            (bug #1699646).
 
732
 
 
733
04/20/2007: olly
 
734
            [Python] Fix lack of generation of docstrings when -O is used.
 
735
            Also, fix generation of docstrings containing a double quote
 
736
            character.  Patch from Richard Boulton in bug#1700146.
 
737
 
 
738
04/17/2007: wsfulton
 
739
            [Java, C#] Support for adding in Java/C# code before and after the intermediary call,
 
740
            specifically related to the marshalling of the proxy type to the intermediary type.
 
741
            The javain/csin typemap now supports the 'pre' and 'post' attributes to achieve this.
 
742
            The javain typemap also supports an optional 'pgcppname' attribute for premature garbage
 
743
            collection prevention parameter naming and the csin typemap supports an optional 'cshin'
 
744
            attribute for the parameter type used in a constructor helper generated when the type is used
 
745
            in a constructor. Details in the Java.html and CSharp.html documentation.
 
746
 
 
747
04/16/2007: olly
 
748
            Don't treat `restrict' as a reserved identifier in C++ mode
 
749
            (bug#1685534).
 
750
 
 
751
04/16/2007: olly
 
752
            [PHP5] Fix how zend_throw_exception() is called (bug #1700785).
 
753
 
 
754
04/10/2007: olly
 
755
            Define SWIGTEMPLATEDISAMBIGUATOR to template for aCC (reported on
 
756
            swig-user that this is needed).
 
757
 
 
758
04/04/2007: olly
 
759
            [PHP5] If ZTS is enabled, release <module>_globals_id in MSHUTDOWN
 
760
            to avoid PHP interpreter crash on shutdown.  This solution was
 
761
            suggested here: http://bugs.php.net/bug.php?id=40985
 
762
 
 
763
04/03/2007: olly
 
764
            [PHP4] Add missing ZTS annotations to generated C++ wrapper code
 
765
            to fix compilation failures when using ZTS enabled SWIG (Linux
 
766
            distributions tend to disable ZTS, but notably the Windows build
 
767
            uses it by default).
 
768
 
 
769
04/01/2007: efuzzyone
 
770
            [CFFI] Patch #1684261: fixes handling of unsigned int literals, thanks Leigh Smith.
 
771
            Also, improved documentation.
 
772
 
 
773
03/30/2007: olly
 
774
            Avoid generating '<:' token when using SwigValueWrapper<> on a type
 
775
            which starts with '::' (patch #1690948).
 
776
 
 
777
03/25/2007: wuzzeb (John Lenz)
 
778
            [perl5] Add SWIG_fail to the SWIG_exception macro.  Fixes a few problems reported
 
779
            on the mailing list.
 
780
 
 
781
03/23/2007: wsfulton
 
782
            String copying patch from Josh Cherry reducing memory consumption by about 25%.
 
783
 
 
784
03/21/2007: wsfulton
 
785
            [Java] Apply patch #1631987 from Ulrik Peterson - bool INOUT typemaps
 
786
            fail on big endian machines.
 
787
 
 
788
03/16/2007: wsfulton
 
789
            Fix seg fault given dodgy C++ code: namespace abc::def { }
 
790
 
 
791
03/16/2007: wsfulton
 
792
            [Java] Fixes so that ARRAYSOFCLASSES and ARRAYSOFENUMS in arrays_java.i can be applied
 
793
            to pointer types.
 
794
 
 
795
03/03/2007: olly
 
796
            [PHP5] When we know the literal numeric value for a constant, use
 
797
            that to initialise the const member in the PHP wrapper class.
 
798
 
 
799
03/02/2007: olly
 
800
            [PHP5] Fix PHP wrapper code generated for certain cases of
 
801
            overloaded forms with default arguments.
 
802
 
 
803
02/26/2007: efuzzyone
 
804
            [CFFI] Patch #1656395: fixed hex and octal values bug, thanks to Arthur Smyles.
 
805
 
 
806
02/22/2007: mgossage
 
807
            [Lua] Fixed bug in typemaps which caused derived_byvalue and rname test cases to fail.
 
808
            Updated derived_byvalue.i to explain how to find and fix the problem
 
809
 
 
810
01/25/2007: wsfulton
 
811
            Fix #1538522 and #1338527, forward templated class declarations without a
 
812
            name for the templated class parameters, such as:
 
813
 
 
814
              template <typename, class> class X;
 
815
 
 
816
01/23/2007: mgossage
 
817
            [Lua] Patch #1640862: <malloc.h> replaced by <stdlib.h>
 
818
            Patch #1598063 Typo in typemaps.i
 
819
 
 
820
01/22/2007: mgossage
 
821
            [Lua] Added a lua specific carrays.i which adds the operator[] support.
 
822
            modified the main code to make it not emit all the class member functions & accessors
 
823
            Note: C structs are created using new_XXX() while C++ classes use XXX() (should be standardised)
 
824
            Updated test case: li_carrays
 
825
            Updated the documentation.
 
826
 
 
827
01/12/2007: wsfulton
 
828
            [Php] Add support for newfree typemaps (sometimes used by %newobject)
 
829
 
 
830
01/12/2007: beazley
 
831
            New command line option -macroerrors.   When supplied, this will force
 
832
            the C scanner/parser to report proper location information for code contained
 
833
            inside SWIG macros (defined with %define).  By default, SWIG merely reports
 
834
            errors on the line at which a macro is used.  With this option, you
 
835
            can expand the error back to its source---something which may simplify
 
836
            debugging.
 
837
 
 
838
01/12/2007: beazley
 
839
            [Internals] Major overhaul of C/C++ scanning implementation.  For quite
 
840
            some time, SWIG contained two completely independent C/C++ tokenizers--
 
841
            the legacy scanner in CParse/cscanner.c and a general purpose scanner
 
842
            in Swig/scanner.c. SWIG still has two scanning modules, but the C parser
 
843
            scanner (CParse/cscanner.c) now relies upon the general purpose
 
844
            scanner found in Swig/scanner.c.  As a result, it is much smaller and
 
845
            less complicated.  This change also makes it possible to maintain all
 
846
            of the low-level C tokenizing in one central location instead of two
 
847
            places as before.
 
848
 
 
849
            ***POTENTIAL FLAKINESS***
 
850
            This change may cause problems with accurate line number reporting
 
851
            as well as error reporting more generally. I have tried to resolve this
 
852
            as much as possible, but there might be some corner cases.
 
853
 
 
854
01/12/2007: mgossage
 
855
            [Lua] Added typemap throws for std::string*, typemap for SWIGTYPE DYNAMIC,
 
856
            changed the existing throws typemap to throw a string instead of making a copy of
 
857
            the object (updating a few test cases to deal with the change).
 
858
            fixed test case: dynamic_casts, exception_partial_info, li_std_string, size_t
 
859
 
 
860
01/03/2007: beazley
 
861
            [Internals].  Use of swigkeys.c/.h variables is revoked.  Please use
 
862
            simple strings for attribute names.
 
863
 
 
864
12/30/2006: beazley
 
865
            Internal API functions HashGetAttr() and HashCheckAttr() have been revoked.
 
866
            Please use Getattr() to retrieve attributes.  The function Checkattr() can
 
867
            be used to check attributes.  Note:  These functions have been revoked
 
868
            because they only added a marginal performance improvement at the expense
 
869
            code clarity.
 
870
 
 
871
12/26/2006: mgossage
 
872
            [Lua] Added more STL (more exceptions, map, size_t),
 
873
            fixed test case: conversion_ns_template.
 
874
 
 
875
12/21/2006: mgossage
 
876
            [Lua] Update to throw errors when setting immutables,
 
877
            and allowing user addition of module variables.
 
878
 
 
879
12/20/2006: wsfulton
 
880
            Fix typedef'd variable wrappers that use %naturalvar, eg, std::string.
 
881
 
 
882
12/14/2006: wsfulton
 
883
            [C#] Add std::wstring and wchar_t typemaps
 
884
 
 
885
12/14/2006: olly
 
886
            [php] Fix bug #1613673 (bad PHP5 code generated for getters and
 
887
            setters).
 
888
 
 
889
12/02/2006: wsfulton, John Lenz, Dave Beazley
 
890
            Move from cvs to Subversion for source control
 
891
 
 
892
11/30/2006: beazley
 
893
            Cleaned up swigwarnings.swg file not to use nested macro
 
894
            definitions.
 
895
 
 
896
11/12/2006: wsfulton
 
897
            [Java, C#] Fix for %extend to work for static member variables.
 
898
 
 
899
Version 1.3.31 (November 20, 2006)
 
900
==================================
 
901
 
 
902
11/12/2006: Luigi Ballabio
 
903
            [Python] Alternate fix for Python exceptions bug #1578346 (the previous one broke Python
 
904
            properties in modern classes)
 
905
 
 
906
11/12/2006: wsfulton
 
907
            -fakeversion commandline option now generates the fake version into the generated wrappers
 
908
            as well as displaying it when the -version commandline option is used.
 
909
 
 
910
14/11/2006: mgossage
 
911
            [lua] update to typemap for object by value, to make it c89 compliant
 
912
 
5
913
Version 1.3.30 (November 13, 2006)
6
914
=================================
7
915
 
110
1018
10/12/2006: wsfulton
111
1019
            [Java] Remove potential race condition on the proxy class' delete() method 
112
1020
            (it is now a synchronized method, but is now customisable by changing the 
113
 
            methodmodifier attribute in the the javadestruct or javadestruct_derived typemap)
 
1021
            methodmodifiers attribute in the the javadestruct or javadestruct_derived typemap)
114
1022
 
115
1023
            [C#] Remove potential race condition on the proxy class' Dispose() method, 
116
1024
            similar to Java's delete() above.
3339
4247
07/22/2005: wsfulton
3340
4248
            [C#, Java] Fix SWIG_exception usage to work with compilers that don't support empty macro
3341
4249
            arguments. Unfortunately this fix will stop usage of SWIG_exception being used within typemaps
3342
 
            that use "" or %{ %} delimeters, but continues to work with typemaps using {} delimeters.
 
4250
            that use "" or %{ %} delimiters, but continues to work with typemaps using {} delimiters.
3343
4251
            Please use the SWIG_CSharpSetPendingExceptionArgument or SWIG_JavaThrowException methods instead
3344
4252
            as SWIG_exception is really intended as a platform independent macro for the SWIG library writers.
3345
4253
 
14757
15665
           This creates a constant 'foo' of type int (*)(int,int).
14758
15666
           Alternatively, you can do this:
14759
15667
 
14760
 
               %callback("%s")
 
15668
               %callback("%s");
14761
15669
               int foo(int,int);
14762
15670
               int bar(int,int);
14763
 
               %nocallback
 
15671
               %nocallback;
14764
15672
 
14765
15673
           In this case, the functions are installed as constants where
14766
15674
           the name is defined by the format string given to %callback().
14768
15676
           actual function name, both a function wrapper and a callback 
14769
15677
           constant are created.  For example:
14770
15678
 
14771
 
               %callback("%(upper)s")
 
15679
               %callback("%(upper)s");
14772
15680
               int foo(int,int);
14773
15681
               int bar(int,int);
14774
 
               %nocallback
 
15682
               %nocallback;
14775
15683
           
14776
15684
           Creates two wrapper functions 'foo', 'bar' and additionally
14777
15685
           creates two callback constants 'FOO', 'BAR'.