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

« back to all changes in this revision

Viewing changes to CHANGES

  • Committer: Bazaar Package Importer
  • Author(s): Michael Vogt
  • Date: 2008-06-20 18:33:37 UTC
  • mfrom: (1.2.7 upstream)
  • Revision ID: james.westby@ubuntu.com-20080620183337-hockvwcewu29409c
Tags: 1.3.35-4ubuntu1
* Merge from debian unstable, remaining changes:
  - Drop support for pike.
  - Use python2.5 instead of python2.4.
  - use php5
  - 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.34 (27 February 2008)
 
6
=================================
 
7
 
 
8
02/13/2008: wsfulton
 
9
            [R] Fix wrapping of global function pointer variables.
 
10
 
 
11
02/13/2008: wsfulton
 
12
            Add new special variables for use within %exception:
 
13
              $wrapname - language specific wrapper name
 
14
              $overname - if a method is overloaded this contains the extra mangling used on 
 
15
                          the overloaded method
 
16
              $decl     - the fully qualified C/C++ declaration of the method being wrapped 
 
17
                          without the return type
 
18
              $fulldecl - the fully qualified C/C++ declaration of the method being wrapped 
 
19
                          including the return type
 
20
 
 
21
02/12/2008: drjoe
 
22
            [R] Now setting S4 flag in SWIG created objects.  This
 
23
            fixes R-SWIG for 2.6 and warning for 2.6 failure has been removed.
 
24
 
 
25
02/11/2008: mgossage
 
26
            [Lua] Added a patch by Torsten Landschoff to fix the unary minus issue
 
27
            Ran 'astyle --style=kr -2' across lua.cxx to neaten it up
 
28
 
 
29
02/10/2008: wsfulton
 
30
            Bump SWIG_RUNTIME_VERSION to 4. This is because of the recently introduced API 
 
31
            change in the conversion functions, ie change in definition of swig_converter_func.
 
32
            Anyone calling SWIG_TypeCast must pass in a valid value for the new additional
 
33
            (third) parameter and then handle the newly created memory if the returned value
 
34
            is set to SWIG_CAST_NEW_MEMORY else a memory leak will ensue.
 
35
 
 
36
02/09/2008: wsfulton
 
37
            [Python] Experimental shared_ptr typemaps added. Usage is the same as the recently
 
38
            added Java and C# shared_ptr typemaps. Two macros are available, although these
 
39
            may well change in a future version:
 
40
 
 
41
            For base classes or classes not in an inheritance chain:
 
42
              SWIG_SHARED_PTR(PROXYCLASS, TYPE)
 
43
            For derived classes:
 
44
              SWIG_SHARED_PTR_DERIVED(PROXYCLASS, BASECLASSTYPE, TYPE)
 
45
 
 
46
            The PROXYCLASS is the name of the proxy class, but is only required for Java/C#.
 
47
            Example usage:
 
48
 
 
49
              %include "boost_shared_ptr.i"
 
50
 
 
51
              SWIG_SHARED_PTR(Klass, Space::Klass)
 
52
              SWIG_SHARED_PTR_DERIVED(KlassDerived, Space::Klass, Space::KlassDerived)
 
53
 
 
54
              namespace Space {
 
55
                struct Klass { ... };
 
56
                struct KlassDerived : Klass { ... };
 
57
              }
 
58
 
 
59
            Further details to follow in future documentation, but the following features
 
60
            should be noted:
 
61
 
 
62
            - Not restricted to boost::shared_ptr, eg std::tr1::shared_ptr can also be used.
 
63
            - Available typemap groups:
 
64
              (a) Typemaps for shared_ptr passed by value, reference, pointer and pointer 
 
65
                  reference.
 
66
            - (b) Typemaps for passing by raw value, raw pointer, raw reference, raw pointer
 
67
                  reference. 
 
68
            - The code being wrapped does not even have to use shared_ptr, SWIG can use
 
69
              shared_ptr as the underlying storage mechanism instead of a raw pointer due to 
 
70
              the typemaps in group (b) above.
 
71
            - No array support as shared_ptr does not support arrays.
 
72
            - This works quite differently to the usual SWIG smart pointer support when
 
73
              operator-> is parsed by SWIG:
 
74
              - An additional smart pointer class is not generated reducing code bloat in
 
75
                the wrappers.
 
76
              - Using smart pointers and raw pointers can be mixed seamlessly.
 
77
              - Missing constructors for the smart pointers is no longer a problem and so
 
78
                separate factory type functions do not have to be written and wrapped.
 
79
              - The implicit C++ shared_ptr< derived class > to shared_ptr< base class >
 
80
                cast also works in the target language. This negates the necessity to write
 
81
                an explicit helper cast function providing the upcast which would need
 
82
                calling prior to passing a derived class to a method taking a shared_ptr to
 
83
                a base class.
 
84
 
 
85
02/09/2008: wsfulton
 
86
            [Python] Add support for overriding the class registration function via a new
 
87
            "smartptr" feature. This is a very low level of customisation most users
 
88
            would never need to know. The feature will typically be used for intrusive 
 
89
            smart pointers along with additional typemaps. Example usage of the feature:
 
90
 
 
91
              %feature("smartptr", noblock=1) Foo { boost::shared_ptr< Foo > }
 
92
              class Foo {};
 
93
 
 
94
            The generated Foo_swigregister function will then register boost::shared < Foo >
 
95
            (SWIGTYPE_p_boost__shared_ptrTFoo_t instead of SWIGTYPE_p_Foo) as the underlying
 
96
            type for instantiations of Foo.
 
97
 
 
98
02/09/2008: wsfulton
 
99
            Features now supports the optional 'noblock' attribute for all usage of %feature. 
 
100
            When specified, the { } braces are removed from the feature code. This is identical
 
101
            in behaviour to usage of 'noblock' in typemaps and is used when the preprocessor
 
102
            is required to operate on the code in the feature and the enclosing { } braces
 
103
            are not required. Example:
 
104
 
 
105
              #define FOO foo
 
106
              %feature("smartptr", noblock="1") { FOO::bar }
 
107
 
 
108
            The preprocessor then reduces this as if this had been used instead:
 
109
 
 
110
              %feature("smartptr") "foo::bar"
 
111
 
 
112
02/01/2008: olly
 
113
            [Python] Fix format string bug (SF#1882220).
 
114
 
 
115
01/31/2008: wsfulton
 
116
            Additions to the %types directive. Now the conversion / casting code can be
 
117
            overridden to some custom code in the %types directive, like so:
 
118
 
 
119
              %types(fromtype = totype) %{
 
120
                ... code to convert fromtype to totype and return ...
 
121
              %}
 
122
 
 
123
            The special variable $from will be replaced by the name of the parameter of the
 
124
            type being converted from. The code must return the totype cast to void *. Example:
 
125
 
 
126
              class Time;
 
127
              class Date;
 
128
              Date &Time::dateFromTime();
 
129
 
 
130
              %types(Time = Date) %{
 
131
                Time *t = (Time *)$from;
 
132
                Date &d = t->dateFromTime();
 
133
                return (void *) &d;
 
134
              %}
 
135
 
 
136
            resulting in the conversion / casting code looking something like:
 
137
 
 
138
              static void *_p_TimeTo_p_Date(void *x) {
 
139
                Time *t = (Time *)x;
 
140
                Date &d = t->dateFromTime();
 
141
                return (void *) &d;
 
142
              }
 
143
 
 
144
            This is advanced usage, please use only if you understand the runtime type system.
 
145
 
 
146
01/30/2008: mgossage
 
147
            Small update to documentation in Typemaps.html, to warn about use of local 
 
148
            variables in typemaps for multiple types.
 
149
 
 
150
01/25/2008: wsfulton
 
151
            [Java] Fix bug reported by Kevin Mills in ARRAYSOFCLASSES typemaps where any
 
152
            changes made to an array element passed from Java to C are not reflected back
 
153
            into Java.
 
154
 
 
155
01/24/2008: mgossage
 
156
            More updates to the configure script for detecting lua.
 
157
            Also looks in /usr/include/lua*
 
158
            Also changed typemaps.i not to check for NULL before freeing a pointer
 
159
 
 
160
01/21/2008: wsfulton
 
161
            [Python] For STL containers, SWIG no longer attempts to convert from one
 
162
            STL container to another, eg from std::vector<int> to std::vector<double>
 
163
            or std::list<int> to std::vector<int> or even std::vector<Foo> to
 
164
            std::vector<Bar> as it previously did. In fact SWIG no longer attempts to
 
165
            convert any SWIG wrapped C++ proxy class that is also a Python sequence,
 
166
            whereas previously it would. Any non-SWIG Python sequence will still be
 
167
            accepted wherever an STL container is accepted. Overloaded methods using
 
168
            containers should be faster.
 
169
 
 
170
01/18/2008: wsfulton
 
171
            [C#] Add 'directorinattributes' and 'directoroutattributes' typemap attributes
 
172
            for the imtype typemap. These should contain C# attributes which will
 
173
            be generated into the C# director delegate methods.
 
174
 
 
175
01/18/2008: olly
 
176
            Fix handling of byte value 255 in input files on platforms where
 
177
            char is signed (it was getting mapped to EOF).  Fixes SF#1518219.
 
178
 
 
179
01/16/2008: wsfulton
 
180
            Fix template member variables wrapped by a smart pointer. Bug reported 
 
181
            by Robert Lupton.
 
182
 
 
183
01/14/2008: mgossage
 
184
            Substantial changes to configure script for detecting lua.
 
185
              Code can now link to liblua.a, liblua50.a or liblua51.a
 
186
              It's also a lot neater now.
 
187
 
 
188
12/16/2007: wsfulton
 
189
            [Perl] Backed out #1798728 - numbers can be passed to functions taking char *
 
190
 
 
191
12/16/2007: wsfulton
 
192
            Fix #1832613 - Templates and some typedefs involving pointers or function pointers
 
193
 
 
194
12/12/2007: wsfulton
 
195
            [Java] Fix #1632625 - Compilation errors on Visual C++ 6 when using directors.
 
196
 
 
197
12/12/2007: wsfulton
 
198
            [Perl] Fix #1798728 - numbers can be passed to functions taking char *.
 
199
 
 
200
12/12/2007: wsfulton
 
201
            Fix #1819847 %template with just one default template parameter 
 
202
 
 
203
              template<typename T = int> class Foo {...};
 
204
              %template(FooDefault) Foo<>;
 
205
 
 
206
12/12/2007: mgossage
 
207
            [Lua] Small correction on Lua.html
 
208
 
 
209
12/09/2007: wsfulton
 
210
            Apply patch #1838248 from Monty Taylor for vpath builds of SWIG.
 
211
 
 
212
12/08/2007: wsfulton
 
213
            [Lua] Fixes to remove gcc-4.2 warnings
 
214
 
 
215
12/06/2007: wsfulton
 
216
            Fix #1734415 - template template parameters with default arguments such as:
 
217
 
 
218
              template<typename t_item, template<typename> class t_alloc = pfc::alloc_fast >
 
219
                class list_t : public list_impl_t<t_item,pfc::array_t<t_item,t_alloc> > { ... };
 
220
 
 
221
12/04/2007: mgossage
 
222
            [lua] Fix a bug in the class hierachy code, where the methods were not propagated, 
 
223
            if the name ordering was in a certain order.
 
224
            Added new example programs (dual, embed) and runtime tests for test-suite.
 
225
 
 
226
11/30/2007: wsfulton
 
227
            Fix using statements using a base class method where the methods were overloaded.
 
228
            Depending on the order of the using statements and method declarations, these
 
229
            were previously generating uncompileable wrappers, eg:
 
230
 
 
231
              struct Derived : Base {
 
232
                virtual void funk();
 
233
                using Base::funk;
 
234
              };
 
235
 
 
236
Version 1.3.33 (November 23, 2007)
 
237
=================================
 
238
 
 
239
11/21/2007: mikel
 
240
            [allegrocl] omit private slot type info in the classes/types
 
241
            defined on the lisp side. Fix bug in mapping of C/++ types
 
242
            to lisp types. Fix typo in modules generated defpackage form.
 
243
            Have std::string *'s automatically marshalled between foreign
 
244
            and lisp strings.
 
245
        
 
246
11/20/2007: olly
 
247
            [Python] Fill in Python Dictionary functions list (patch from
 
248
            Jelmer Vernooij posted to swig-devel).
 
249
 
 
250
11/20/2007: beazley
 
251
            Fixed a bug in the C scanner related to backslash characters.
 
252
 
 
253
11/19/2007: wsfulton
 
254
            [Perl] Fix broken compilation of C++ wrappers on some compilers.
 
255
 
 
256
11/16/2007: olly
 
257
            [Python] Don't pass Py_ssize_t for a %d printf-like format as
 
258
            that's undefined behaviour when sizeof(Py_ssize_t) != sizeof(int).
 
259
 
5
260
Version 1.3.32 (November 15, 2007)
6
261
==================================
7
262