Imported Upstream version 2.6.1
[platform/upstream/libsigc++.git] / ChangeLog
1 2015-09-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2
3         sigc::trackable: Don't move the callback list
4
5         * sigc++/trackable.[h|cc]: Don't move the callback list.
6         * tests/test_trackable_move.cc: Remove a comment. Bug #755393.
7
8 2015-09-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
9
10         Recreate adaptors/lambda files necessary not to break ABI
11
12         * sigc++/adaptors/lambda/macros/base.h.m4:
13         * sigc++/adaptors/lambda/macros/lambda.cc.m4:
14         * sigc++/adaptors/lambda/macros/select.h.m4: Recreate these files.
15         * sigc++/Makefile.am:
16         * sigc++/filelist.am: Add the recreated lambda files.
17         Approximately a reversion of commit a259b4c7a1753dbc389ee467fa536339ec820223,
18         "Remove remaining parts of the sigc::lambda API."
19         Differences from an exact reversion: MSVC_Net files are not modified.
20         (Probably something ought to be changed in MSVC_Net2013.)
21         tests/Makefile.am is not modified-
22         is_base_and_derived<> is replaced by std::is_base_of<> in base.h.m4.
23         The extern declarations that were previously in select.h.m4 are moved to
24         lambda.cc.m4. Without them, sigc::_1 .. sigc::_7 are not included in
25         the .so file.
26         All code in the header files are inside #ifndef DOXYGEN_SHOULD_SKIP_THIS.
27         Bug #755550.
28
29 2015-09-21  Murray Cumming  <murrayc@murrayc.com>
30
31         2.6.0
32
33 2015-09-17  Murray Cumming  <murrayc@murrayc.com>
34
35         C++11: deduce_result_type: Simpifying, removing use of std::is_same().
36
37         See https://bugzilla.gnome.org/show_bug.cgi?id=753612#c9
38
39 2015-09-17  Marcin Kolny  <marcin.kolny@gmail.com>
40
41         C++11: deduce_result_type: build fix, using SFINAE paradigm.
42
43         Bug #753612
44
45 2015-09-17  Murray Cumming  <murrayc@murrayc.com>
46
47         C++11: deduce_result_type: Simplify with variadic template and std::conditional<>.
48
49         Bug #753612
50         However, the build then fails like so:
51
52         make[2]: Entering directory '/home/murrayc/checkout/gnome/libsigc++2/examples'
53         g++ -DHAVE_CONFIG_H   -I.. -I..  -pedantic -Wall -Wextra -Wshadow -Wformat-security -Werror -Wall -g -O0 -std=c++11 -MT hello_world.o -MD -MP -MF .deps/hello_world.Tpo -c -o hello_world.o hello_world.cc
54         In file included from ../sigc++/adaptors/adaptor_trait.h:10:0,
55         from ../sigc++/functors/slot.h:7,
56         from ../sigc++/signal_base.h:27,
57         from ../sigc++/signal.h:8,
58         from ../sigc++/sigc++.h:86,
59         from hello_world.cc:10:
60         ../sigc++/adaptors/deduce_result_type.h: In instantiation of ‘struct sigc::deduce_result_type<sigc::pointer_functor1<const std::basic_string<char>&, void>, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void, void, void, void, void, void>’:
61         ../sigc++/adaptors/deduce_result_type.h:60:80:   required by substitution of ‘template<class T_functor, class ... T_args> using deduce_result_t = typename sigc::deduce_result_type::type [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_args = {const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void, void, void, void, void, void}]’
62         ../sigc++/adaptors/adaptor_trait.h:67:104:   required from ‘struct sigc::adaptor_functor<sigc::pointer_functor1<const std::basic_string<char>&, void> >::deduce_result_type<const std::basic_string<char>&, void, void, void, void, void, void>’
63         ../sigc++/adaptors/adaptor_trait.h:88:3:   required by substitution of ‘template<class T_arg1> typename sigc::adaptor_functor<T_functor>::deduce_result_type<T_arg1>::type sigc::adaptor_functor<T_functor>::operator()(T_arg1) const [with T_arg1 = const std::basic_string<char>&]’
64         ../sigc++/functors/slot.h:137:20:   required from ‘static T_return sigc::internal::slot_call1<T_functor, T_return, T_arg1>::call_it(sigc::internal::slot_rep*, sigc::type_trait_take_t<T_arg3>) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::type_trait_take_t<T_arg3> = const std::basic_string<char>&]’
65         ../sigc++/functors/slot.h:144:37:   required from ‘static void* (* sigc::internal::slot_call1<T_functor, T_return, T_arg1>::address())(void*) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::internal::hook = void* (*)(void*)]’
66         ../sigc++/functors/slot.h:529:91:   required from ‘sigc::slot1<T_return, T_arg1>::slot1(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
67         ../sigc++/functors/slot.h:1161:26:   required from ‘sigc::slot<T_return, T_arg1, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::slot(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
68         hello_world.cc:25:50:   required from here
69         ../sigc++/adaptors/deduce_result_type.h:56:12: error: no class template named ‘deduce_result_type’ in ‘class sigc::pointer_functor1<const std::basic_string<char>&, void>’
70         >::type;
71         ^
72         In file included from ../sigc++/signal_base.h:27:0,
73         from ../sigc++/signal.h:8,
74         from ../sigc++/sigc++.h:86,
75         from hello_world.cc:10:
76         ../sigc++/functors/slot.h: In instantiation of ‘static T_return sigc::internal::slot_call1<T_functor, T_return, T_arg1>::call_it(sigc::internal::slot_rep*, sigc::type_trait_take_t<T_arg3>) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::type_trait_take_t<T_arg3> = const std::basic_string<char>&]’:
77         ../sigc++/functors/slot.h:144:37:   required from ‘static void* (* sigc::internal::slot_call1<T_functor, T_return, T_arg1>::address())(void*) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::internal::hook = void* (*)(void*)]’
78         ../sigc++/functors/slot.h:529:91:   required from ‘sigc::slot1<T_return, T_arg1>::slot1(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
79         ../sigc++/functors/slot.h:1161:26:   required from ‘sigc::slot<T_return, T_arg1, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::slot(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
80         hello_world.cc:25:50:   required from here
81         ../sigc++/functors/slot.h:137:20: error: no matching function for call to ‘sigc::adaptor_functor<sigc::pointer_functor1<const std::basic_string<char>&, void> >::operator()(const std::basic_string<char>&)’
82         (a_1);
83         ^
84         ../sigc++/functors/slot.h:137:20: note: candidates are:
85         In file included from ../sigc++/functors/slot.h:7:0,
86         from ../sigc++/signal_base.h:27,
87         from ../sigc++/signal.h:8,
88         from ../sigc++/sigc++.h:86,
89         from hello_world.cc:10:
90         ../sigc++/adaptors/adaptor_trait.h:88:3: note: template<class T_arg1> typename sigc::adaptor_functor<T_functor>::deduce_result_type<T_arg1>::type sigc::adaptor_functor<T_functor>::operator()(T_arg1) const [with T_arg1 = T_arg1; T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>]
91         operator()(T_arg1 _A_arg1) const
92         ^
93         ../sigc++/adaptors/adaptor_trait.h:88:3: note:   substitution of deduced template arguments resulted in errors seen above
94         ../sigc++/adaptors/adaptor_trait.h:107:3: note: template<class T_arg1, class T_arg2> typename sigc::adaptor_functor<T_functor>::deduce_result_type<T_arg1, T_arg2>::type sigc::adaptor_functor<T_functor>::operator()(T_arg1, T_arg2) const [with T_arg1 = T_arg1; T_arg2 = T_arg2; T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>]
95         operator()(T_arg1 _A_arg1, T_arg2 _A_arg2) const
96         ^
97         ../sigc++/adaptors/adaptor_trait.h:107:3: note:   template argument deduction/substitution failed:
98         In file included from ../sigc++/signal_base.h:27:0,
99         from ../sigc++/signal.h:8,
100         from ../sigc++/sigc++.h:86,
101         from hello_world.cc:10:
102         ../sigc++/functors/slot.h:137:20: note:   candidate expects 2 arguments, 1 provided
103         (a_1);
104         ^
105
106 2015-09-11  Chun-wei Fan  <fanchunwei@src.gnome.org>
107
108         MSVC Builds: Add "Install" Project
109
110         This makes building the -mm stack easier by copying the headers and the
111         built DLL, PDB and LIB files to a location where it can be picked up by
112         the gtkmm stack automatically, when they are extracted in a common
113         directory.  This is what is currently done with the GTK+ and Clutter
114         stacks for Visual Studio builds.
115
116 2015-09-09  Chun-wei Fan  <fanchunwei@src.gnome.org>
117
118         Update README on Visual Studio Builds
119
120         Since the Visual Studio project files and the related sources have been
121         updated to work with Visual Studio 2013, and that the test programs do
122         run well there, update the README file to let people know the situation.
123
124         https://bugzilla.gnome.org/show_bug.cgi?id=754082
125
126 2015-09-09  Chun-wei Fan  <fanchunwei@src.gnome.org>
127
128         sigc++config.h.in: Allow Build for MSVC 2013
129
130         MSVC 2013 does not have the C++-11 noexcept, so we need to define that to
131         _NOEXCEPT for MSVC 2013.  Plus, since by default MSVC 2013 does not allow
132         us to re-define keywords, though they may or may not be supported, we need
133         to use the _ALLOW_KEYWORD_MACROS macro to allow this to happen.
134
135         https://bugzilla.gnome.org/show_bug.cgi?id=754082
136
137 2015-09-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
138
139         Update source of web page
140
141         * docs/website/fragments/footer.html_fragment:
142         * docs/website/fragments/html_declaration.html_fragment:
143         * docs/website/devel.shtml:
144         * docs/website/doc.shtml:
145         * docs/website/index.shtml:
146         * docs/website/link.shtml:
147         * docs/website/stable.shtml: Fix or remove broken links. Remove the lists of
148         supported compilers. Mention that a C++11 compiler is required and that
149         support for lambdas has been removed. Bug #754082.
150
151 2015-09-07  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
152
153         Update .gitignore
154
155 2015-09-03  Murray Cumming  <murrayc@murrayc.com>
156
157         2.5.4
158
159 2015-09-03  Murray Cumming  <murrayc@murrayc.com>
160
161         Update tests/.gitignore
162
163 2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>
164
165         MSVC Builds: Use Windows Line Endings for .sln
166
167         The .sln files need to have Windows/DOS line endings to work properly so
168         that Windows can detect the Visual Studio version of the solution file.
169
170 2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>
171
172         MSVC Builds: Add Forgotten Files
173
174         The MSVC projects now use property sheets, but they were forgotten from
175         dist in the previous commits.  Dist them... sorry!
176
177 2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>
178
179         MSVC Builds: Remove MSVC 2005 and 2008 projects
180
181         They are now unable to build libsigc++ at all, so drop them.
182
183         https://bugzilla.gnome.org/show_bug.cgi?id=754082
184
185 2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>
186
187         MSVC Builds: Rename MSVC_Net2010/ to MSVC_Net2013/
188
189         Since libsigc++ now requires MSVC 2013 to build, the MSVC_Net2010 directory
190         needs to be renamed to MSVC_Net2013, so that people will not be confused on
191         what MSVC version is needed to build libsigc++.  Also remove MSVC_Net2005
192         and MSVC_Net2008 from the distribution, as they are no longer able to build
193         libsigc++.
194
195         https://bugzilla.gnome.org/show_bug.cgi?id=754082
196
197 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
198
199         signal_base, trackable: Make move operations noexcept.
200
201 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
202
203         Added test_signal_move.
204
205         This seems to work.
206
207 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
208
209         Added test_slot_move
210
211         This seems to do what it should, acting much like regular slot copying.
212
213 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
214
215         Add test_trackable_move.
216
217         It doesn't segfault, but I'm not sure it's doing what it should.
218         See the TODO.
219
220 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
221
222         trackable: move constructor: null the src.
223
224 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
225
226         trackable: move assignment operator: null the src.
227
228 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
229
230         C++11: signal_base: Add move operations.
231
232 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
233
234         trackable: Add missing operator=(&&) implementation.
235
236 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
237
238         trackable: Add move operations.
239
240         Also adding them to trackable_callback_list and makeing
241         trackable_callback_list noncopyable, which I think is intended.
242
243 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
244
245         C++11: slot*: Add move operations.
246
247 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
248
249         C++11 slot_base: Add move operations.
250
251         Improvements welcome.
252
253 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
254
255         slot_base::operator=(const &): Copy blocked_ too.
256
257         So, if we do
258         a = b;
259         then a will be blocked if b was blocked. Otherwise it depends on
260         whether a was blocked, which seems odd.
261
262         If this is not the intended behaviour then we need a comment about it
263         in operator=() and a test.
264
265 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
266
267         2.5.3
268
269 2015-08-31  Chun-wei Fan  <fanchunwei@src.gnome.org>
270
271         MSVC Projects: Overhaul The Projects
272
273         The former MSVC 2010 (2012) projects carried over quite a bit of cruft from
274         the Visual Studio 2003 days, and there are a number of items that could be
275         consolidated into ptoperty sheets, so it's time that the projects get a
276         clean up and overhaul.  This is not unlike what was done to the glibmm
277         projects some time ago.
278
279         Consolidate the projects all into MSVC_Net2010, without subdirectories, as
280         the property sheets will separate the object files of the various projects
281         into their own places.
282
283         This will also likely enable us to support MSVC 2015 in a more efficient
284         way.
285
286         Also, move the projects configs to MSVC 2013, as that is now the minimum
287         version of MSVC required to build sigc++.
288
289 2015-08-14  Murray Cumming  <murrayc@murrayc.com>
290
291         deduce_result_t: Add initial T_return template parameter.
292
293         To make it clearer that this is how to use it.
294
295 2015-08-14  Murray Cumming  <murrayc@murrayc.com>
296
297         tests: Use sigc::deduce_result_t<> instead of deduce_result_type<>::type.
298
299         This removes the last use of sigc::deduce_result_type<>, allowing
300         us to change the implementation of sigc::deduce_result_t more easily.
301
302 2015-08-14  Murray Cumming  <murrayc@murrayc.com>
303
304         exception_catch.h: Generate deduce_result_type for the void specializations too.
305
306         I guess this is correct and test_exception_catch still passes.
307         Without this, it's actually using, for instance:
308         sigc::deduce_result_type<T_arg1, T_Arg2>
309         even though sigc::deduce_result_type<> should really be called with a result type
310         first, like so:
311         sigc::deduce_result_type<T_return, T_arg1, T_Arg2>
312
313         Explicitly changing it to use
314         sigc::deduce_result_type<T_return, T_Arg1, T_Arg2>
315         or
316         sigc::deduce_result_type<T_Arg1, T_Arg2>
317         instead of just
318         deduce_result_type<T_Arg1, T_Arg2>
319         doesn't seem to break things either, probably out of luck,
320         but changing it to define a type that it actually seems to expect seems
321         cleaner, and makes it easier for us to change sigc::deduce_result_type.
322
323 2015-08-13  Murray Cumming  <murrayc@murrayc.com>
324
325         C++11: deduce_result_type.h: Add and use a deduce_result_t<> alias.
326
327         This simplifies the code a bit, by replacing use of this:
328         typename deduce_result_type<SomeType1, SomeType2>::type
329         with this:
330         deduce_result_t<SomeType1, SomeType2>
331
332         Note that the alias is a C++11 variadic template.
333         Bug #753580
334
335 2015-08-13  Murray Cumming  <murrayc@murrayc.com>
336
337         type_traits.h: Remove the unused type and pointer types.
338
339         These were apparently never used.
340         Bug #753580
341
342 2015-08-13  Murray Cumming  <murrayc@murrayc.com>
343
344         type_trait: Define and use type_trait_pass/take_t aliases.
345
346         This simplifies the code a bit, by replacing use of this:
347         typename type_trait<SomeType>::take
348         with this:
349         type_trait_take_t<SomeType>
350         Bug #753580
351
352 2015-08-13  Murray Cumming  <murrayc@murrayc.com>
353
354         2.5.2
355
356 2015-08-13  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
357
358         Remove the sigc++/object.h header
359
360         Because it now contains no API.
361         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
362
363 2015-08-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
364
365         Update sigc++/.gitignore
366
367 2015-08-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
368
369         Store sigc++/slot.h in git, don't generate it from m4
370
371         * sigc++/macros/slot.h.m4: Remove.
372         * sigc++/slot.h: New in git.
373         * sigc++/filelist.am: Replace sigc++/macros/slot.h.m4 by sigc++/slot.h.
374         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
375
376 2015-08-12  Murray Cumming  <murrayc@murrayc.com>
377
378         Remove the (generated) sigc++/hide.h header.
379
380         Because it now contains no API.
381         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
382
383         The generated sigc++/hide file did not include sigc++/adaptors/hide.h
384         so it did not exist as a convenience.
385
386 2015-08-12  Murray Cumming  <murrayc@murrayc.com>
387
388         Remove the (generated) sigc++/retype.h header.
389
390         Because it now contains no API.
391         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
392
393         sigc++/macros/retype_h.m4 did define some m4 macros but these were
394         not actually used. The generated sigc++/retype.h file did not
395         include sigc++/adaptors/retype.h so it did not exist as a convenience.
396
397 2015-08-12  Murray Cumming  <murrayc@murrayc.com>
398
399         Remove the (generated) sigc++/object_slot.h header.
400
401         Because it now contains no API.
402         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
403
404 2015-08-12  Murray Cumming  <murrayc@murrayc.com>
405
406         Remove the (generated) method_slot.h header.
407
408         Because it now contains no API.
409         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
410
411 2015-08-12  Murray Cumming  <murrayc@murrayc.com>
412
413         Remove the (generated) class_slot.h header.
414
415         Because it now contains no API.
416         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
417
418 2015-08-04  Chun-wei Fan  <fanchunwei@src.gnome.org>
419
420         Visual Studio Builds: Move 2010 Projects to 2012
421
422         Since the builds of the *mm stack are going to use C++11, this means that
423         we can't build libsigc++ with MSVC 2005~2010 anymore, so we need to update
424         the Visual Studio project files to version 2012 (11.0), so that we can
425         still support building with Visual Studio, as it does support enough of
426         C++11 features that is needed.
427
428         Also clean up a little bit by dropping some of the unneeded items from the
429         projects and solution files.
430
431         These project files are clearly going to need more cleanup, and we should
432         drop the MSVC_Net2005 and MSVC_Net2008 folders, and rename MSVC_Net2010 to
433         MSVC_Net2012, but this commit will ensure that libsigc++ is indeed still
434         buildable with Visual Studio, and we can support Visual Studio 2013 and
435         2015 in a more efficient manner.
436
437 2015-08-03  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
438
439         C++11: Replace deprecated std::auto_ptr by std::unique_ptr
440
441 2015-07-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
442
443         C++11: visit_each_type<>(): Another check for the same type
444
445         The rest of my suggested additions in bug 752560 comment 3.
446         The #include <type_traits> are necessary, if header files are included
447         one-by-one, and not via #include <sigc++/sigc++.h>.
448
449 2015-07-25  Murray Cumming  <murrayc@murrayc.com>
450
451         C++11: visit_each<>: Check for the same type as well as the base.
452
453         As suggested by Kjell Ahlstedt here:
454         https://bugzilla.gnome.org/show_bug.cgi?id=752560#c3
455
456         This fixes the test cases.
457
458 2015-07-25  Murray Cumming  <murrayc@murrayc.com>
459
460         C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>.
461
462         As suggested by Kjell's comment here:
463         https://git.gnome.org/browse/libsigc++2/commit/sigc++/type_traits.h?id=1e9f65c978be67da71f15231643d504e06a6af3f
464         This also removes sigc::is_base_and_derived<> which should cause
465         only a slight API change but no ABI change.
466
467         Bug #752560
468
469 2015-07-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
470
471         Update README, remove TODO
472
473         * README: Remove lambda from the list of directories.
474         Remove the list of compatible compilers. It has become obsolete now that
475         libsigc++ uses C++11 features.
476         * TODO: Remove. It's obsolete. TODO comments are now scattered in
477         the source code.
478
479 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
480
481         C++11: Use of range-based for loops.
482
483 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
484
485         C++11: More use of auto.
486
487 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
488
489         C++11: Use auto.
490
491         Trying to avoid using auto where its a specific type that we are
492         trying to test for.
493
494 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
495
496         Use -Wformat-security with --enable-warnings=fatal.
497
498         Because we use it in glibmm already. No code changes were necessary.
499
500 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
501
502         Use -Wshadow with --enable-warnings=fatal.
503
504 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
505
506         Revert "C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>."
507
508         This reverts commit bf89034e116d4d9eb761ceb4597c69f0f2b9c597.
509         I didn't meat to push that quite yet.
510
511 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
512
513         C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>.
514
515         As suggested by Kjell's comment here:
516         https://git.gnome.org/browse/libsigc++2/commit/sigc++/type_traits.h?id=1e9f65c978be67da71f15231643d504e06a6af3f
517         This also removes sigc::is_base_and_derived<> which should cause
518         only a slight API change but no ABI change.
519
520 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
521
522         C++11: Use of nullptr instead of 0.
523
524 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
525
526         2.5.1
527
528         2.5.1
529
530 2015-07-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
531
532         Require mm-common 0.9.8
533
534 2015-07-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
535
536         Remove remaining parts of the sigc::lambda documentation
537
538         * docs/index.html: Remove link to group__lambdas.html.
539         * sigc++/adaptors/macros/bind.h.m4:
540         * sigc++/adaptors/macros/compose.h.m4:
541         * sigc++/adaptors/macros/hide.h.m4: Remove talk of sigc::group().
542         * sigc++/.gitignore:
543         * tests/.gitignore: Remove files that are no longer generated. Bug #672555.
544
545 2015-07-17  Murray Cumming  <murrayc@murrayc.com>
546
547         Remove remaining parts of the sigc::lambda API.
548
549         The remaining API, defined in a .cc file, does not actually end up
550         being used by applications, so we can safely remove it.
551         See https://bugzilla.gnome.org/show_bug.cgi?id=672555#c21
552
553 2015-07-17  Murray Cumming  <murrayc@murrayc.com>
554
555         Remove deprecated sigc::lambda API that is only in headers.
556
557         So this is an API removal (of deprecated API) but not an ABI change.
558         The remaining deprecated API in the headers is needed by the definitions
559         in lambda.cc.m4.
560         Bug #672555
561
562 2015-07-14  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
563
564         C++11: Avoid the need for SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE
565
566         * sigc++/adaptors/lambda/macros/base.h.m4:
567         * sigc++/adaptors/lambda/macros/group.h.m4:
568         * sigc++/adaptors/macros/track_obj.h.m4:
569         * sigc++/macros/signal.h.m4: Remove all talk about
570         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
571         * sigc++/functors/slot_base.h: Mentioned that
572         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE is not needed any more.
573         * tests/test_cpp11_lambda.cc:
574         * tests/test_track_obj.cc: Remove calls to
575         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE and tests for C++11 capability.
576         * sigc++/functors/macros/functor_trait.h.m4: Add class
577         can_deduce_result_type_with_decltype<>. Use it as default value for the new
578         template parameter I_can_use_decltype in struct functor_trait<>.
579         Bug #672555.
580         Murray Cumming made the changes of all files except functor_trait.h.m4.
581
582 2015-07-14  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
583
584         Require C++11
585
586         * configure.ac: Use MM_AX_CXX_COMPILE_STDCXX_11 to check for compiler
587         support for C++11 and use it (--std=c++11 for current versions of
588         g++). Bug #672555.
589
590 2015-02-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
591
592         2.4.1
593
594 2015-02-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
595
596         Docs: Update for Doxygen 1.8.9
597
598         * docs/reference/Doxyfile.in: Update for Doxygen 1.8.9.
599
600 2014-10-23  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
601
602         Tests: Improve test_disconnect_during_emit
603
604         * tests/test_disconnect_during_emit.cc: Test that the slot is really
605         disconnected during signal emission.
606
607 2014-10-23  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
608
609         slot_base: Let the assignment operator destroy the slot
610
611         * sigc++/functors/slot_base.cc: slot_base's assignment operator shall
612         destroy the old slot_rep even if the assigned slot is empty. Bug #738602.
613
614 2014-09-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
615
616         2.4.0
617
618 2014-09-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
619
620         Docs: Use doxygen-extra.css
621
622         * configure.ac: Require mm-common 0.9.7.
623         * docs/.gitignore: Ignore doxygen-extra.css.
624         * docs/reference/Doxyfile.in: Use doxygen-extra.css instead of doxygen.css.
625
626 2014-09-11  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
627
628         doap: Add <description>
629
630 2014-08-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
631
632         test_lambda: Fix for MS Visual C++ 2013
633
634         * tests/test_lambda.cc: Don't rely on implicit conversion from std::ostream
635         to bool. Instead, hide a problematic slot return type with sigc::hide_return().
636         Bug #734368.
637
638 2014-08-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
639
640         Add an include in limit_reference.h
641
642         * sigc++/macros/limit_reference.h.m4: limit_reference.h must include
643         visit_each.h, with the primary definition of template struct visitor.
644         https://mail.gnome.org/archives/libsigc-list/2014-August/msg00001.html
645
646 2014-08-01  Andre Klapper  <a9016009@gmx.de>
647
648         doap: add <programming-language>
649
650 2014-08-01  Olav Vitters  <olav@vitters.nl>
651
652         doap: link tarball name and git module
653
654 2014-07-31  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
655
656         2.3.2
657
658 2014-07-31  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
659
660         Remove .gitattributes
661
662         * .gitattributes: Instructed git to use a custom merge function for
663         merging ChangeLog. Might have been useful, but it's not any more.
664
665 2014-07-30  Olav Vitters  <olav@vitters.nl>
666
667         doap category core
668
669 2014-07-29  Ryan Beasley  <rbeasley@vmware.com>
670
671         Tests: Enable C++11 lambda expressions with MS Visual Studio 2012 and later
672
673         * tests/test_cpp11_lambda.cc:
674         * tests/test_track_obj.cc: Compile C++11 lambda expressions if
675         _MSC_VER >= 1700. Bug #733752.
676
677 2014-07-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
678
679         Documentation: Emphasize that signals are ref counted
680
681         * sigc++/signal_base.h: Emphasize that a sigc::signal holds a pointer to
682         a ref counted signal_impl. Bug #611941.
683
684 2014-07-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
685
686         Add test_visit_each to MSVC_Net2010
687
688         * MSVC_Net2010/filelist.am: Add new project files.
689         * MSVC_Net2010/libsigc++2.sln: Add new project.
690         * MSVC_Net2010/tests/test_visit_each/: New test case. Bug #724496.
691
692 2014-07-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
693
694         Tests: Add test_visit_each
695
696         * tests/.gitignore:
697         * tests/Makefile.am: Add test_visit_each.
698         * tests/test_visit_each.cc: New file. Bug #724496.
699
700 2014-07-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
701
702         Replace visit_each() overloads by struct visitor<>
703
704         Note: This patch breaks API for some users, but it does not break ABI.
705         Only users who have added their own visit_each() overloads are affected by
706         the API break. Their programs will still compile, but there will be run-time
707         errors, if they rely on auto-disconnection of slots.
708         Updated instructions for users who implement their own adaptors are found in
709         the description of sigc::adapts<>.
710
711         * sigc++/adaptors/bound_argument.h:
712         * sigc++/adaptors/macros/adaptor_trait.h.m4:
713         * sigc++/adaptors/macros/bind.h.m4:
714         * sigc++/adaptors/macros/bind_return.h.m4:
715         * sigc++/adaptors/macros/compose.h.m4:
716         * sigc++/adaptors/macros/exception_catch.h.m4:
717         * sigc++/adaptors/macros/hide.h.m4:
718         * sigc++/adaptors/macros/retype.h.m4:
719         * sigc++/adaptors/macros/retype_return.h.m4:
720         * sigc++/adaptors/macros/track_obj.h.m4:
721         * sigc++/adaptors/lambda/macros/base.h.m4:
722         * sigc++/adaptors/lambda/macros/group.h.m4:
723         * sigc++/adaptors/lambda/macros/operator.h.m4:
724         * sigc++/functors/macros/mem_fun.h.m4:
725         * sigc++/macros/limit_reference.h.m4:
726         * sigc++/visit_each.h: Replace overloads of visit_each<>() by
727         specializations of struct visitor<> with a specialized member function
728         do_visit_each<>(). Qualify all calls to visit_each() with sigc:: to avoid
729         argument-dependent lookup.
730         * sigc++/functors/macros/slot.h.m4: Qualify the calls to visit_each_type()
731         with sigc:: to avoid argument-dependent lookup.
732         * tests/test_functor_trait.cc: Fix the expected result now when the test
733         really works.
734         Thanks to Ryan Beasley <rbeasley@vmware.com>, bug #724496.
735
736 2014-07-25  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
737
738         signal_impl::notify(): Don't delete signal_impl during erase()
739
740         * sigc++/signal_base.cc: signal_impl::notify() and sweep(): Don't delete
741         signal_impl while its slot list is being manipulated. Without this fix,
742         tests/test_bind_refptr crashes in MS Visual C++ in debug mode.
743         The behaviour without the fix is risky, and shall be avoided. Bug #564005.
744
745 2014-07-24  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
746
747         Update the signal_impl::notify() documentation
748
749         * sigc++/signal_base.h: Update the signal_impl::notify() documentation.
750         It should have been updated when notify() was updated. Bug #167714.
751
752 2014-07-24  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
753
754         Add a maintainer in the DOAP file
755
756 2014-07-18  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
757
758         Update MSVC_Net2010
759
760         * MSVC_Net2010/filelist.am: Add new project files.
761         * MSVC_Net2010/libsigc++2.sln: Add new projects.
762         * MSVC_Net2010/libsigc++2.vcxproj.filters:
763         * MSVC_Net2010/libsigc++2.vcxproj: Update the list of header files.
764         * MSVC_Net2010/tests/test_*/test_*.vcxproj.filters:
765         * MSVC_Net2010/tests/test_*/test_*.vcxproj: Add testutilities.[h|cc].
766         * MSVC_Net2010/tests/test_accum_iter/:
767         * MSVC_Net2010/tests/test_bind_ref/:
768         * MSVC_Net2010/tests/test_bind_refptr/:
769         * MSVC_Net2010/tests/test_copy_invalid_slot/:
770         * MSVC_Net2010/tests/test_cpp11_lambda/:
771         * MSVC_Net2010/tests/test_custom/:
772         * MSVC_Net2010/tests/test_lambda/:
773         * MSVC_Net2010/tests/test_limit_reference/:
774         * MSVC_Net2010/tests/test_slot_disconnect/:
775         * MSVC_Net2010/tests/test_track_obj/: New test case projects. Bug #724496.
776
777 2014-07-14  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
778
779         Fix 'make check' with clang++ and --enable-warnings=fatal
780
781         * tests/test_cpp11_lambda.cc:
782         * tests/test_deduce_result_type.cc:
783         * tests/test_track_obj.cc: Don't define functions which are not used.
784         The clang++ compiler considers unused functions an error, when libsigc++ is
785         configured with --enable-warnings=fatal. Bug #724496.
786
787 2013-10-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
788
789         Documentation: Talk less about std::function
790
791         * sigc++/functors/macros/slot.h.m4:
792         * sigc++/functors/slot_base.h: Remove the examples with std::function.
793         Add an example with a C++11 lambda expression.
794         https://mail.gnome.org/archives/libsigc-list/2013-October/msg00003.html
795
796 2013-10-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
797
798         Update .gitignore files
799
800         * build/.gitignore:
801         * tests/.gitignore: Ignore files generated by automake 1.13 and 'make check'.
802
803 2013-10-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
804
805         Documentation: Mention std::function and std::bind() in more comments
806
807         * sigc++/functors/macros/functor_trait.h.m4: Mention that
808         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE does not support functors
809         with overloaded operator()().
810         * sigc++/adaptors/macros/track_obj.h.m4:
811         * sigc++/functors/macros/slot.h.m4:
812         * sigc++/functors/slot_base.h:
813         * sigc++/signal_base.h: Mention std::function as an alternative to
814         sigc::slot.
815         * sigc++/macros/signal.h.m4: connect(): Describe why the result of
816         std::bind() can't be connected directly to a signal.
817
818 2013-10-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
819
820         Fix test_cpp11_lambda for gcc 4.8
821
822         * tests/test_cpp11_lambda.cc: Remove an unneccesary std::ref().
823         Show that std::bind() can be assigned to a slot, if it's combined with
824         std::function.
825
826 2013-07-30  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
827
828         signal_base, signal_impl: Speed up disconnection of slots.
829
830         * sigc++/signal_base.cc: Tell signal_impl::notify() which slot is being
831         disconnected. Execution time is then usually O(1) instead of O(n), where n
832         is the size of the slot list. Disconnect all connected slots when a signal is
833         deleted. Disconnect slots before they are erased from a signal's slot list.
834         Bug #167714.
835
836 2013-07-03  José Alburquerque  <jaalburquerque@gmail.com>
837
838         Move to a generated ChangeLog.
839
840 2013-07-02  José Alburquerque  <jaalburquerque@gmail.com>
841
842         Auto-generate the ChangeLog from the git log for 'make dist'.
843
844         * Makefile.am: Include the dist-changelog.am file copied in build/
845         from mm-common so that the ChangeLog is automatically generated from
846         the git commit messages on 'make dist'.
847
848 2013-05-01  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
849
850         Don't use __file__ in the FIREWALL m4 macro.
851
852         * sigc++/adaptors/lambda/macros/group.h.m4:
853         * sigc++/adaptors/macros/*.h.m4:
854         * sigc++/functors/macros/*.h.m4:
855         * sigc++/macros/class_slot.h.m4:
856         * sigc++/macros/hide.h.m4:
857         * sigc++/macros/limit_reference.h.m4:
858         * sigc++/macros/method_slot.h.m4:
859         * sigc++/macros/retype.h.m4:
860         * sigc++/macros/slot.h.m4: Replace __FIREWALL__ with _FIREWALL(filename).
861         * sigc++/macros/template.macros.m4: Replace __FIREWALL__ with _FIREWALL,
862         taking a parameter. Don't use __file__ to generate the name of the C++
863         preprocessor macro. __file__ may expand to an absolute path, containing
864         almost all sorts of special characters and being excessively long.
865         Bug #699168.
866
867 2013-04-11  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
868
869         Use DOXYGEN_SHOULD_SKIP_THIS consistently.
870
871         * docs/reference/Doxyfile.in: EXTRACT_ALL=YES, like in most mm packages.
872         * sigc++/sigc++.h: Mention that the reference manual contains only some of
873         the template specializations.
874         * sigc++/adaptors/bound_argument.h:
875         * sigc++/adaptors/lambda/macros/base.h.m4:
876         * sigc++/adaptors/lambda/macros/group.h.m4:
877         * sigc++/adaptors/macros/adaptor_trait.h.m4:
878         * sigc++/adaptors/macros/bind.h.m4:
879         * sigc++/adaptors/macros/bind_return.h.m4:
880         * sigc++/adaptors/macros/compose.h.m4:
881         * sigc++/adaptors/macros/deduce_result_type.h.m4:
882         * sigc++/adaptors/macros/exception_catch.h.m4:
883         * sigc++/adaptors/macros/hide.h.m4:
884         * sigc++/adaptors/macros/retype.h.m4:
885         * sigc++/adaptors/macros/retype_return.h.m4:
886         * sigc++/adaptors/macros/track_obj.h.m4:
887         * sigc++/functors/macros/functor_trait.h.m4:
888         * sigc++/functors/macros/mem_fun.h.m4:
889         * sigc++/macros/limit_reference.h.m4:
890         * sigc++/type_traits.h:
891         * sigc++/visit_each.h: Use DOXYGEN_SHOULD_SKIP_THIS to mark what Doxygen
892         shall not extract.
893
894 2013-03-20  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
895
896         Suppress erroneous links in documentation.
897
898         * sigc++/adaptors/lambda/macros/base.h.m4:
899         * sigc++/adaptors/lambda/macros/group.h.m4:
900         * sigc++/adaptors/lambda/macros/select.h.m4: Doxygen links std::bind to
901         sigc::bind. Suppress these links. No link is better than the wrong link.
902
903 2013-03-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
904
905         Deprecate libsigc++ lambdas, sigc::group(), sigc::var().
906
907         * configure.ac: Add MM_ARG_DISABLE_DEPRECATED_API(SIGCXX).
908         * sigc++/adaptors/lambda/macros/base.h.m4:
909         * sigc++/adaptors/lambda/macros/group.h.m4:
910         * sigc++/adaptors/lambda/macros/lambda.cc.m4:
911         * sigc++/adaptors/lambda/macros/operator.h.m4:
912         * sigc++/adaptors/lambda/macros/select.h.m4: Deprecate everything.
913         * sigc++/macros/template.macros.m4: Add deprecation macros.
914         * sigc++config.h.in: Add #undef SIGCXX_DISABLE_DEPRECATED.
915         * tests/test_lambda.cc: Skip test if SIGCXX_DISABLE_DEPRECATED is defined.
916         Bug #672555.
917
918 2013-02-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
919
920         Add track_obj() and test_track_obj.
921
922         * sigc++/.gitignore: Add adaptors/track_obj.h.
923         * sigc++/adaptors/adaptors.h: Add sigc++/adaptors/track_obj.h.
924         * sigc++/adaptors/lambda/macros/group.h.m4:
925         * sigc++/adaptors/macros/adaptor_trait.h.m4: Mention track_obj() in the
926         documentation.
927         * sigc++/adaptors/macros/track_obj.h.m4: New file.
928         * sigc++/filelist.am: Add track_obj.h.m4 and track_obj.h.
929         * tests/.gitignore:
930         * tests/Makefile.am: Add test_track_obj.
931         * tests/test_cpp11_lambda.cc: Use track_obj() to test auto-disconnection.
932         * tests/test_track_obj.cc: New test case.
933         Bug #672555.
934
935 2013-01-07  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
936
937         Documentation: Fix many warnings from Doxygen.
938
939         * configure.ac: Require mm-common 0.9.6 or later.
940         * docs/reference/Doxyfile.in: Don't warn for undocumented classes and structs.
941         * sigc++/adaptors/macros/bind.h.m4:
942         * sigc++/adaptors/macros/bind_return.h.m4:
943         * sigc++/adaptors/macros/compose.h.m4:
944         * sigc++/adaptors/macros/hide.h.m4:
945         * sigc++/connection.h:
946         * sigc++/macros/limit_reference.h.m4: Make all parameter names in @param
947         commands equal to the corresponding names in the function declarations.
948         * sigc++/signal_base.h: Remove an extraneous period that confuses Doxygen.
949         * sigc++/type_traits.h: Add a missing @code/@endcode pair.
950
951 2012-10-18  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
952
953         Test cases: Report pass/fail with exit status.
954
955         * tests/testutilities.[h|cc]: New files. Code common to all test cases.
956         * tests/*.cc: Use class TestUtilities. Don't print anything
957         if the test passes. Return EXIT_FAILURE if the test fails.
958         * tests/Makefile.am: Add testutilities.[h|cc] to all test cases.
959         Bug #684956.
960
961 2012-10-18  Murray Cumming  <murrayc@murrayc.com>
962
963         2.3.1
964
965 2012-10-18  Murray Cumming  <murrayc@murrayc.com>
966
967         Update the Doxyfile.in syntax.
968
969         * docs/reference/Doxyfile.in: By running doxygen -u
970         on it.
971
972 2012-10-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
973
974         Add some missing newin{}.
975
976         * docs/reference/Doxyfile.in: Add ALIASES newin.
977         * sigc++/functors/macros/functor_trait.h.m4: Add newin{2,2,11} to
978         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
979         * sigc++/signal_base.h: Add newin{2,4} to signal_impl::blocked(), block() and
980         signal_base::blocked(), block(), unblock(). Bug #153780.
981
982 2012-10-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
983
984         signal_base: Add blocked(), block(), unblock().
985
986         * sigc++/signal_base.[h|cc]: Add signal_impl::blocked(), block() and
987         signal_base::blocked(), block(), unblock(). Bug #153780.
988
989 2012-09-23  Murray Cumming  <murrayc@murrayc.com>
990
991         2.2.11
992
993 2012-09-20  Andris Pavenis  <andris.pavenis@iki.fi>
994
995         Fix comma operator in lambda expressions.
996
997         * sigc++/adaptors/lambda/macros/operator.h.m4: Add lambda_action<>
998         specialization for comma operator (operator,()).
999         * tests/test_cpp11_lambda.cc:
1000         * tests/test_lambda.cc: Add a test case for the comma operator. Bug #342911.
1001
1002 2012-09-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1003
1004         Add SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
1005
1006         * sigc++/adaptors/lambda/macros/base.h.m4:
1007         * sigc++/adaptors/lambda/macros/group.h.m4:
1008         * sigc++/functors/macros/functor_trait.h.m4:
1009         * tests/test_cpp11_lambda.cc: Replace the preprocessor macro
1010         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH(C_keyword) with
1011         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE. Bug #672555.
1012
1013 2012-09-10  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1014
1015         Correct a bug number in ChangeLog.
1016
1017 2012-09-10  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1018
1019         Use std::size_t and std::ptrdiff_t.
1020
1021         * sigc++/macros/signal.h.m4: Use std::size_t and std::ptrdiff_t instead
1022         of ::size_t and ::ptrdiff_t. Only the std versions are required to be
1023         declared in <cstddef>.
1024         * sigc++/signal_base.h: Use std::size_t instead of ::size_t. (I did not change
1025         MSVC++-only code in this file and other files.)
1026
1027 2012-09-07  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1028
1029         Fix 'make check' with gcc 4.7.
1030
1031         * sigc++/adaptors/lambda/macros/base.h.m4: Define sigc::unwrap_lambda_value()
1032         before it's used in sigc::lambda::operator[]() and operator=().
1033         * sigc++/adaptors/lambda/macros/group.h.m4: Fix the C++11 examples in the
1034         documentation as in test_cpp11_lambda.cc.
1035         * tests/test_cpp11_lambda.cc: Only variables with automatic storage duration
1036         shall be captured in C++11 lambda expressions.
1037
1038 2012-08-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1039
1040         Update .gitignore and tests/.gitignore
1041
1042         * .gitignore: Add *~ (gedit's backup files).
1043         * tests/.gitignore: Add missing executable test files.
1044
1045 2012-08-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1046
1047         Add SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH for C++11 lambda expressions.
1048
1049         * sigc++/functors/macros/functor_trait.h.m4: Add the preprocessor macro
1050         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH(C_keyword), which makes it possible to
1051         assign C++11 lambda expressions with any return type to slots.
1052         Thanks to Chow Loong Jin, who posted similar code on libsigc-list.
1053         * sigc++/adaptors/lambda/macros/base.h.m4:
1054         * sigc++/adaptors/lambda/macros/group.h.m4: Add information on C++11 lambda
1055         expressions to the documentation of lambda expressions and sigc::group().
1056         * tests/Makefile.am: Add test_cpp11_lambda.cc.
1057         * tests/test_cpp11_lambda.cc: New test case, showing that most uses of
1058         libsigc++'s lambda expressions can be replaced by standard C++11 lambda
1059         expressions. Bug #672555.
1060
1061 2012-03-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1062
1063         Enable test_lambda in 'make check'.
1064
1065         * tests/Makefile.am: Enable test_lambda in 'make check'.
1066         * tests/test_lambda.cc: Comment out the tests with sigc::ref() in lambda
1067         functions' parameter lists. See Bug #669128.
1068
1069 2012-02-29  Andre Klapper  <ak-47@gmx.net>
1070
1071         Add missing bug-database entry to DOAP file
1072
1073 2011-09-22  Krzesimir Nowak  <qdlacz@gmail.com>
1074
1075         Don't use obsolete macros.
1076
1077         * autogen.sh: Warn about everything during autoreconf.
1078         * build/cxx.m4:
1079         * build/cxx_std.m4: Replaced AC_TRY_COMPILE with AC_COMPILE_IFELSE.
1080         * configure.ac: Use LT_INIT.
1081
1082 2011-07-25  Murray Cumming  <murrayc@murrayc.com>
1083
1084         2.2.10
1085
1086 2011-07-21  Thomas Rydzynski  <qsorix@rydznet.pl>
1087
1088         Mention visit_each() in the documentation of sigc::adapts.
1089
1090         * sigc++/adaptors/macros/adaptor_trait.h.m4: Mention that a user-supplied
1091         adaptor must be accompanied by a specialization of template function
1092         visit_each(). Correct some minor errors in the example of a user-supplied
1093         adaptor. Bug #486373.
1094
1095 2011-07-20  Murray Cumming  <murrayc@murrayc.com>
1096
1097         Missing changes from the previous commit.
1098
1099 2011-07-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1100
1101         Add a test case for the previous commit.
1102
1103         * tests/Makefile.am:
1104         * tests/test_bind_refptr.cc: A version of this test is also in glibmm.
1105         Note that this includes a copy/paste of RefPtr.
1106         See Bug #564005#14
1107
1108 2011-07-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1109
1110         slot_rep: Avoid access to deleted object in notify().
1111
1112         * sigc++/functors/slot_base.cc: slot_rep::notify() calls disconnect() before
1113         destroy(). If disconnect() has deleted the slot_rep object, destroy() is not
1114         called. Bug #564005.
1115
1116 2011-05-24  Olav Vitters  <olav@vitters.nl>
1117
1118         Use tar-ustar instead of tar-pax to ensure OpenBSD compatibility
1119
1120 2011-03-08  Murray Cumming  <murrayc@murrayc.com>
1121
1122         2.2.9
1123
1124 2011-02-22  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1125
1126         trackable: Avoid calling the same callback function twice
1127
1128         * sigc++/trackable.cc: Invalidate a callback function entry in
1129         trackable_callback_list::remove_callback() when the list is being cleared.
1130         Bug 589202.
1131
1132 2011-02-04  Kalev Lember  <kalev@smartlink.ee>
1133
1134         Fix the build with GCC 4.6
1135
1136         * sigc++/signal_base.h: Include <cstddef> for size_t.
1137
1138 2010-10-12  David King  <davidk@openismus.com>
1139
1140         Update .gitignore and tests/.gitignore
1141
1142 2010-10-12  David King  <davidk@openismus.com>
1143
1144         Documentation changes
1145
1146         * *.h.m4: Minor changes to documentation to fix up code example
1147         formatting, by removing the additional two spaces of indentation.
1148         Additionally, fix some spelling and grammar mistakes and typos.
1149
1150 2010-09-26  Armin Burgmeier  <armin@arbur.net>
1151
1152         Add support for 64 bit to MSVC project files
1153
1154 2010-09-27  Armin Burgmeier  <armin@arbur.net>
1155
1156         * MSVC_Net2005/libsigc++2.sln:
1157         * MSVC_Net2005/libsigc++2.vcproj:
1158         * MSVC_Net2005/tests/test_accumulated/test_accumulated.vcproj:
1159         * MSVC_Net2005/tests/test_bind/test_bind.vcproj:
1160         * MSVC_Net2005/tests/test_bind_return/test_bind_return.vcproj:
1161         * MSVC_Net2005/tests/test_compose/test_compose.vcproj:
1162         * MSVC_Net2005/tests/test_deduce_result_type/test_deduce_result_type.vcproj:
1163         * MSVC_Net2005/tests/test_disconnect/test_disconnect.vcproj:
1164         * MSVC_Net2005/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj:
1165         * MSVC_Net2005/tests/test_exception_catch/test_exception_catch.vcproj:
1166         * MSVC_Net2005/tests/test_functor_trait/test_functor_trait.vcproj:
1167         * MSVC_Net2005/tests/test_hide/test_hide.vcproj:
1168         * MSVC_Net2005/tests/test_mem_fun/test_mem_fun.vcproj:
1169         * MSVC_Net2005/tests/test_ptr_fun/test_ptr_fun.vcproj:
1170         * MSVC_Net2005/tests/test_retype/test_retype.vcproj:
1171         * MSVC_Net2005/tests/test_retype_return/test_retype_return.vcproj:
1172         * MSVC_Net2005/tests/test_signal/test_signal.vcproj:
1173         * MSVC_Net2005/tests/test_size/test_size.vcproj:
1174         * MSVC_Net2005/tests/test_slot/test_slot.vcproj:
1175         * MSVC_Net2005/tests/test_trackable/test_trackable.vcproj:
1176         * MSVC_Net2008/libsigc++2.sln:
1177         * MSVC_Net2008/libsigc++2.vcproj:
1178         * MSVC_Net2008/tests/test_accumulated/test_accumulated.vcproj:
1179         * MSVC_Net2008/tests/test_bind/test_bind.vcproj:
1180         * MSVC_Net2008/tests/test_bind_return/test_bind_return.vcproj:
1181         * MSVC_Net2008/tests/test_compose/test_compose.vcproj:
1182         * MSVC_Net2008/tests/test_deduce_result_type/test_deduce_result_type.vcproj:
1183         * MSVC_Net2008/tests/test_disconnect/test_disconnect.vcproj:
1184         * MSVC_Net2008/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj:
1185         * MSVC_Net2008/tests/test_exception_catch/test_exception_catch.vcproj:
1186         * MSVC_Net2008/tests/test_functor_trait/test_functor_trait.vcproj:
1187         * MSVC_Net2008/tests/test_hide/test_hide.vcproj:
1188         * MSVC_Net2008/tests/test_mem_fun/test_mem_fun.vcproj:
1189         * MSVC_Net2008/tests/test_ptr_fun/test_ptr_fun.vcproj:
1190         * MSVC_Net2008/tests/test_retype/test_retype.vcproj:
1191         * MSVC_Net2008/tests/test_retype_return/test_retype_return.vcproj:
1192         * MSVC_Net2008/tests/test_signal/test_signal.vcproj:
1193         * MSVC_Net2008/tests/test_size/test_size.vcproj:
1194         * MSVC_Net2008/tests/test_slot/test_slot.vcproj:
1195         * MSVC_Net2008/tests/test_trackable/test_trackable.vcproj:
1196         * MSVC_Net2010/libsigc++2.vcxproj:
1197         * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj:
1198         * MSVC_Net2010/tests/test_bind/test_bind.vcxproj:
1199         * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj:
1200         * MSVC_Net2010/tests/test_compose/test_compose.vcxproj:
1201         * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj:
1202         * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj:
1203         * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj:
1204
1205 2010-09-26  Armin Burgmeier  <armin@arbur.net>
1206
1207         Add test_accumulated to the MSVC projects
1208
1209 2010-09-27  Armin Burgmeier  <armin@arbur.net>
1210
1211         * MSVC_Net2005/libsigc++2.sln:
1212         * MSVC_Net2005/tests/test_accumulated/test_accumulated.vcproj:
1213         * MSVC_Net2008/libsigc++2.sln:
1214         * MSVC_Net2008/tests/test_accumulated/test_accumulated.vcproj: Add
1215         test_accumulated to the MSVC projects.
1216
1217 2010-09-20  Armin Burgmeier  <armin@arbur.net>
1218
1219         Added MSVC 2010 project files
1220
1221 2010-09-19  Armin Burgmeier  <armin@arbur.net>
1222
1223         * MSVC_Net2010/filelist.am:
1224         * MSVC_Net2010/libsigc++2.sln:
1225         * MSVC_Net2010/libsigc++2.vcxproj:
1226         * MSVC_Net2010/libsigc++2.vcxproj.filters:
1227         * MSVC_Net2010/sigc.rc.in:
1228         * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj:
1229         * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj.filters:
1230         * MSVC_Net2010/tests/test_bind/test_bind.vcxproj:
1231         * MSVC_Net2010/tests/test_bind/test_bind.vcxproj.filters:
1232         * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj:
1233         * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj.filters:
1234         * MSVC_Net2010/tests/test_compose/test_compose.vcxproj:
1235         * MSVC_Net2010/tests/test_compose/test_compose.vcxproj.filters:
1236         * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj:
1237         * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj.filters:
1238         * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj:
1239         * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj.filters:
1240         * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj:
1241         * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj.filters:
1242         * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj:
1243         * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj.filters:
1244         * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj:
1245         * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj.filters:
1246         * MSVC_Net2010/tests/test_hide/test_hide.vcxproj:
1247         * MSVC_Net2010/tests/test_hide/test_hide.vcxproj.filters:
1248         * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj:
1249         * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj.filters:
1250         * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj:
1251         * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj.filters:
1252         * MSVC_Net2010/tests/test_retype/test_retype.vcxproj:
1253         * MSVC_Net2010/tests/test_retype/test_retype.vcxproj.filters:
1254         * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj:
1255         * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj.filters:
1256         * MSVC_Net2010/tests/test_signal/test_signal.vcxproj:
1257         * MSVC_Net2010/tests/test_signal/test_signal.vcxproj.filters:
1258         * MSVC_Net2010/tests/test_size/test_size.vcxproj:
1259         * MSVC_Net2010/tests/test_size/test_size.vcxproj.filters:
1260         * MSVC_Net2010/tests/test_slot/test_slot.vcxproj:
1261         * MSVC_Net2010/tests/test_slot/test_slot.vcxproj.filters:
1262         * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj:
1263         * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj.filters:
1264
1265         * Makefile.am:
1266         * configure.ac: Added project files for Visual Studio 2010.
1267
1268 2010-06-05  David King  <davidk@openismus.com>
1269
1270         Small website updates
1271
1272         * docs/index.html: Remove broken namespace links.
1273         * docs/website/doc.shtml: Link to library.gnome.org tutorial and API
1274         reference.
1275
1276 2010-06-04  Murray Cumming  <murrayc@murrayc.com>
1277
1278         2.2.8
1279
1280 2010-06-04  Murray Cumming  <murrayc@murrayc.com>
1281
1282         Manual: Add an id=index attribute in case that helps library.gnome.org.
1283
1284         * docs/manual/libsigc_manual.xml: Add it to the <book> tag.
1285
1286 2010-05-04  Murray Cumming  <murrayc@murrayc.com>
1287
1288         2.2.7
1289
1290 2010-05-04  Murray Cumming  <murrayc@murrayc.com>
1291
1292         Documentation improvements.
1293
1294         * docs/manual/libsigc_manual.xml: Remove Marshallers section because
1295         it is apparently outdated and there is no example code to test it.
1296         This fixes bug #417924 (Michael Ekstrand)
1297         Also changed LibSigC++ to libsigc++ for consistency.
1298         * sigc++/sigc++.h: Main page text: Rearranged slightly.
1299
1300 2010-04-27  David King  <davidk@openismus.com>
1301
1302         Improvements to main page documentation
1303
1304         * sigc++/sigc++.h: Minor improvements.
1305
1306 2010-04-23  David King  <davidk@openismus.com>
1307
1308         Add main page to Doxygen documentation
1309
1310         * docs/Makefile.am: Parse sigc++/sigc++.h for documentation.
1311         * sigc++/sigc++.h: Add main page to Doxygen documentation.
1312
1313 2010-04-23  David King  <davidk@openismus.com>
1314
1315         Fix the functors Doxygen group in the m4 files
1316
1317         * sigc++/functors/macros/functor_trait.h.m4:
1318         * sigc++/functors/macros/mem_fun.h.m4:
1319         * sigc++/functors/macros/ptr_fun.h.m4: Rename functors to
1320         sigcfunctors.
1321
1322 2010-04-16  Murray Cumming  <murrayc@murrayc.com>
1323
1324         2.2.6
1325
1326 2010-04-16  Murray Cumming  <murrayc@murrayc.com>
1327
1328         Docs: Fix the functors group and the link from the overview.
1329
1330         * docs/website/doc.shtml: Revert this to point to the overview page at
1331         docs/indeex.html, which I have manually uploaded to the website, until
1332         we add this overview to the doxygen-generated documentation itself.
1333         * sigc++/functors/slot_base.h:
1334         * sigc++/visit_each.h: Rename the functors doxygen group to sigcfunctors,
1335         because doxygen seems to confuse it with the one in libstdc++.
1336         * docs/index.html: Update the links.
1337
1338 2010-04-16  Murray Cumming  <murrayc@murrayc.com>
1339
1340         Website: Fix the Makefile so upload works with sourceforge again.
1341
1342 2010-04-06  Murray Cumming  <murrayc@murrayc.com>
1343
1344         Website: Update the reference API link.
1345
1346         * docs/website/doc.shtml: Update the reference API link to use
1347         library.gnome.org. We should make sure that the tutorial docbook is there
1348         too.
1349         * docs/website/devel.shtml: Remove CVS-specific instructions, quickly
1350         mentioning the git module instead.
1351         However, the Makefile must be updated to cope with sourceforge's changes.
1352         I was not able to upload this yet.
1353
1354 2010-03-29  Murray Cumming  <murrayc@murrayc.com>
1355
1356         2.2.5
1357
1358 2010-01-06  Daniel Elstner  <daniel.kitta@gmail.com>
1359
1360         Use non-blurry font for dot graph labels
1361
1362         * docs/reference/Doxyfile.in (SHOW_INCLUDE_FILES): Enable.
1363         (SHOW_USED_FILES): Disable.
1364         (DOT_FONTNAME): Change from FreeSans to Sans, as the hinting for the
1365         former appears to be rather bad.
1366         (TEMPLATE_RELATIONS): Disable to reduce noise.
1367
1368 2009-12-29  Murray Cumming  <murrayc@murrayc.com>
1369
1370         Accumulators: Allow return types that are different to the signal's.
1371
1372         * sigc++/macros/signal.h.m4: signal_emit*: Correct the slot_iterator_buf_type
1373         and slot_reverse_iterator_buf_type typedefs to allow accumulators with
1374         return types that are different to the signal's return type.
1375         * tests/Makefile.am: Reenable test_accumulated, so we can test the fix.
1376         It should be manually disabled if building on AIX (if the AIX problem cannot
1377         be fixed properly).
1378         * tests/test_accumulated.cc: Add an accumulator with a return type that is
1379         different to the signal's return type. In this case it's a vector listing
1380         all results.
1381         Bug #586436.
1382
1383 2009-12-27  Daniel Elstner  <daniel.kitta@gmail.com>
1384
1385         Disable collaboration graphs in documentation
1386
1387         * docs/reference/Doxyfile.in (CLASS_DIAGRAMS): Enable.  Contrary to
1388         what the Doxygen documentation says, no dot class inheritance graphs
1389         will be generated if both CLASS_DIAGRAMS and COLLABORATION_GRAPH are
1390         set to NO.
1391         (COLLABORATION_GRAPH), (GROUP_GRAPHS): Turn off additional graphs to
1392         reduce the noise.
1393
1394 2009-10-26  Armin Burgmeier  <armin@arbur.net>
1395
1396         Fix build with MSVC
1397
1398 2009-10-26  Armin Burgmeier  <armin@arbur.net>
1399
1400         * sigc++config.h: Move the first five definitions to the !SIGC_MSC
1401         ifdef block, so MSVC does not see them and only uses the definitions
1402         from the SIGC_MSC block. This fixes the build with MSVC.
1403
1404 2009-09-19  Daniel Elstner  <daniel.kitta@gmail.com>
1405
1406         Support Automake silent rules
1407
1408         * configure.ac: Call the AM_SILENT_RULES macro if it is defined.
1409         * docs/doc-manual.am, sigc++/Makefile.am: Prefix the commands of
1410         custom rules with $(AM_V_GEN) or $(AM_V_at) in order to support
1411         the silent rules feature of Automake.
1412
1413 2009-09-18  Michael Hasselmann  <michaelh@openismus.com>
1414
1415         Documentation cleanup: sigc::hide() always only hides one signal argument
1416
1417         * sigc++/adaptors/macros/hide.h.m4: The documentation stated that sigc::hide()
1418         could discard multiple signal arguments when in fact the whole API only allows
1419         control over one (dummy) signal argument at a time. The  "multiple argument
1420         hiding" example lives in it own section now to make it clearer you have to nest
1421         sigc::hide() for that.
1422
1423 2009-09-13  Daniel Elstner  <daniel.kitta@gmail.com>
1424
1425         Enable verbose output of autoreconf
1426
1427         * autogen.sh: Pass --verbose option to autoreconf.
1428
1429 2009-09-07  Daniel Elstner  <danielk@openismus.com>
1430
1431         Delete obsolete MAINTAINERS file
1432
1433 2009-09-02  Daniel Elstner  <danielk@openismus.com>
1434
1435         Bump version to 2.2.4.2 and update NEWS
1436
1437         * configure.ac (AC_INIT): Increment version number to 2.2.4.2.
1438         (MM_PREREQ): Require mm-common 0.7.2.
1439         * NEWS: Write news entry for libsigc++ 2.2.4.2.
1440
1441 2009-09-02  Daniel Elstner  <danielk@openismus.com>
1442
1443         Document namespace sigc briefly
1444
1445         * sigc++/signal_base.h (sigc): Prepend documentation comment to
1446         provide a brief description of namespace sigc, so that Doxygen
1447         will recognize the namespace as documented.
1448
1449 2009-08-31  Daniel Elstner  <danielk@openismus.com>
1450
1451         Update Doxygen configuration for Doxygen 1.6.1
1452
1453         * docs/reference/Doxyfile.in: Update configuration template using
1454         Doxygen 1.6.1.
1455         (SORT_MEMBERS_CTORS_1ST): Enable.
1456
1457 2009-08-31  Daniel Elstner  <danielk@openismus.com>
1458
1459         Protect space after comma in M4 output
1460
1461         * sigc++/macros/template.macros.m4 (_LOOP_SEP): Triple-quote the
1462         list separator in this hairy construct, since the macro definition
1463         itself is not quoted at all and the space after the comma got lost
1464         in the output.  This, in turn, produced overlong lines in the HTML
1465         reference documentation.
1466
1467 2009-08-28  Daniel Elstner  <danielk@openismus.com>
1468
1469         Update news entry for libsigc++ 2.2.4.1 release
1470
1471         * NEWS: Update top entry for release 2.2.4.1 of libsigc++.
1472         (2.2.4): Correct spelling of Frédéric Péters' name.
1473
1474 2009-08-27  Daniel Elstner  <danielk@openismus.com>
1475
1476         Use shared mm-common Doxygen style sheet
1477
1478         * configure.ac (MM_PREREQ): Require mm-common 0.7.
1479         * docs/Makefile.am (dist_noinst_DATA): List doxygen.css.
1480         * docs/reference/Doxyfile.in (HTML_STYLESHEET): Assign path
1481         to the shared doxygen.css provided by mm-common.
1482
1483 2009-08-27  Daniel Elstner  <danielk@openismus.com>
1484
1485         Remove header and footer HTML fragments
1486
1487         * docs/reference/libsigc_{header,footer}.html_fragment: Delete
1488         files.  These custom fragments were an unnecessary maintenance
1489         hassle.  Also, the files were out of date with respect to the
1490         encoding and CSS classes used by Doxygen.
1491         * docs/reference/Doxyfile.in (HTML_HEADER), (HTML_FOOTER): Set
1492         to the empty string.
1493         (PROJECT_NAME): Substitute @PACKAGE_NAME@.
1494         (PROJECT_NUMBER): Substitute @PACKAGE_VERSION@.  It does look
1495         nicer in the generated HTML pages, and is probably also less
1496         confusing.
1497         (SORT_GROUP_NAMES): Enable for predictability.
1498
1499 2009-08-27  Daniel Elstner  <danielk@openismus.com>
1500
1501         Change version of upcoming release to 2.2.4.1
1502
1503         * configure.ac (AC_INIT): Adjust version number to 2.2.4.1.
1504         * NEWS: Correct version of top news entry to 2.2.4.1.
1505
1506 2009-08-26  Daniel Elstner  <danielk@openismus.com>
1507
1508         Bump version to 2.2.5 and update NEWS
1509
1510         * configure.ac (AC_INIT): Increment version number to 2.2.5.
1511         * NEWS: Write news entry for libsigc++ 2.2.5.
1512
1513 2009-08-26  Daniel Elstner  <danielk@openismus.com>
1514
1515         Reenable hierarchy graphs for each class
1516
1517         * docs/reference/Doxyfile.in (COLLABORATION_GRAPH): Set option
1518         to YES to enable the per-class inheritance graphs.
1519
1520 2009-08-25  Daniel Elstner  <danielk@openismus.com>
1521
1522         Have Automake check NEWS and use bzip2
1523
1524         * configure.ac (AM_INIT_AUTOMAKE): Add options check-news and
1525         dist-bzip2.
1526
1527 2009-08-25  Daniel Elstner  <danielk@openismus.com>
1528
1529         Update NEWS for libsigc++ 2.2.4 release
1530
1531 2009-08-25  Daniel Elstner  <danielk@openismus.com>
1532
1533         Bump version to 2.2.4 and require mm-common 0.6.1
1534
1535         * configure.ac (AC_INIT): Increase version number to 2.2.4.
1536         (MM_PREREQ): Require mm-common 0.6.1 for the updated default
1537         location of the reference documentation.
1538
1539 2009-08-25  Daniel Elstner  <danielk@openismus.com>
1540
1541         Change documentation host to library.gnome.org
1542
1543         * README, docs/manual/libsigc_manual.xml: Adjust links to the
1544         reference documentation in the text.
1545         * docs/Makefile.am (pubdocbase), (htmlrefpub): Remove override
1546         and use the updated mm-common default values.
1547         * sigc++{,-uninstalled}.pc.in (htmlrefpub): Adjust link.
1548
1549 2009-08-24  Daniel Elstner  <danielk@openismus.com>
1550
1551         Add id="content" element to documentation index
1552
1553         * docs/reference/libsigc_header.html_fragment: Start <div> element
1554         with attribute id="content" to match the other C++ binding modules.
1555         * docs/reference/libsigc_footer.html_fragment: Close <div> element.
1556
1557 2009-08-20  Daniel Elstner  <danielk@openismus.com>
1558
1559         Use new version component substitutions
1560
1561         * MSVC_Net200[58]/sigc.rc.in: Replace the no longer defined
1562         @FP_*_VERSION@ substitutions by the new @SIGCXX_*_VERSION@
1563         substitutions for the version number components.  These are
1564         defined by MM_INIT_MODULE() from mm-common.
1565
1566 2009-08-20  Daniel Elstner  <danielk@openismus.com>
1567
1568         Substitute API version in filenames dynamically
1569
1570         * sigc++.pc.in: Rename file from sigc++-2.0.pc.in.
1571         * sigc++-uninstalled.pc.in: Rename file from
1572         sigc++-2.0-uninstalled.pc.in.
1573         * MSVC_Net200[58]/sigc.rc.in: Rename files from sigc-2.0.rc.in
1574         and use @SIGCXX_API_VERSION@ substitution for the API version.
1575         Also replace @VERSION@ with @PACKAGE_VERSION@.
1576         * MSVC_Net200[58]/libsigc++2.{sln,vcproj}: Remove version from
1577         the project name and filenames.
1578         * MSVC_Net200[58]/filelist.am: Remove version from filenames.
1579         * configure.ac (AC_CONFIG_FILES): Insert ${SIGCXX_MODULE_NAME}
1580         into output filenames and remove the version from the input
1581         filenames.
1582         * Makefile.am: Use $(SIGCXX_MODULE_NAME) in pkg-config file
1583         names instead of hard-coding the API version.
1584         * sigc++/Makefile.am (lib_LTLIBRARIES): Instead of hard-coding
1585         the libtool archive name, substitute @SIGCXX_API_VERSION@ into
1586         it, as well as into the derived variable names.
1587
1588 2009-08-17  Daniel Elstner  <danielk@openismus.com>
1589
1590         Set libtool version information
1591
1592         * sigc++/Makefile.am (libsigc_2_0_la_LDFLAGS): Add libtool option
1593         -version-info 0:0:0 to specify the version information explicitly.
1594
1595 2009-08-16  Daniel Elstner  <daniel.kitta@gmail.com>
1596
1597         Remove unused parameter names for correctness
1598
1599         * tests/test_copy_invalid_slot.cc, tests/test_custom.cc,
1600         tests/test_deduce_result_type.cc, tests/test_functor_trait.cc,
1601         tests/test_limit_reference.cc: Remove the names of unused function
1602         parameters from the prototype, in order to get libsigc++ to build
1603         with fatal compiler warnings.
1604
1605 2009-08-16  Daniel Elstner  <daniel.kitta@gmail.com>
1606
1607         Rename scripts/ to build/ for consistency
1608
1609         * build/: Rename directory from scripts/ for consistency with most
1610         of the other modules that switched to the new build infrastructure.
1611         * Makefile.am (ACLOCAL_AMFLAGS): Adjust M4 include directory.
1612         * README: Adjust a reference to scripts/ in the text.
1613         * configure.ac (AC_CONFIG_AUX_DIR): Copy auxiliary files to build/.
1614         (AC_CONFIG_MACRO_DIR): Place Autoconf M4 files into build/.
1615         * docs/Makefile.am: Include $(top_srcdir)/build/doc-reference.am.
1616
1617 2009-08-16  Daniel Elstner  <danielk@openismus.com>
1618
1619         Copy log entry into legacy ChangeLog file
1620
1621 2009-08-16  Daniel Elstner  <danielk@openismus.com>
1622
1623         Update for latest mm-common 0.4
1624
1625         * configure.ac (MM_PREREQ): Require mm-common 0.4.
1626         (MM_INIT_MODULE): Omit now optional version number argument.
1627         (MM_CONFIG_DOCTOOL_DIR): Copy the documentation utilities into docs/
1628         instead of scripts/.
1629         * Makefile.am (dist_noinst_DATA): Remove documentation utilities.
1630         * sigc++-2.0.pc.in (htmlrefpub): Append trailing slash.
1631         * sigc++-2.0-uninstalled.pc.in (htmlrefpub): ditto,
1632         * docs/Makefile.am (htmlrefpub): ditto.
1633         (doc_input): Perform a VPATH search for each input file, to correctly
1634         handle the case of rebuilding the documentation of a tarball release
1635         which includes the generated sources.
1636         (dist_noinst_DATA): List documentation utilities.
1637
1638 2009-08-11  Daniel Elstner  <danielk@openismus.com>
1639
1640         Do not recurse into MSVC subdirectories
1641
1642         * MSVC_Net200[58]/filelist.am: New Automake include files, defining
1643         the lists of files to ship from the MSVC project directories.
1644         * MSVC_Net200[58]/Makefile.am: Delete recursive Makefile.am files.
1645         * Makefile.am: Include MSVC_Net200[58]/filelist.am.
1646         (dist_noinst_DATA): Distribute MSVC project files.
1647         (SUBDIRS): Do not recurse into the MSVC_Net200[58] subdirectories.
1648         * configure.ac (AC_CONFIG_FILES): Remove the output files
1649         MSVC_Net200[58]/Makefile.am from the list.
1650         (AC_CONFIG_COMMANDS): Copy sigc++config.h into the MSVC project
1651         directories at the end of config.status.
1652
1653 2009-08-11  Daniel Elstner  <danielk@openismus.com>
1654
1655         Remove now superfluous doctool overrides
1656
1657         * docs/Makefile.am: Remove overrides for the documentation
1658         utilities, since MM_CONFIG_DOCTOOL_DIR() already takes care
1659         of setting MMDOCTOOLDIR to the local directory.
1660         * sigc++-2.0.pc.in (datadir): Substitute value, just in case.
1661
1662 2009-08-10  Daniel Elstner  <danielk@openismus.com>
1663
1664         List mm-common files in scripts/.gitignore
1665
1666 2009-08-10  Daniel Elstner  <danielk@openismus.com>
1667
1668         Have mm-common-prepare install the doc utils
1669
1670         * configure.ac: Call MM_CONFIG_DOCTOOL_DIR([scripts]) to set
1671         up the destination directory for mm-common-prepare to copy
1672         the documentation utilities to.
1673         * scripts/doc-install.pl: Delete file.
1674         * scripts/doc-postprocess.pl: ditto,
1675         * scripts/tagfile-to-devhelp2.xsl: ditto.
1676
1677 2009-08-09  Daniel Elstner  <danielk@openismus.com>
1678
1679         Refresh doc-install and doc-postprocess copies
1680
1681         * scripts/doc-install.pl, scripts/doc-postprocess.pl: Copy
1682         latest versions from the mm-common module.
1683         * docs/Makefile.am (doc_install), (doc_postprocess): Include
1684         $(PERL) interpreter command in front of the script name.
1685
1686 2009-08-08  Daniel Elstner  <danielk@openismus.com>
1687
1688         Disable extraction of undocumented identifiers
1689
1690         * docs/reference/Doxyfile.in (EXTRACT_ALL): Change setting to
1691         NO, and adapt a number of related options accordingly.  The
1692         result is a net loss of about 300 generated .html files.  The
1693         roughly 450 files which remain now are still an insanely high
1694         number, though.
1695         (PREDEFINED): Predefine the Autoconf configuration defines to
1696         nudge Doxygen towards documenting the canonical code paths.
1697
1698 2009-08-07  Daniel Elstner  <danielk@openismus.com>
1699
1700         Use #error explicitly instead of broken code
1701
1702         * sigc++config.h.in: Do use the #error preprocessor directive,
1703         instead of an errornous piece of code.  This code does not need
1704         the same level of obfuscation as an Autoconf feature test.
1705
1706 2009-08-07  Daniel Elstner  <danielk@openismus.com>
1707
1708         Change bug report URL to point to Bugzilla
1709
1710         * configure.ac (AC_INIT): Change the bug-report argument to the
1711         URL for filing a new libsigc++ bug on bugzilla.gnome.org.  Also
1712         name the website URL as fifth argument.  It will simply be ignored
1713         if the installed Autoconf does not support this new feature.
1714
1715 2009-08-07  Daniel Elstner  <danielk@openismus.com>
1716
1717         Do not enable -pedantic mode by default
1718
1719         * configure.ac (MM_ARG_ENABLE_WARNINGS): Remove -pedantic from the
1720         list of compiler flags to use at warning level "min" (the default).
1721
1722 2009-08-07  Daniel Elstner  <danielk@openismus.com>
1723
1724         Correct M4 forbidden tokens pattern
1725
1726         * configure.ac (m4_pattern_forbid): Take into account that the
1727         pattern is applied to tokens, not lines.  Also catch unexpanded
1728         calls to underscore-prefixed private macros.
1729
1730 2009-08-06  Daniel Elstner  <danielk@openismus.com>
1731
1732         Transition to new mm-common build infrastructure
1733
1734         * autogen.sh: Replace with a minimal script that simply executes
1735         mm-common-prepare, autoreconf and configure.
1736         * configure.ac: Get rid of an enormous amount of old cruft.  Use
1737         macros from the new mm-common module to set up Doxygen for building
1738         the documentation.  Add option to enable more compiler warnings.
1739         * sigc++-2.0-uninstalled.pc.in: New pkg-config data file to allow
1740         linking to an uninstalled libsigc++.
1741         * sigc++-2.0.pc.in: Modernize.  Provide the location of the
1742         installed reference documentation and the Doxygen tag file.
1743         * sigc++config.h.in: Modernize and update for new build
1744         infrastructure.
1745         * Makefile.am, */Makefile.am: Modernize and adapt to the new C++
1746         binding build infrastructure in the mm-common module.
1747         * sigc++/filelist.am: New Automake include file.  Defines lists
1748         of C++ and M4 source files.
1749         * docs/Makefile.am: Rewrite using doc-reference.am from the
1750         mm-common module.
1751         * docs/doc-manual.am: New Automake include file for building the
1752         libsigc++ Docbook manual.
1753         * docs/images/Makefile.am: Remove file.
1754         * docs/manual/Makefile.am: ditto,
1755         * docs/reference/Makefile.am: ditto.
1756         * docs/Makefile_web.am_fragment: Remove for now, to be taken care
1757         of later.
1758         * docs/reference/Doxyfile.in: Modernize and adapt to new build
1759         infrastructure.
1760         * docs/reference/beautify_docs.pl: Remove and use the more recent
1761         scripts/doc-postprocess.pl instead.
1762         * libsigc++-2.0.spec.in: Remove, to be resurrected only if someone
1763         complains.
1764         * scripts/Makefile.am: Remove file.  Distribute the files from the
1765         toplevel Makefile.am instead.
1766         * scripts/cxx_std.m4: Add missing third argument to AC_DEFINE().
1767         * scripts/doc-install.pl: New file, copied from mm-common.
1768         * scripts/doc-postprocess.pl: ditto,
1769         * scripts/tagfile-to-devhelp2.xsl: ditto.
1770
1771 2009-06-24  Daniel Elstner  <danielk@openismus.com>
1772
1773         Add Description of a Project (DOAP) file
1774
1775 2008-11-13  Murray Cumming  <murrayc@murrayc.com>
1776
1777         Correct the download link so it shows all versions, not just 2.0.
1778
1779 2008-11-13  Murray Cumming  <murrayc@murrayc.com>
1780
1781         * docs/website/stable.shtml: Correct the download link so it shows all 
1782         versions, not just 2.0.
1783
1784         svn path=/trunk/; revision=302
1785
1786 2008-10-15  Murray Cumming  <murrayc@src.gnome.org>
1787
1788         Increased version
1789
1790         svn path=/trunk/; revision=301
1791
1792 2008-10-08  Armin Burgmeier  <armin@arbur.net>
1793
1794         Changed output name to match the new naming convention.
1795
1796 2008-10-08  Armin Burgmeier  <armin@arbur.net>
1797
1798         * MSVN_Net2005/libsigc++2.vcproj: Changed output name to match the new
1799         naming convention.
1800
1801         * MSVC_Net2008/: Added MSVC 2008 project files. These are basically
1802         the same as for MSVC 2005, but converted to MSVC 2008 projects.
1803
1804         * configure.ac:
1805         * Makefile.am: Added the new files to the build.
1806
1807         svn path=/trunk/; revision=300
1808
1809 2008-08-08  Armin Burgmeier  <armin@arbur.net>
1810
1811         Enable the disconnect_during_emit test by default.
1812
1813 2008-08-08  Armin Burgmeier  <armin@arbur.net>
1814
1815         * MSVC_Net2005/libsigc++2.sln: Enable the disconnect_during_emit test
1816         by default.
1817
1818         * MSVC_Net2005/libsigc++2.vcproj: Renamed the generated debug database
1819         file to sigc-2.0d.pdb (the default), to stay consistent with the *mm
1820         wrapper libraries.
1821
1822         svn path=/trunk/; revision=299
1823
1824 2008-08-08  Armin Burgmeier  <armin@arbur.net>
1825
1826         Moved from MSVC_Net2003.
1827
1828 2008-08-08  Armin Burgmeier  <armin@arbur.net>
1829
1830         * MSVC_Net2005/: Moved from MSVC_Net2003.
1831
1832         * MSVC_Net2005/libsigc++2.sln:
1833         * MSVC_Net2005/libsigc++2.vcproj:
1834         * MSVC_Net2005/tests/*/*.vcproj: Converted the Visual Studio 2003
1835         project files to 2005 ones.
1836
1837         * MSVC_Net2005/Makefile.am:
1838         * Makefile.am:
1839         * configure.ac: Adapted build files accordingly.
1840
1841         svn path=/trunk/; revision=298
1842
1843 2008-04-06  Cedric Gustin  <cedric.gustin@gmail.com>
1844
1845         Removed ATL/MFC header files dependency as afxres.h is not part of the
1846
1847         2008-04-06 Cedric Gustin <cedric.gustin@gmail.com>
1848
1849         * MSVC_Net2003/sigc-2.0.rc.in: Removed ATL/MFC header files 
1850         dependency as afxres.h is not part of the Microsoft Platform
1851         SDK provided with Visual C++ Express 2008.
1852         Bug #503933.
1853
1854         svn path=/trunk/; revision=297
1855
1856 2008-03-10  Murray Cumming  <murrayc@src.gnome.org>
1857
1858         Increased version
1859
1860         svn path=/trunk/; revision=296
1861
1862 2008-02-28  Murray Cumming  <murrayc@src.gnome.org>
1863
1864         Increased version
1865
1866         svn path=/trunk/; revision=295
1867
1868 2008-02-28  Elaine Xiong  <elaine.xiong@sun.com>
1869
1870         Add ifdefs around uses of reverse_iterator to really fix the build with
1871
1872 2008-02-28  Elaine Xiong  <elaine.xiong@sun.com>
1873
1874         * sigc++/macros/signal.h.m4:
1875         * tests/test_accum_iter.cc: Add ifdefs around uses of 
1876         reverse_iterator to really fix the build with recent 
1877         versions of Sun CC.
1878         Bug #302098.
1879
1880         svn path=/trunk/; revision=294
1881
1882 2008-02-22  Murray Cumming  <murrayc@src.gnome.org>
1883
1884         Increased version
1885
1886         svn path=/trunk/; revision=293
1887
1888 2008-01-01  Ryan Hill  <dirtyepic@gentoo>
1889
1890         Include the cstdlib and cstring headers to fix the build with the gcc 4.3
1891
1892 2008-01-01  Ryan Hill  <dirtyepic@gentoo.>
1893
1894         * tests/test_copy_invalid_slot.cc: Include the cstdlib 
1895         and cstring headers to fix the build with the gcc 4.3 
1896         pre-release. Bug #454882.
1897
1898         svn path=/trunk/; revision=292
1899
1900 2007-12-09  Murray Cumming  <murrayc@murrayc.com>
1901
1902         Added some includes to fix the build in some environments, such as when
1903
1904 2007-08-31  Murray Cumming  <murrayc@murrayc.com>
1905
1906         * tests/test_copy_invalid_slot.cc: Added some includes to 
1907         fix the build in some environments, such as when using Sun CC.
1908         Thanks to Vladimir Marek in bug #469872.
1909
1910         svn path=/trunk/; revision=291
1911
1912 2007-09-10  Murray Cumming  <murrayc@src.gnome.org>
1913
1914         Mark version in ChangeLog
1915
1916         svn path=/trunk/; revision=290
1917
1918 2007-09-10  Murray Cumming  <murrayc@src.gnome.org>
1919
1920         Added MAINTAINERS file
1921
1922         svn path=/trunk/; revision=288
1923
1924 2007-08-14  Murray Cumming  <murrayc@src.gnome.org>
1925
1926         Increase version
1927
1928         svn path=/trunk/; revision=286
1929
1930 2007-08-14  Murray Cumming  <murrayc@murrayc.com>
1931
1932         Removed this header.
1933
1934 2007-08-14  Murray Cumming  <murrayc@murrayc.com>
1935
1936         * sigc++/Makefile.am:
1937         * sigc++/compatibility.h: Removed this header.
1938         * sigc++/bind.h:
1939         * sigc++/bind_return.h:
1940         * sigc++/connection.h:
1941         * sigc++/macros/class_slot.h.m4:
1942         * sigc++/macros/hide.h.m4:
1943         * sigc++/macros/method_slot.h.m4:
1944         * sigc++/macros/object_slot.h.m4:
1945         * sigc++/macros/retype.h.m4:
1946         * sigc++/macros/signal.h.m4:
1947         * sigc++/macros/slot.h.m4:
1948         * sigc++/object.h:
1949         * sigc++/retype_return.h: Removed deprecated 
1950         compatibility API, to probably fix the build with 
1951         some compilers, such as some versions of the Sun Forte C++ 
1952         CC compiler. This API has been deprecated April 2004, and 
1953         is not widely used, so it seems safe to do this now.
1954
1955         * tests/Makefile.am:
1956         * tests/test_compatibility.cc: Removed this test.
1957
1958         svn path=/trunk/; revision=285
1959
1960 2007-07-28  Michael Elkstrand  <michael@elehack.net>
1961
1962         slot_iterator_buf, slot_reverse_iterator_buf: Added typedefs for
1963
1964 2007-07-28  Michael Elkstrand  <michael@elehack.net>
1965
1966         * sigc++/macros/signal.h.m4: slot_iterator_buf, 
1967         slot_reverse_iterator_buf: Added typedefs for 
1968         value_type, reference, and pointer, so that these 
1969         iterators are more like standard C++ iterators, so they can 
1970         be used with standard C++ algorithms.  
1971         * tests/Makefile.am:
1972         * tests/test_accum_iter.cc: Added a test for this.
1973         Bug #417926.
1974
1975         svn path=/trunk/; revision=284
1976
1977 2006-11-14  Daniel Elstner  <daniel@src.gnome.org>
1978
1979         Wholly replace this script with a critter from one of my personal
1980
1981         * autogen.sh: Wholly replace this script with a critter from one
1982         of my personal projects, with slight modifications.  This one does
1983         some sophisticated stuff like probing version numbers of available
1984         automake and aclocal executables, in order to choose the right one
1985         accordingly.  All this is necessary to make the build system work
1986         robustly in custom environments such as Maemo where automake-1.9
1987         doesn't come preinstalled.
1988
1989 2006-06-20  Murray Cumming  <murrayc@murrayc.com>
1990
1991         Revert the previous changes, because none is used in the exported symbol
1992
1993 2006-06-20  Murray Cumming  <murrayc@murrayc.com>
1994
1995         * sigc++/adaptors/macros/bind.h.m4:
1996         * sigc++/adaptors/macros/retype.h.m4:
1997         * sigc++/functors/macros/functor_trait.h.m4:
1998         * sigc++/functors/macros/slot.h.m4:
1999         * sigc++/macros/retype.h.m4:
2000         * sigc++/macros/signal.h.m4: Revert the previous changes, because none is
2001         used in the exported symbol names from gtkmm, so this would break the ABI
2002         of gtkmm.
2003
2004 2006-06-06  Régis Duchesne  <hpreg@vmware.com>
2005
2006         Renamed 'nil' to 'none' to allow an Objective-C++ compiler to compile the
2007
2008         2006-05-26  Régis Duchesne <hpreg@vmware.com>
2009
2010         * sigc++/adaptors/macros/bind.h.m4:
2011         * sigc++/adaptors/macros/retype.h.m4:
2012         * sigc++/functors/macros/functor_trait.h.m4:
2013         * sigc++/functors/macros/slot.h.m4:
2014         * sigc++/macros/retype.h.m4:
2015         * sigc++/macros/signal.h.m4:
2016         Renamed 'nil' to 'none' to allow an Objective-C++ compiler to compile
2017         the library header files.
2018
2019 2005-12-21  Murray Cumming  <murrayc@murrayc.com>
2020
2021         Make remaining reverse_iterator_buf operator--() methods return by
2022
2023 2005-12-21  Murray Cumming  <murrayc@murrayc.com>
2024
2025         * sigc++/macros/signal.h.m4: Make remaining
2026         reverse_iterator_buf operator--() methods
2027         return by reference, like the operator++() methods.
2028         Bug #304402 from John Profic.
2029
2030 2005-12-20  Murray Cumming  <murrayc@murrayc.com>
2031
2032         Make all operator--() methods return by reference, like the operator++()
2033
2034 2005-12-20  Murray Cumming  <murrayc@murrayc.com>
2035
2036         * sigc++/macros/signal.h.m4: Make all operator--() methods
2037         return by reference, like the operator++() methods.
2038         Bug #304402 from John Profic.
2039
2040 2005-12-14  John Profic  <profic@kursknet.ru>
2041
2042         Fix compilation problem in the last patch.
2043
2044         2005-12-14  John Profic <profic@kursknet.ru>
2045
2046         * sigc++/macros/signal.h.m4: Fix compilation problem in
2047         the last patch.
2048
2049 2005-12-14  John Profic  <profic@kursknet.ru>
2050
2051         Added emit_reverse().
2052
2053         2005-12-14  John Profic <profic@kursknet.ru>
2054
2055         * sigc++/macros/signal.h.m4: Added emit_reverse().
2056
2057 2005-12-14  Murray Cumming  <murrayc@src.gnome.org>
2058
2059         mark branch in ChangeLog
2060
2061 2005-12-01  Murray Cumming  <murrayc@murrayc.com>
2062
2063         slot_base::disconnect(): Set call_ to 0, to invalidate the slot, even if
2064
2065         2005-12-01  Murray Cumming <murrayc@murrayc.com>
2066
2067         * sigc++/functors/slot_base.cc:
2068         slot_base::disconnect(): Set call_ to 0,
2069         to invalidate the slot, even if parent_ is 0.
2070         I think parent_ is, for instance, a signal, but
2071         disconnect should still work on a slot that is not
2072         connected to a signal, because a slot can be invoked
2073         directly.
2074         Fixes bug #311057 from James Lin.
2075
2076 2005-12-01  Murray Cumming  <murrayc@murrayc.com>
2077
2078         Added test case from bug #311057.
2079
2080         2005-12-01  Murray Cumming <murrayc@murrayc.com>
2081
2082         * tests/Makefile.am:
2083         * tests/test_slot_disconnect.cc: Added test
2084         case from bug #311057.
2085
2086 2005-11-16  Philipp Berndt  <philipp.berndt@gmx.net>
2087
2088         Make member exception_catch_functor<T_functor, T_catcher, void>::catcher_
2089
2090 2005-11-16  Philipp Berndt  <philipp.berndt@gmx.net>
2091
2092         * sigc++/adaptors/macros/exception_catch.h.m4: Make member
2093         exception_catch_functor<T_functor, T_catcher, void>::catcher_
2094         public so that it can be accessed by visit_each()
2095         (bug fixed for generalization on 2004-11-06)
2096         ~
2097
2098 2005-08-17  Murray Cumming  <murrayc@src.gnome.org>
2099
2100         Increased version. Forgot to commit this a few days ago.
2101
2102 2005-08-01  Neal E. Coombes  <nealc@trdlnk.com>
2103
2104         Updated the documentation for temp_slot_list as requested in bug #303896.
2105
2106 2005-08-01  Neal E. Coombes  <nealc@trdlnk.com>
2107
2108         * sigc++/signal_base.h: Updated the documentation for temp_slot_list
2109         as requested in bug #303896.
2110
2111 2005-08-01  Murray Cumming  <murrayc@murrayc.com>
2112
2113         Added missing ) in call to sun_forte_workaround(), fixing build on SUN
2114
2115 2005-07-13  Murray Cumming  <murrayc@murrayc.com>
2116
2117         * sigc++/adaptors/hide.h.m4: Added missing
2118         ) in call to sun_forte_workaround(), fixing
2119         build on SUN Forte 5.5. Bug #312020.
2120
2121 2005-08-01  Bruno Martinez  <brunom@fing.edu.uy>
2122
2123         Renamed ::sigc::is_base_and_derived::internal to
2124
2125         2005-08-19  Bruno Martinez <brunom@fing.edu.uy>
2126
2127         * sigc++/type_traits.h: Renamed
2128         ::sigc::is_base_and_derived::internal to
2129         ::sigc::is_base_and_derived::internal_class
2130         in order to avoid conflict with
2131         namespace internal.
2132
2133 2005-07-13  Murray Cumming  <murrayc@src.gnome.org>
2134
2135         fix typo.
2136
2137 2005-07-13  Murray Cumming  <murrayc@murrayc.com>
2138
2139         Correct mentions of 1.2 stuff instead of 2.0. Patch in bug #310213 from
2140
2141 2005-07-13  Murray Cumming  <murrayc@murrayc.com>
2142
2143         * docs/manual/libsigc_manual.xml: Correct mentions of
2144         1.2 stuff instead of 2.0. Patch in bug #310213 from
2145         pebble.org.uk.
2146
2147 2005-07-13  Murray Cumming  <murrayc@murrayc.com>
2148
2149         Fixed typo found by Antonio Coralles.
2150
2151 2005-07-13  Murray Cumming  <murrayc@murrayc.com>
2152
2153         * docs/manual/libsigc_manual.xml: Fixed typo
2154         found by Antonio Coralles.
2155
2156 2005-07-09  Murray Cumming  <murrayc@murrayc.com>
2157
2158         Did the same (see last commit) for slot_const_iterator and
2159
2160 2005-07-09  Murray Cumming  <murrayc@murrayc.com>
2161
2162         * sigc++/macros/signal.h.m4: Did the same (see
2163         last commit) for slot_const_iterator and
2164         slot_iterator_buf.
2165
2166 2005-07-09  Murray Cumming  <murrayc@murrayc.com>
2167
2168         slot_iterator: operator--() now returns value, not reference, like
2169
2170 2005-07-09  Murray Cumming  <murrayc@murrayc.com>
2171
2172         * sigc++/macros/signal.h.m4: slot_iterator:
2173         operator--() now returns value, not reference, like
2174         operator++() already did. This caused crashes when
2175         using --no-inline with g++. Bug #308651 by
2176         Michael Andres.
2177
2178 2005-07-04  Murray Cumming  <murrayc@src.gnome.org>
2179
2180         Increased version
2181
2182 2005-07-04  Philip Langdale  <plangdale@vmware.com>
2183
2184         Add a setter typedef to compose*_functor and use it instead of the
2185
2186 2005-07-04  Philip Langdale  <plangdale@vmware.com>
2187
2188         * sigc++/adaptors/macros/compose.h.m4: Add a setter typedef to
2189         compose*_functor and use it instead of the (incorrect) getter
2190         typedef in the compose* specialization of visit_each<>().
2191         This corrects the lifetime management of slots created with
2192         compose(). Bug #308433.
2193
2194 2005-06-13  Marek Rouchal  <marek.rouchal@infineon.com>
2195
2196         Specify int return type for main(), to be more ISO C++ compliant. Bug
2197
2198 2005-06-13  Marek Rouchal  <marek.rouchal@infineon.com>
2199
2200         * tests/test_deduce_result_type.cc: Specify int return type
2201         for main(), to be more ISO C++ compliant. Bug #307478.
2202
2203 2005-06-13  Andris Pavenis  <pavenis@latnet.lv>
2204
2205         sigc++/adaptors/lambda/macros/select.h.m4 Specify only a type (not a
2206
2207         2005-06-11  Andris Pavenis <pavenis@latnet.lv>
2208
2209         * sigc++/adaptors/lambda/macros/base.h.m4:
2210         * sigc++/adaptors/lambda/macros/select.h.m4
2211         * sigc++/adaptors/macros/hide.h.m4: Specify only a type (not a
2212         parameter name) for unused member function parameters
2213
2214 2005-06-12  Paul Pogonyshev  <pogonyshev@gmx.net>
2215
2216         Add test for whether the compiler allows referencing to member functions
2217
2218 2005-06-12  Paul Pogonyshev  <pogonyshev@gmx.net>
2219
2220         * configure.ac:
2221         * scripts/cxx.m4:
2222         * sigc++config.h.in: Add test for whether the compiler allows
2223         referencing to member functions of the class/structure being
2224         declared from a definition of a static member variable.
2225         Supposedly a generic solution for GCC 3.2 compilation problems.
2226
2227         * sigc++/type_traits.h: Define SIGC_WRAP_IS_BASE_CLASS_ based on
2228         results of the above test.
2229         (struct is_base_and_derived): Wrap up is_base_class_() functions
2230         in an internal class if SIGC_WRAP_IS_BASE_CLASS_ is defined.
2231
2232 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
2233
2234         Use CALL_SIZE instead of hard-coded 7s and 6s.
2235
2236 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
2237
2238         * sigc++/adaptors/macros/bind.h.m4:
2239         * sigc++/functors/macros/slot.h.m4:
2240         * sigc++/macros/signal.h.m4: Use CALL_SIZE instead of
2241         hard-coded 7s and 6s.
2242
2243 2005-06-10  Murray Cumming  <murrayc@src.gnome.org>
2244
2245         Increased version
2246
2247 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
2248
2249         Make the limit_derived_target::with_type inner class an outer class, to
2250
2251 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
2252
2253         * sigc++/visit_each.h: Make the
2254         limit_derived_target::with_type inner class an outer class,
2255         to satisfy the SUN CC 5.7 compiler, though I think it is a
2256         compiler bug. Bug #302098 has the test case.
2257
2258 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
2259
2260         Make the limit_derived_target::with_type inner class an outer class, to
2261
2262 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
2263
2264         * sigc++/visit_each.h: Make the
2265         limit_derived_target::with_type inner class an outer class,
2266         to satisfy the SUN CC 5.7 compiler, though I think it is a
2267         compiler bug. Bug #302098 has the test case.
2268
2269 2005-06-09  Murray Cumming  <murrayc@src.gnome.org>
2270
2271         Increased version
2272
2273 2005-06-07  Murray Cumming  <murrayc@src.gnome.org>
2274
2275         Removed missing call to missing macro from configure.in
2276
2277 2005-06-07  Murray Cumming  <murrayc@murrayc.com>
2278
2279         Specify the actual class when using test_int(), instead of the derived
2280
2281         2005-06-07  Murray Cumming <murrayc@murrayc.com>
2282
2283         * tests/test_compatibility.cc: Specify the actual class when
2284         using test_int(), instead of the derived class, to fix the build
2285         on SUN Forte CC 5.5. Patch from Friedemann Kleint in
2286         Bug #305647
2287
2288 2005-06-07  Murray Cumming  <murrayc@murrayc.com>
2289
2290         signal_emit::emit(): Use scope to ensure a certain order of destruction of
2291
2292         2005-06-07  Murray Cumming <murrayc@murrayc.com>
2293
2294         * sigc++/macros/signal.h.m4: signal_emit::emit(): Use scope to
2295         ensure a certain order of destruction of the member variables, to
2296         avoid a leak on MSVC++. Patch by Andreas Ames in Bug #306249.
2297
2298 2005-06-07  Murray Cumming  <murrayc@murrayc.com>
2299
2300         Added comments about commenting-out SIGC_TYPEDEF_REDEFINE_ALLOWED when
2301
2302         2005-06-07  Murray Cumming <murrayc@murrayc.com>
2303
2304         * sigc++/macros/signal.h.m4: Added comments about commenting-out
2305         SIGC_TYPEDEF_REDEFINE_ALLOWED when using SUN Forte CC 5.7,
2306         because I can not seem to create a test for it.
2307
2308 2005-06-07  Murray Cumming  <murrayc@murrayc.com>
2309
2310         Added check for the non-standard SUN Forte reverse_iterator<>, and used
2311
2312         2005-06-07  Murray Cumming <murrayc@murrayc.com>
2313
2314         * configure.ac:
2315         * scripts/cxx_std.m4:
2316         * sigc++/macros/signal.h.m4:
2317         * sigc++config.h.in: Added check for
2318         the non-standard SUN Forte reverse_iterator<>,
2319         and used it. This is based on the same stuff in
2320         gtkmm.
2321
2322 2005-06-07  Murray Cumming  <murrayc@murrayc.com>
2323
2324         limit_derived_target(): Just some whitespace changes.
2325
2326         2005-06-07  Murray Cumming <murrayc@murrayc.com>
2327
2328         * sigc++/visit_each.h: limit_derived_target(): Just some whitespace
2329         changes.
2330
2331 2005-06-07  Murray Cumming  <murrayc@murrayc.com>
2332
2333         limit_derived_target(): Just some whitespace changes.
2334
2335         2005-06-07  Murray Cumming <murrayc@murrayc.com>
2336
2337         * sigc++/visit_each.h: limit_derived_target(): Just some whitespace
2338         changes.
2339
2340 2005-06-04  Neal E. Coombes  <nealc@trdlnk.com>
2341
2342         Modified temp_slot_list to be a temporary view into a slot list. Instead
2343
2344 2005-05-16  Neal E. Coombes  <nealc@trdlnk.com>
2345
2346         * sigc++/signal_base.h:  Modified temp_slot_list to be a temporary view
2347         into a slot list.  Instead of emptying the original it now simply tacks
2348         a placeholder to the end of the original.  It then uses this as it's
2349         'end' iterator.  This should allow for conscious recursiveness, as well
2350         as inserting a slot to any position in the slot list during emittion.
2351         See bug #303896.
2352
2353 2005-06-04  Friedemann Kleint  <kleint@bifab.de>
2354
2355         visit_each() template specializations: Mention the bool
2356
2357         2005-06-04  Friedemann Kleint <kleint@bifab.de>
2358
2359         * sigc++/macros/limit_reference.h.m4:
2360         visit_each() template specializations:
2361         Mention the bool I_derives_trackable
2362         template type, to fix the build on Solaris
2363         Forte 5.5.
2364
2365 2005-05-10  Murray Cumming  <murrayc@src.gnome.org>
2366
2367         Increased version
2368
2369 2005-05-10  Murray Cumming  <murrayc@src.gnome.org>
2370
2371         Added missing include
2372
2373 2005-05-10  Régis Duchesne  <hpreg@vmware.com>
2374
2375         New class that just stores a reference, and makes sure that if the
2376
2377         2005-05-06  Régis Duchesne <hpreg@vmware.com>
2378
2379         * sigc++/macros/limit_reference.h.m4 (added):
2380         * sigc++/Makefile.am:
2381         New class that just stores a reference, and makes sure that if the
2382         reference derives from trackable, then the trackable reference will be
2383         used instead of the derived reference in visit_each().
2384         * sigc++/functors/macros/mem_fun.h.m4: Better fix for bug #169225 by
2385         Régis Duchesne and Christian Hammond, based on the new limit_reference
2386         class.
2387         * sigc++/adaptors/bound_argument.h (added): New class (built upon the
2388         new limit_reference class) that handles all 3 kinds of bound arguments:
2389         by value, by reference, and by constant reference. References are
2390         unwrapped in the bound_argument's constructor.
2391         * sigc++/adaptors/macros/bind.h.m4: Fix for bug #302327 by Régis
2392         Duchesne. Bound arguments now need to know whether they are passed by
2393         reference or not. So bind() now builds bind_functor instances using
2394         'reference_wrapper<Foo>' types, instead of 'Foo &' types. The
2395         bind_functor code is modified to compensate.
2396         * sigc++/adaptors/macros/bind_return.h.m4: Similar fix for a similar
2397         bug (unfiled) with bound return arguments.
2398         * sigc++/reference_wrapper.h:
2399         * sigc++/type_traits.h:
2400         The reference_wrapper class is only used in bound_argument.h. Put
2401         correct but unused code under #if 0.
2402         * sigc++/adaptors/lambda/base.h: This file needs reference_wrapper.h,
2403         but was incorrectly relying on type_traits.h to include it.
2404         * tests/Makefile.am:
2405         * tests/test_virtualbase_delete.cc (deleted):
2406         * tests/test_virtualbase_delete_ref_param.cc (deleted):
2407         * tests/test_limit_reference.cc (added):
2408         Replaced test_virtualbase_delete*.cc with a simpler
2409         test_limit_reference.cc which checks for all 3 aspects of the same bug
2410         in one file.
2411         * tests/test_bind_ref.cc: Slots must use 'Foo &' types. We were lucky
2412         this broken usage worked before this change. The change in
2413         type_traits.h made this bug obvious, by preventing the code to compile.
2414         * tests/test_bind_return.cc: After my change, bind() and bind_return()
2415         must use 'reference_wrapper<Foo>' types.
2416         * tests/test_custom.cc: Made this test a no-op (so it does not perturb
2417         'make check' on released versions of the library) and made it a
2418         template ready to be modified by hackers.
2419
2420 2005-05-04  Murray Cumming  <murrayc@src.gnome.org>
2421
2422         Added missing file
2423
2424 2005-05-01  Murray Cumming  <murrayc@src.gnome.org>
2425
2426         Added test case
2427
2428 2005-05-01  Murray Cumming  <murrayc@murrayc.com>
2429
2430         slot_base::slot_base(src): If the source slot_base has a null rep->call_,
2431
2432         2005-05-01  Murray Cumming <murrayc@murrayc.com>
2433
2434         * sigc++/functors/slot_base.cc:
2435         slot_base::slot_base(src): If the source
2436         slot_base has a null rep->call_, meaning that the
2437         slot is invalid, just return a default-constructed
2438         slot, to prevent the crash shown in
2439         tests/tests_copy_invalid_slot.cc. Bug #302515 by
2440         Régis Duchesne.
2441
2442 2005-05-01  Murray Cumming  <murrayc@src.gnome.org>
2443
2444         Added test
2445
2446 2005-05-01  Murray Cumming  <murrayc@murrayc.com>
2447
2448         bound_*<>: Add a new is_base_and_derived<sigc::trackable> parameter to the
2449
2450         2005-05-01  Murray Cumming <murrayc@murrayc.com>
2451
2452         * sigc++/functors/macros/mem_fun.h.m4: bound_*<>:
2453         Add a new is_base_and_derived<sigc::trackable>
2454         parameter to the template and thereby provide a
2455         specialization for T_Obj types that derive from
2456         sigc::trackable. This prevents a crash when casting
2457         from the derived type to sigc::trackable after the
2458         derived destructor has run. This cast can sometimes
2459         fail when using multiple inheritance, at least with
2460         g++. Bug #169225 by Régis Duchesne and Christian
2461         Hammond.
2462         * sigc++/type_traits.h: Add documenation for
2463         the internal is_base_and_derived<> template, which
2464         allows us to specialize other templates for certain
2465         template types.
2466
2467 2005-04-28  Murray Cumming  <murrayc@murrayc.com>
2468
2469         Added comments for users of g++ 3.2.
2470
2471         2005-04-28  Murray Cumming <murrayc@murrayc.com>
2472
2473         * sigc++/type_traits.h: Added comments for users of
2474         g++ 3.2.
2475
2476 2005-04-28  Murray Cumming  <murrayc@murrayc.com>
2477
2478         Added simplified test case from bug #169225. We have a patch to make this
2479
2480         2005-04-28  Murray Cumming <murrayc@murrayc.com>
2481
2482         * tests/Makefile.am:
2483         * tests/test_virtualbase_delete.cc: Added
2484         simplified test case from bug #169225. We have a patch
2485         to make this succeed but I am not ready to commit it
2486         just yet.
2487
2488 2005-04-27  Murray Cumming  <murrayc@murrayc.com>
2489
2490         Added a place to put extra test code, so I don't have to keep installing
2491
2492         2005-04-27  Murray Cumming <murrayc@murrayc.com>
2493
2494         * tests/Makefile.am:
2495         * tests/test_custom.cc:
2496         Added a place to put extra test code, so I don't have
2497         to keep installing my crazy libsigc++ versions.
2498
2499 2005-04-27  Murray Cumming  <murrayc@murrayc.com>
2500
2501         Revert back to the non-explicit template call, because we can not specify
2502
2503         2005-04-27  Murray Cumming <murrayc@murrayc.com>
2504
2505         * sigc++/visit_each.h: Revert back to the non-explicit
2506         template call, because we can not specify the
2507         template specialization so easily, because the
2508         specializations have different numbers of types.
2509         * tests/Makefile/am:
2510         * tests/test_bind_ref.cc: Add a simple test only for
2511         sigc::ref disconnection.
2512
2513 2005-04-26  Murray Cumming  <murrayc@murrayc.com>
2514
2515         Use the explicit template specialization, needed for Tru64 and AIX
2516
2517         2005-04-26  Murray Cumming <murrayc@murrayc.com>
2518
2519         * sigc++/visit_each.h: Use the explicit template
2520         specialization, needed for Tru64 and AIX compilers.
2521         This causes a crash in some uses of sigc::ref()
2522         (when using g++ 3.3.4 or 3.3.5 , but not with 3.4) but
2523         seems to fix a crash in some uses of multiple inheritance
2524         (bug #169225).
2525         * tests/test_bind.cc: Comment out the crashing (not with
2526         g++ 3.4) use of sigc::ref() with an explanatory comment.
2527
2528 2005-04-25  Murray Cumming  <murrayc@src.gnome.org>
2529
2530         tiny comment change
2531
2532 2005-03-31  Murray Cumming  <murrayc@src.gnome.org>
2533
2534         Increased version
2535
2536 2005-03-18  Murray Cumming  <murrayc@murrayc.com>
2537
2538         Updated the list of supported compilers.
2539
2540         2005-03-18  Murray Cumming <murrayc@murrayc.com>
2541
2542         * index.shtml: Updated the list of supported
2543         compilers.
2544
2545 2005-03-18  Murray Cumming  <murrayc@murrayc.com>
2546
2547         Remove links to the sourceforge download page, because we do not use it.
2548
2549         2005-03-18  Murray Cumming <murrayc@murrayc.com>
2550
2551         * fragments/footer.html_fragment:
2552         * fragments/html_declaration.html_fragment:
2553         * link.shtml: Remove links to the sourceforge
2554         download page, because we do not use it.
2555         * notes.shtml: Removed this. It is not linked
2556         from anywhere anyway.
2557
2558 2005-03-09  Cedric Gustin  <cedric.gustin@swing.be>
2559
2560         Fixed typo in today's date.
2561
2562         2005-03-09  Cedric Gustin <cedric.gustin@swing.be>
2563
2564         * ChangeLog: Fixed typo in today's date.
2565
2566 2005-03-09  Cedric Gustin  <cedric.gustin@swing.be>
2567
2568         Moved MSVC_Net2003 directory to SUBDIRS. Added blank.cpp to EXTRA_DIST.
2569
2570         2005-01-24  Cedric Gustin <cedric.gustin@swing.be>
2571
2572         * Makefile.am: Moved MSVC_Net2003 directory to SUBDIRS.
2573         * MSVC_Net2003/Makefile.am: Added blank.cpp to EXTRA_DIST.
2574         * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Removed
2575         test_accumulated and test_lambda projects as the tests are
2576         disabled in the standard, configure-based build.
2577         * MSVC_Net2003/MSVC_Net2003/libsigc++2_msvcNet2003.vcproj:
2578         Generate a PDB file in the Debug target.
2579
2580 2005-03-04  Murray Cumming  <murrayc@murrayc.com>
2581
2582         Mention actual supported compilers. Removed broken examples links. Change
2583
2584 2005-03-05  Murray Cumming  <murrayc@murrayc.com>
2585
2586         * docs/website/stable.html: Mention actual supported compilers.
2587         * docs/website/docs.html: Removed broken examples links. Change
2588         reference link to the reference overview page.
2589
2590 2005-02-23  Murray Cumming  <murrayc@murrayc.com>
2591
2592         Make slot_base::operator=() public, to fix the build with SUN Forte C++
2593
2594 2005-02-23  Murray Cumming  <murrayc@murrayc.com>
2595
2596         * sigc++/functors/slot_base.h: Make slot_base::operator=() public, to
2597         fix the build with SUN Forte C++ 5.5 and Tru64.
2598
2599 2005-02-22  Murray Cumming  <murrayc@src.gnome.org>
2600
2601         Increased version
2602
2603 2005-02-20  Murray Cumming  <murrayc@murrayc.com>
2604
2605         #included <new> to avoid an unresolved symbol error with the Tru64
2606
2607 2005-02-20  Murray Cumming  <murrayc@murrayc.com>
2608
2609         * tests/test_slot.cc, test_disconnect.cc: #included <new> to avoid
2610         an unresolved symbol error with the Tru64 compiler. Solutio found by
2611         Tim Mooney in bug #161503.
2612
2613 2005-02-20  Murray Cumming  <murrayc@murrayc.com>
2614
2615         #included <new> to avoid an unresolved symbol error with the Tru64
2616
2617 2005-02-20  Murray Cumming  <murrayc@murrayc.com>
2618
2619         * tests/test_slot.cc, test_disconnect.cc: #included <new> to avoid
2620         an unresolved symbol error with the Tru64 compiler. Solutio found by
2621         Tim Mooney in bug #161503.
2622
2623 2005-02-20  Martin Schulze  <mschulze@cvs.gnome.org>
2624
2625         Add some documentation.
2626
2627 2005-02-20  Martin Schulze  <mschulze@cvs.gnome.org>
2628
2629         * sigc++/signal_base.h: Add some documentation.
2630
2631 2005-02-20  Martin Schulze  <mschulze@cvs.gnome.org>
2632
2633         Reset deferred_ flag to false in signal_impl::sweep() (Neal E. Coombes).
2634
2635 2005-02-20  Martin Schulze  <mschulze@cvs.gnome.org>
2636
2637         * sigc++/signal_base.cc: Reset deferred_ flag to false in
2638         signal_impl::sweep() (Neal E. Coombes). Partly fixes bug
2639         #167714.
2640
2641 2005-02-11  Martin Schulze  <mschulze@cvs.gnome.org>
2642
2643         Set the correct group in post-html.
2644
2645 2005-02-11  Martin Schulze  <mschulze@cvs.gnome.org>
2646
2647         * docs/manual/Makefile.am: Set the correct group in post-html.
2648
2649 2005-02-11  Murray Cumming  <murrayc@murrayc.com>
2650
2651         Fix typo in url for reference docs. Found by James Lin.
2652
2653 2005-02-11  Murray Cumming  <murrayc@murrayc.com>
2654
2655         * docs/website/doc.shtml: Fix typo in url for reference docs. Found by
2656         James Lin.
2657
2658 2005-02-11  Murray Cumming  <murrayc@src.gnome.org>
2659
2660         reverted stuff I did not mean to commit
2661
2662 2005-02-11  Murray Cumming  <murrayc@murrayc.com>
2663
2664         Fix typo in url for reference docs. Found by James Lin.
2665
2666 2005-02-11  Murray Cumming  <murrayc@murrayc.com>
2667
2668         * docs/website/doc.shtml: Fix typo in url for reference docs. Found by
2669         James Lin.
2670
2671 2005-02-06  Murray Cumming  <murrayc@murrayc.com>
2672
2673         temp_slot_list::begin(), end(): Actually return the iterators.
2674
2675 2005-02-06  Murray Cumming  <murrayc@murrayc.com>
2676
2677         * sigc++/signal_base.h: temp_slot_list::begin(), end(): Actually
2678         return the iterators.
2679
2680 2005-02-04  Neal E. Coombes  <nealc@trdlnk.com>
2681
2682         Add temp_slot_list struct to facilitate allowing new connections to a
2683
2684         2005-02-03  Neal E. Coombes <nealc@trdlnk.com>
2685
2686         * sigc++/signal_base.h: Add temp_slot_list struct to facilitate
2687         allowing new connections to a signal during an emittion without
2688         affecting that emittion.
2689         * sigc++/macros/signal.h.m4: Use the new struct temp_slot_list
2690         to
2691         prevent connections made during an emittion from being called in
2692         the
2693         same emittion (which has the potential of causing things like
2694         infinite loops).  This guarantees an emittion will be finite, as
2695         well
2696         as maintaining any order of emittion guarantees that may have
2697         already
2698         been in place.
2699
2700 2005-02-02  Murray Cumming  <murrayc@src.gnome.org>
2701
2702         Updated NEWS
2703
2704 2005-02-02  Murray Cumming  <murrayc@src.gnome.org>
2705
2706         Increase version
2707
2708 2005-02-02  Murray Cumming  <murrayc@src.gnome.org>
2709
2710         Reenabled tests
2711
2712 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
2713
2714         Add sigc::var<>() documentation, from Roger Ferrer Ibáñez in bug
2715
2716 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
2717
2718         * sigc++/adapators/macros/base.h.m4: Add sigc::var<>() documentation,
2719         from Roger Ferrer Ibáñez in bug #149483.
2720
2721 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
2722
2723         In the template specializations of visit_each(): As before, specify the
2724
2725 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
2726
2727         * sigc++/adaptors/macros/compose.h.m4: In the template specializations
2728         of visit_each(): As before, specify the specific other template
2729         specializations of visit_each that we use. Needed by AIX.
2730         * tests/Makefile.am: Reenabled most tests, because AIX can now
2731         build them.
2732
2733 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
2734
2735         [murrayc@localhost libsigc++2]$ more ChangeLog 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
2736
2737         * sigc++/visit_each.h: visit_each_type(): Specify the specific
2738         template specialization of visit_each<>() to use. The AIX compiler,
2739         and possibly the Tru64 compiler, need this extra hint.
2740
2741 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
2742
2743         Define bind_functor::operator() inline because the AIX compiler/linker
2744
2745 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
2746
2747         * bind.h.m4: Define bind_functor::operator() inline because the AIX
2748         compiler/linker sometimes fails to find it when it is defined
2749         outside of the class.
2750
2751 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
2752
2753         2.0.8:
2754
2755 2005-01-30  Murray Cumming  <murrayc@murrayc.com>
2756
2757         * sigc++/type_traits.h: is_base_and_derived: Added
2758         avoid_gcc3_warning_(), to avoid an incorrect warning when using
2759         g++ 3.3.5
2760
2761 2005-01-30  Murray Cumming  <murrayc@murrayc.com>
2762
2763         is_base_and_derived: Added avoid_gcc3_warning_(), to avoid an incorrect
2764
2765 2005-01-30  Murray Cumming  <murrayc@murrayc.com>
2766
2767         * sigc++/type_traits.h: is_base_and_derived: Added
2768         avoid_gcc3_warning_(), to avoid an incorrect warning when using
2769         g++ 3.3.5
2770
2771 2005-01-30  Liza Klerck  <liza@trdlnk.com>
2772
2773         Add a sigc:: namespace prefix to the nested use of visit_each(), to avoid
2774
2775 2005-01-28  Liza Klerck   <liza@trdlnk.com>
2776
2777         * sigc++/functors/macros/mem_fun.h.m4: Add a sigc:: namespace
2778         prefix to the nested use of visit_each(), to avoid ambiguity when
2779         using 2 versions of the libsigc++ API inside different namespace.
2780
2781 2005-01-27  Murray Cumming  <murrayc@murrayc.com>
2782
2783         Add a sigc:: namespace prefix to the nested use of visit_each(), to avoid
2784
2785 2005-01-27  Murray Cumming  <murrayc@murrayc.com>
2786
2787         * sigc++/adaptors/macros/adaptor_trait.h.m4: Add a sigc:: namespace
2788         prefix to the nested use of visit_each(), to avoid ambiguity when
2789         using 2 versions of the libsigc++ API inside different namespace,
2790         which is not very advisable anyway. Bug #165222 from
2791         liza at trdlnk.com.
2792
2793 2005-01-26  Murray Cumming  <murrayc@src.gnome.org>
2794
2795         Increased version
2796
2797 2005-01-25  Murray Cumming  <murrayc@src.gnome.org>
2798
2799         Updated NEWS
2800
2801 2005-01-24  Cedric Gustin  <cedric.gustin@swing.be>
2802
2803         Moved the SIGC_USING_STD macro definition out of the SIGC_CONFIGURE
2804
2805         2005-01-24  Cedric Gustin <cedric.gustin@swing.be>
2806
2807         * sigc++config.h.in : Moved the SIGC_USING_STD macro definition
2808         out of the SIGC_CONFIGURE section. We also need it for MSVC.
2809         * MSVC_Net2003/.cvsignore : Added .def and .aps files
2810         * MSVC_Net2003/Makefile.am: Rewrote rule for local copy of
2811         sigc++config.h (required for 'make distcheck').
2812         * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Added test_retype and
2813         test_disconnect_during_emit tests.
2814         * MSVC_Net2003/tests/test_disconnect_during_emit/*,
2815         MSVC_Net2003/tests/test_retype/*: Initial commit.
2816
2817 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
2818
2819         Disabled the test_accumulator, test_bind, and test_compose tests, and part
2820
2821 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
2822
2823         * tests/: Disabled the test_accumulator, test_bind, and test_compose
2824         tests, and part of test_mem_fun because the AIX xlC compiler can not
2825         build them, but it can still do most things, including the examples.
2826         See the comments in tests/Makefile.am.
2827
2828 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
2829
2830         non-member operator()(): Specify the extra nil arguments in the templated
2831
2832 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
2833
2834         * sigc++/adaptors/bind.h.m4: non-member operator()(): Specify the
2835         extra nil arguments in the templated class name prefix. Oddly, the
2836         AIX xlC compiler says that the type of the first parameter does not
2837         match the template if you don't do this.
2838
2839 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
2840
2841         is_base_and_derived struct: Move the is_base_class_() functions out of the
2842
2843 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
2844
2845         * sigc++/type_traits.h: is_base_and_derived struct: Move the
2846         is_base_class_() functions out of the inner class, because the AIX
2847         xlC compiler does not like that - see the comments in the code.
2848         * sigc++/adaptors/bind.h.m4: Add the extra nil template types to
2849         the template specializations, as in slot and signal.
2850
2851 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
2852
2853         slot and signal template specialization for various numbers of template
2854
2855 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
2856
2857         * sigc++/functors/macros/slot.h.m4, sigc++/macros/signal.h.m4:
2858         slot and signal template specialization for
2859         various numbers of template args: In the class slot line, specify
2860         all the remaining template types as null, instead of expecting the
2861         compiler to guess them in itself. This partly fixes the build on
2862         AIX with the xlC compiler. Bug #164685.
2863
2864 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
2865
2866         struct is_base_and_derived: Make the test inner struct a friend, so that
2867
2868 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
2869
2870         * sigc++/type_traits: struct is_base_and_derived: Make the test inner
2871         struct a friend, so that it can use the big inner struct. This is
2872         required by the Tru64 compiler.
2873         * sigc++/adaptors/lambda/base.h: Put the unwrap_lambda_value()
2874         definitions at the top, because Tru64 (understandably) needs them to
2875         be declared before use.
2876
2877 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
2878
2879         Added cxx_std.m4, with a test copied from glibmm/scripts/cxx_std.m4 to
2880
2881 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
2882
2883         * scripts/: Added cxx_std.m4, with a test copied from
2884         glibmm/scripts/cxx_std.m4 to check if the compiler has the std::
2885         namespace.
2886         * sigcconfig.h: #undef the new #define and add SIGC_USING_STD(),
2887         like GLIBMM_USING_STD, to put stuff in the std:: namespace when it
2888         is not there already,
2889         * configure.in: Used the new test.
2890         * tests/*: Uses SIG_USING_STD() for every std:: thing that we use.
2891         This is needed by the Tru64 and HP-UX compilers when using their
2892         defaults.
2893
2894 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
2895
2896         Added cxx_std.m4, with a test copied from glibmm/scripts/cxx_std.m4 to
2897
2898 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
2899
2900         * scripts/: Added cxx_std.m4, with a test copied from
2901         glibmm/scripts/cxx_std.m4 to check if the compiler has the std::
2902         namespace.
2903         * sigcconfig.h: #undef the new #define and add SIGC_USING_STD(),
2904         like GLIBMM_USING_STD, to put stuff in the std:: namespace when it
2905         is not there already,
2906         * configure.in: Used the new test.
2907         * tests/*: Uses SIG_USING_STD() for every std:: thing that we use.
2908         This is needed by the Tru64 and HP-UX compilers when using their
2909         defaults.
2910
2911 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
2912
2913         AC_INIT(): Provide the extra tarball name parameter, so that it does not
2914
2915 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
2916
2917         * configure.in: AC_INIT(): Provide the extra tarball name parameter,
2918         so that it does not create a libsigc--- tarball.
2919
2920 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
2921
2922         AC_INT(): Use libsigc++ instead of sigc++, attempting to get the correct
2923
2924 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
2925
2926         * configure.in: AC_INT(): Use libsigc++ instead of sigc++, attempting
2927         to get the correct tarball name.
2928
2929 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
2930
2931         Used the autoconf 2.93 and AM_INIT_AUTOMAKE() technique to specify ustar
2932
2933 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
2934
2935         * configure.in: Used the autoconf 2.93 and AM_INIT_AUTOMAKE()
2936         technique to specify ustar format for the tarball, to prevent files
2937         with long file names from appearing at the top of the tarball.
2938         Based on the same fix in gtkmm 2.6.
2939
2940 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
2941
2942         Specify the base class when using the rep_ member variable. This stops the
2943
2944 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
2945
2946         * sigc++/functors/macros/slot_h.m4: Specify the base class when
2947         using the rep_ member variable. This stops the HP-UX aCC compiler
2948         from saying that a Nonstatic member  is referenced in a nested class,
2949         local class or static member initializer. Bug #150719.
2950
2951 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
2952
2953         Bug #159597 - patch from e97_far at e.kth.se to replace C-style casts with
2954
2955 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
2956
2957         * Bug #159597 - patch from e97_far at e.kth.se to replace C-style
2958         casts with reinterpret_cast<> and static_cast<> to avoid warnings.
2959
2960 2005-01-17  Murray Cumming  <murrayc@murrayc.com>
2961
2962         Specifying html/index.html instead of just the html directory as a target
2963
2964 2005-01-17  Murray Cumming  <murrayc@murrayc.com>
2965
2966         * docs/manual/Makefile.am: Specifying html/index.html instead of
2967         just the html directory as a target seems to fix distcheck problems.
2968         I can also now confirm that the install works on solaris, when using
2969         gmake, though not when using make.
2970
2971 2005-01-17  Murray Cumming  <murrayc@murrayc.com>
2972
2973         Add built files to DISTCLEANFILES to fix the distcheck. Specify in paths,
2974
2975 2005-01-17  Murray Cumming  <murrayc@murrayc.com>
2976
2977         * MSVC_Net2004/Makefile.am: Add built files to DISTCLEANFILES to fix
2978         the distcheck.
2979         * docs/reference/Makefile.am, manual/Makefile.am: Specify  in
2980         paths, to fix distcheck of the manual, and maybe fix install problems
2981         on Solaris.
2982
2983 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
2984
2985         Updated the text about binary packages. Link to the 2.0 documentation
2986
2987 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
2988
2989         * docs/website/stable.html: Updated the text about binary packages.
2990         * docs/website/docs.html: Link to the 2.0 documentation instead of the
2991         1.2 documentation.
2992
2993 2005-01-11  GregSchussman  <schussman@slac.stanford.edu>
2994
2995         Clean up punctuation, make definitions complete sentences, and add
2996
2997 2004-12-17  GregSchussman  <schussman@slac.stanford.edu>
2998
2999         * glossary.shtml: Clean up punctuation, make definitions complete
3000         sentences, and add clarifications for certain definitions according to
3001         what Murray Cumming's suggestions and answers to my questions.
3002         Bug #161580.
3003
3004 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
3005
3006         Added manual, copied from the libsigc++-1.2 cvs module, and updated it for
3007
3008 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
3009
3010         * docs/: Added manual, copied from the libsigc++-1.2 cvs module,
3011         and updated it for the new 2.0 API.
3012
3013 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
3014
3015         Added website, copied from the libsigc++-1.2 cvs module. We will use it
3016
3017 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
3018
3019         * docs/: Added website, copied from the libsigc++-1.2 cvs module.
3020         We will use it from here from now on.
3021
3022 2004-12-12  Cedric Gustin  <cedric.gustin@swing.be>
3023
3024         parse version tags at configure time (for sigc-2.0.rc). New resource file.
3025
3026         2004-12-11  Cedric Gustin <cedric.gustin@swing.be>
3027
3028         * configure.ac : parse version tags at configure time (for
3029         sigc-2.0.rc).
3030         * MSVC_Net2003/sigc-2.0.rc.in : New resource file.
3031         * MSVC_Net2003/Makefile.am: include sigc-2.0.rc in distribution.
3032
3033 2004-12-08  Cedric Gustin  <cedric.gustin@swing.be>
3034
3035         get sigc++config.h from $(top_builddir) instead of $(top_srcdir).
3036
3037         2004-12-08  Cedric Gustin <cedric.gustin@swing.be>
3038
3039         * MSVC_Net2003/Makefile.am: get sigc++config.h from $(top_builddir)
3040         instead of $(top_srcdir).
3041
3042 2004-12-08  Cedric Gustin  <cedric.gustin@swing.be>
3043
3044         copy sigc++config.h from $(top_srcdir) at build time. sigc++config.h
3045
3046         2004-12-08  Cedric Gustin <cedric.gustin@swing.be>
3047
3048         * MSVC_Net2003/Makefile.am: copy sigc++config.h from $(top_srcdir)
3049         at build time. sigc++config.h removed from CVS.
3050
3051 2004-12-08  Cedric Gustin  <cedric.gustin@swing.be>
3052
3053         Renamed libsigc++ target to sigc-2.0d.dll (Debug) and sigc-2.0.dll
3054
3055         2004-12-08  Cedric Gustin <cedric.gustin@swing.be>
3056
3057         * MSVC_Net2003/*/*.vcproj: Renamed libsigc++ target to
3058         sigc-2.0d.dll (Debug) and sigc-2.0.dll (Release). Added
3059         $(SolutionDir) and $(SolutionDir)\.. to "Additional Include
3060         Directories" in tests projects.
3061         * sigc++config.h.in: Rewrote dllexport/dllimport macros for
3062         MSVC, for better consistency with glibmm/gtkmm.
3063         * MSVC_Net2003/Makefile.am: copy sigc++config.h from $(top_srcdir)
3064         at build time.
3065
3066 2004-11-27  Murray Cumming  <murrayc@murrayc.com>
3067
3068         Revert the AC_PROG_LIBTOOL change, so that this builds with actually
3069
3070 2004-11-27  Murray Cumming  <murrayc@murrayc.com>
3071
3072         * configure.in: Revert the AC_PROG_LIBTOOL change, so that this builds
3073         with actually released libtool versions, and in jhbuild, so that it
3074         gets testing.
3075
3076 2004-11-06  Martin Schulze  <mschulze@cvs.gnome.org>
3077
3078         Make catcher_ member public so that it can be accessed by visit_each()
3079
3080 2004-11-06  Martin Schulze  <mschulze@cvs.gnome.org>
3081
3082         * sigc++/adaptors/macros/exception_catch.h.m4: Make catcher_
3083         member
3084         public so that it can be accessed by visit_each() (bug reported
3085         on
3086         ml by Philip Langdale <plangdale@vmware.com>).
3087
3088 2004-10-24  Martin Schulze  <mschulze@cvs.gnome.org>
3089
3090         Link with the "multithreaded DLL" runtime libraries and enable RTTI for
3091
3092 2004-10-24  Martin Schulze  <mschulze@cvs.gnome.org>
3093
3094         *
3095         MSVC_Net2003/*/*.vcproj: Link with the "multithreaded DLL"
3096         runtime
3097         libraries and enable RTTI for the MSVC build
3098         (patch from Timothy M. Shead <tshead@k-3d.com>).
3099         * MSVC_Net2003/*/.cvsignore: Hide generated build files from cvs
3100         (patch from Timothy M. Shead <tshead@k-3d.com>).
3101
3102 2004-10-12  Martin Schulze  <mschulze@src.gnome.org>
3103
3104         Update ChangeLog (add '2.0.6:').
3105
3106 2004-10-12  Martin Schulze  <mschulze@cvs.gnome.org>
3107
3108         Fix project files to compile out-of-the-box and add dummy file so that .cc
3109
3110 2004-10-12  Martin Schulze  <mschulze@cvs.gnome.org>
3111
3112         * MSVC_Net2003/*/*.vcproj, MSVC_Net2003/blank.cpp: Fix project
3113         files
3114         to compile out-of-the-box and add dummy file so that .cc files
3115         get
3116         recognized as c++ code files (patch from Timothy M. Shead).
3117
3118 2004-10-12  Martin Schulze  <mschulze@cvs.gnome.org>
3119
3120         If SIGC_NEW_DELETE_IN_LIBRARY_ONLY is defined, implement
3121
3122         2004-10-10  Martin Schulze <mschulze@cvs.gnome.org>
3123
3124         * sigc++/signal_base.{h,cc}, sigc++/functors/slot_base.{h,cc},
3125         sigc++/functors/macros/slot.h.m4: If
3126         SIGC_NEW_DELETE_IN_LIBRARY_ONLY
3127         is defined, implement signal_base::operator new/delete and
3128         slot_rep::operator new/delete (suggested by Timothy M. Shead).
3129         Remove old work-around from 2004-10-02 since it didn't work.
3130
3131 2004-10-07  Martin Schulze  <mschulze@cvs.gnome.org>
3132
3133         Update for libtool 1.5a (with support for Intel C++). Remove bogus
3134
3135         2004-10-07  Martin Schulze <mschulze@cvs.gnome.org>
3136
3137         * configure.ac: Update for libtool 1.5a (with support for Intel C++).
3138         * MSVC_Net2003/sigc++config.h: Remove bogus '#define'
3139         (reported by Timothy M. Shead <tshead@k-3d.com>).
3140
3141 2004-10-02  Martin Schulze  <mschulze@cvs.gnome.org>
3142
3143         Bump version number to 2.0.6. Add ChangeLog summary for version 2.0.6.
3144
3145         2004-10-02  Martin Schulze <mschulze@cvs.gnome.org>
3146
3147         * configure.ac: Bump version number to 2.0.6.
3148         * NEWS: Add ChangeLog summary for version 2.0.6.
3149
3150 2004-10-02  Martin Schulze  <mschulze@src.gnome.org>
3151
3152         Update tests/.cvsignore (Martin)
3153
3154 2004-10-02  Martin Schulze  <mschulze@cvs.gnome.org>
3155
3156         Rename (typed_)slot_rep::detach to (typed_)slot_rep::destroy. Call the
3157
3158         2004-10-02  Martin Schulze <mschulze@cvs.gnome.org>
3159
3160         * sigc++/functors/slot_base.{h,cc},
3161         sigc++/functors/macros/slot.h.m4:
3162         Rename (typed_)slot_rep::detach to (typed_)slot_rep::destroy.
3163         Call the dtor of the functor stored in typed_slot_rep from
3164         destroy().
3165         A cleaner solution would be to add an additional "virtual"
3166         function
3167         that calls 'delete' or a real virtual dtor. However, this would
3168         be
3169         less efficient and might break the ABI. (Fixes #152323.)
3170
3171 2004-10-02  Martin Schulze  <mschulze@cvs.gnome.org>
3172
3173         Define and use new macro SIGC_NEW_DELETE_IN_LIBRARY_ONLY to ABI-compatibly
3174
3175         2004-10-02  Martin Schulze <mschulze@cvs.gnome.org>
3176
3177         * sigc++config.h.in, MSVC_Net2003/sigc++config.h,
3178         sigc++/signal_base.cc, sigc++/functors/slot_base.{h,cc},
3179         sigc++/functors/macros/slot.h.m4: Define and use new macro
3180         SIGC_NEW_DELETE_IN_LIBRARY_ONLY to ABI-compatibly move
3181         all calls to new and delete into non-inline library code.
3182
3183 2004-09-26  Martin Schulze  <mschulze@cvs.gnome.org>
3184
3185         Add a missing template keyword in the definition of
3186
3187         2004-09-26  Martin Schulze <mschulze@cvs.gnome.org>
3188
3189         * sigc++/adaptors/lambda/macros/group.h.m4: Add a missing
3190         template keyword in the definition of deduce_result_type::type
3191         (hopefully fixes #152327).
3192
3193 2004-09-26  Martin Schulze  <mschulze@cvs.gnome.org>
3194
3195         Use correct bound_mem_functor variants for const (volatile) methods (fixes
3196
3197         2004-09-26  Martin Schulze <mschulze@cvs.gnome.org>
3198
3199         * sigc++/macros/object_slot.h.m4: Use correct bound_mem_functor
3200         variants for const (volatile) methods (fixes #148744).
3201
3202 2004-09-01  Martin Schulze  <mschulze@cvs.gnome.org>
3203
3204         Correct link to lambda module.
3205
3206         2004-09-01  Martin Schulze <mschulze@cvs.gnome.org>
3207
3208         * docs/index.html: Correct link to lambda module.
3209
3210 2004-09-01  Martin Schulze  <mschulze@src.gnome.org>
3211
3212         update .cvsignore
3213
3214 2004-09-01  Martin Schulze  <mschulze@cvs.gnome.org>
3215
3216         Update compatibility section.
3217
3218         2004-09-01  Martin Schulze <mschulze@cvs.gnome.org>
3219
3220         * README: Update compatibility section.
3221
3222 2004-09-01  Martin Schulze  <mschulze@cvs.gnome.org>
3223
3224         2.0.5:
3225
3226         2004-09-01  Martin Schulze <mschulze@cvs.gnome.org>
3227
3228         * MSVC_Net2003/Makefile.am: Add sigc++config.h to EXTRA_DIST.
3229         * configure.ac: Bump version number to 2.0.5.
3230         * NEWS: Add ChangeLog summary for version 2.0.5.
3231
3232 2004-08-21  Martin Schulze  <mschulze@cvs.gnome.org>
3233
3234         Use sigc::var("\n") instead of sigc::ref("\n"). Comment out the affected
3235
3236         2004-08-21  Martin Schulze <mschulze@cvs.gnome.org>
3237
3238         * tests/test_lambda.cc: Use sigc::var("\n") instead of
3239         sigc::ref("\n").
3240         Comment out the affected lines, nevertheless.
3241         Sun FORTE and Compaq C++ can handle neither sigc::ref("\n") nor
3242         sigc::var("\n"). I see more chances fixing sigc::var("\n").
3243         * sigc++/adaptors/lambda/macros/base.h.m4: Add a comment about a
3244         possible work around for sigc::var("\n") compiler problems.
3245         * tests/test_compatibility.cc: Remove a 'const' keyword that
3246         prevents
3247         the test case from compiling with the Sun FORTE.
3248         * tests/test_trackable.cc: Remove a 'virtual' keyword and an
3249         unused
3250         variable to avoid compiler warnings.
3251         * NEWS: Add ChangeLog summary for version 2.0.4.
3252
3253 2004-08-09  Murray Cumming  <murrayc@src.gnome.org>
3254
3255         tiny ChangeLog fix
3256
3257 2004-08-04  James Lin  <slimjimmy@mail.com>
3258
3259         Added SIGC_API qualifier to all externally-visible non-template
3260
3261         2004-08-03  James Lin <slimjimmy@mail.com>
3262
3263         * Added SIGC_API qualifier to all externally-visible
3264         non-template
3265         classes/structs.
3266         * Added #include <sigc++config.h> to the files that use
3267         SIGC_API.
3268         * Added empty SIGC_API definition to sigc++config.h.in for
3269         non-MSVC
3270         compilers.  I'm not sure if this is the right place to put this
3271         (probably not).
3272         * Added MSVC-specific sigc++config.h to the MSVC project
3273         directory.
3274         (The comment in it probably should be edited.)
3275         * Changed MSVC project settings to output a multi-threaded DLL,
3276         set
3277         the include paths to work (hopefully) out-of-the-box.  Disabled
3278         precompiled headers, since they just complicate things and
3279         shouldn't be necessary for such a relatively project.
3280
3281 2004-08-03  James Lin  <slimjimmy@mail.com>
3282
3283         Added SIGC_API qualifier to all externally-visible non-template
3284
3285         2004-08-03  James Lin <slimjimmy@mail.com>
3286
3287         * Added SIGC_API qualifier to all externally-visible
3288         non-template
3289         classes/structs.
3290         * Added #include <sigc++config.h> to the files that use
3291         SIGC_API.
3292         * Added empty SIGC_API definition to sigc++config.h.in for
3293         non-MSVC
3294         compilers.  I'm not sure if this is the right place to put this
3295         (probably not).
3296         * Added MSVC-specific sigc++config.h to the MSVC project
3297         directory.
3298         (The comment in it probably should be edited.)
3299         * Changed MSVC project settings to output a multi-threaded DLL,
3300         set
3301         the include paths to work (hopefully) out-of-the-box.  Disabled
3302         precompiled headers, since they just complicate things and
3303         shouldn't be necessary for such a relatively project.
3304
3305 2004-08-01  Martin Schulze  <mschulze@cvs.gnome.org>
3306
3307         Remove type_trait<>::instance() (was unimplemented and unused; caused
3308
3309         2004-08-01  Martin Schulze <mschulze@cvs.gnome.org>
3310
3311         * sigc++/type_traits.h: Remove type_trait<>::instance()
3312         (was unimplemented and unused; caused problems with the MSVC).
3313
3314 2004-07-23  Martin Schulze  <mschulze@cvs.gnome.org>
3315
3316         Fix typo concerning distribution of libsigc++-2.0.spec. Mention our
3317
3318         2004-07-23  Martin Schulze <mschulze@cvs.gnome.org>
3319
3320         * Makefile.am: Fix typo concerning distribution of
3321         libsigc++-2.0.spec.
3322         * AUTHORS: Mention our contributors for platforms Sun FORTE and
3323         Intel C++.
3324
3325 2004-07-15  Martin Schulze  <mschulze@cvs.gnome.org>
3326
3327         Don't call operator()() in sun_forte_workaround(); rather copy
3328
3329         2004-07-15  Martin Schulze <mschulze@cvs.gnome.org>
3330
3331         * *.h.m4: Don't call operator()() in sun_forte_workaround(); rather copy
3332         operator()(). Calling operator()() makes a copy of the arguments causing
3333         wrong results if an argument type is a reference. Hopefully fixes #147311.
3334
3335 2004-07-15  Martin Schulze  <mschulze@cvs.gnome.org>
3336
3337         Break "std::cout << [expr] << a << std::endl;" into "std::cout << [expr];
3338
3339         2004-07-15  Martin Schulze <mschulze@cvs.gnome.org>
3340
3341         * tests/test_lambda.cc: Break "std::cout << [expr] << a << std::endl;"
3342         into "std::cout << [expr]; std::cout << a << std::endl;".
3343         I hope this fixes #147313 where the right values for "[expr]" but wrong
3344         values for "a" were written to std::cout for some compiler with optimizations
3345         turned off.
3346
3347 2004-07-15  Martin Schulze  <mschulze@cvs.gnome.org>
3348
3349         Correct return type deduction of lambda expressions in
3350
3351         2004-07-15  Martin Schulze <mschulze@cvs.gnome.org>
3352
3353         * sigc++/adaptors/lambda/macros/operator.h.m4: Correct return type deduction
3354         of lambda expressions in lambda_operator*::operator()(). Might be related to
3355         bug #147313.
3356         * sigc++/adaptors/lambda/macros/group.h.m4: Use m4 macro _P_().
3357
3358 2004-07-15  Martin Schulze  <mschulze@cvs.gnome.org>
3359
3360         Add configure check SIGC_OPERATOR_OVERLOAD_AMBUGUITY for a SUN FORTE
3361
3362         2004-07-15  Martin Schulze <mschulze@cvs.gnome.org>
3363
3364         * scripts/cxx.m4, sigc++config.h.in, configure.ac,
3365         sigc++/adaptors/lambda/macros/operator.h.m4, tests/test_lambda.cc:
3366         Add configure check SIGC_OPERATOR_OVERLOAD_AMBUGUITY for a SUN FORTE
3367         compiler problem (bug #147391). Use it to decide whether the lambda
3368         action operators may be overloaded (not doing so restricts the API slightly).
3369         * sigc++/adaptors/lambda/macros/operator.h.m4: Add some doxygen comments
3370         and remove attic code.
3371         * sigc++/adaptors/lambda/macros/base.h.m4:
3372         Add templates unwrap_lambda_type and unwrap_lambda_value() to support
3373         the non-overloaded lambda action operators. Also add some doxygen comments
3374         and remove attic code.
3375         * sigc++/adaptors/lambda/macros/group.h.m4: Fix a bug that resulted in
3376         gargabe values being passed on to the functor contained in the group adaptor
3377         (partly fixes #147313).
3378
3379 2004-07-11  Martin Schulze  <mschulze@cvs.gnome.org>
3380
3381         Split SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD into
3382
3383         2004-07-11  Martin Schulze <mschulze@cvs.gnome.org>
3384
3385         * scripts/cxx.m4, sigc++config.h.in, configure.ac, *.h.m4:
3386         Split SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
3387         into SIGC_CXX_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
3388         and SIGC_CXX_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD.
3389         Remove LIBSIGC_TEMPLATE_PREFIX. Add template keyword to
3390         SIGC_WORKAROUND_OPERATOR_PARENTHESES depending on the configure
3391         checks.
3392         Should fix the compiler problems with MSVC.
3393
3394 2004-07-11  Martin Schulze  <mschulze@cvs.gnome.org>
3395
3396         Use sigc::ptr_fun instead of std::ptr_fun. (fixes bug #144846)
3397
3398         2004-07-11  Martin Schulze <mschulze@cvs.gnome.org>
3399
3400         * examples/hello_world.cc: Use sigc::ptr_fun instead of
3401         std::ptr_fun.
3402         (fixes bug #144846)
3403
3404 2004-07-11  Eric Bourque  <ericb@computer.org>
3405
3406         new file patched generate spec file ignore generated file (Martin Schulze)
3407
3408         2004-07-11  Eric Bourque <ericb@computer.org>
3409
3410         * libsigc++-2.0.spec.in: new file
3411         * configure.ac : patched generate spec file
3412         * .cvsignore: ignore generated file (Martin Schulze)
3413         * Makefile.am: distribute spec file (Martin Schulze)
3414
3415 2004-07-11  Murray Cumming  <murrayc@murrayc.com>
3416
3417         Added some comments. operator=(): Check for self-asignment, though I do
3418
3419 2004-07-11  Murray Cumming  <murrayc@murrayc.com>
3420
3421         * sigc++/connection.cc: Added some comments.
3422         * sigc++/trackable.cc: operator=(): Check for self-asignment, though I
3423         do not know of any actual bug that this fixes. Added some comments.
3424         * sigc++/trackable.h Added some doxygen documentation.
3425
3426 2004-07-09  Murray Cumming  <murrayc@murrayc.com>
3427
3428         Added test_disconnect_during_emit.cc, to prove that this works.
3429
3430 2004-07-09  Murray Cumming  <murrayc@murrayc.com>
3431
3432         * tests/: Added test_disconnect_during_emit.cc, to prove that this
3433         works.
3434
3435 2004-07-08  Murray Cumming  <murrayc@murrayc.com>
3436
3437         foo::operator(int): return a value. The SUN Forte 5.5 compiler complains
3438
3439 2004-07-08  Murray Cumming  <murrayc@murrayc.com>
3440
3441         * sigc++/tests/test_retype_return.cc: foo::operator(int): return a
3442         value. The SUN Forte 5.5 compiler complains about this, as it should.
3443
3444 2004-07-08  Murray Cumming  <murrayc@murrayc.com>
3445
3446         class signal*: Rename the slot_list typedef to slot_list_type, because
3447
3448 2004-07-08  Murray Cumming  <murrayc@murrayc.com>
3449
3450         * sigc++/macros/signal.h.m4: class signal*: Rename the slot_list
3451         typedef to slot_list_type, because there is already a template class
3452         called slot_type. SUN Forte 5.5 seems to complain about this and I am
3453         not surprised. The old typdef is still there for backwards
3454         compatibility, except when building with SUN Forte.
3455
3456 2004-07-07  Murray Cumming  <murrayc@murrayc.com>
3457
3458         SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD(): Don't define the
3459
3460 2004-07-07  Murray Cumming  <murrayc@murrayc.com>
3461
3462         * scripts/cxx.m4: SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD():
3463         Don't define the SIGC_TEMPLATE_SPECIALIZATOIN_OPERATOR_OVERLOAD C
3464         macro at all if the test fails. This might fix the build on SUN Forte.
3465         * sigc++/functors/macros/mem_fun.h.m4: Default constructor: Initialize
3466         the func_ptr_ member variable. I have no evidence that this solves any
3467         problems, but it worried me.
3468         * sigc++/functors/slot_base.h: operator bool(): Correct documentation,
3469         to use @code instead of <code>
3470         * sigc++/macros/signal.h.m4: Remove the documentation for the
3471         parameters named first and last, because they do not exist.
3472
3473 2004-05-31  Martin Schulze  <mschulze@cvs.gnome.org>
3474
3475         Add '--force'-flag to the 'libtoolize'-command (bug #143425).
3476
3477 2004-05-31  Martin Schulze  <mschulze@cvs.gnome.org>
3478
3479         * autogen.sh: Add '--force'-flag to the 'libtoolize'-command (bug #143425).
3480
3481 2004-05-30  Martin Schulze  <mschulze@cvs.gnome.org>
3482
3483         Bump version number to 2.0.3. Add ChangeLog summary for version 2.0.3. Fix
3484
3485 2004-05-30  Martin Schulze  <mschulze@cvs.gnome.org>
3486
3487         * configure.ac: Bump version number to 2.0.3.
3488         * NEWS: Add ChangeLog summary for version 2.0.3.
3489         * sigc++/macros/signal.h.m4: Fix segfault on emission of unconnected sig
3490         nal.
3491         * tests/test_signal.cc, tests/test_accumulated.cc: Emit unconnected sign
3492         al.
3493         * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
3494         dynamic_cast<>-test (tested by Christof Petig/Timothy M. Shead).
3495
3496 2004-05-23  Martin Schulze  <mschulze@cvs.gnome.org>
3497
3498         Bump version number to 2.0.2. Add ChangeLog summary for version 2.0.2.
3499
3500 2004-05-22  Martin Schulze  <mschulze@cvs.gnome.org>
3501
3502         * configure.ac: Bump version number to 2.0.2.
3503         * NEWS: Add ChangeLog summary for version 2.0.2.
3504
3505 2004-05-20  Martin Schulze  <mschulze@cvs.gnome.org>
3506
3507         If a custom accumulator is specified invoke it on signal emission even if
3508
3509 2004-05-20  Martin Schulze  <mschulze@cvs.gnome.org>
3510
3511         * sigc++/macros/signal.h.m4: If a custom accumulator is specified
3512         invoke it on signal emission even if the signal's slot list is empty.
3513         (This used to be the case in libsigc++-1.2 as pointed out by Timothy.)
3514
3515 2004-05-20  Martin Schulze  <mschulze@cvs.gnome.org>
3516
3517         Suppress compiler warning at dynamic_cast<>-test (suggested by Timothy M.
3518
3519 2004-05-20  Martin Schulze  <mschulze@cvs.gnome.org>
3520
3521         * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
3522         dynamic_cast<>-test (suggested by Timothy M. Shead).
3523
3524 2004-05-01  Martin Schulze  <mschulze@cvs.gnome.org>
3525
3526         Updated for libsigc++-2.0.
3527
3528 2004-05-01  Martin Schulze  <mschulze@cvs.gnome.org>
3529
3530         * README: Updated for libsigc++-2.0.
3531
3532 2004-04-28  Martin Schulze  <mschulze@cvs.gnome.org>
3533
3534         Bump version number to 2.0.1. Add ChangeLog summary for version 2.0.1.
3535
3536 2004-04-27  Martin Schulze  <mschulze@cvs.gnome.org>
3537
3538         * configure.ac: Bump version number to 2.0.1.
3539         * NEWS: Add ChangeLog summary for version 2.0.1.
3540         * sigc++/adaptors/lambda/macros/base.h.m4: Fixed documentation.
3541         * sigc++/adaptors/macros/bind.h.m4: Hide work-arounds from doxygen.
3542         * scripts/cxx.m4, sigc++config.h.in, configure.ac,
3543         sigc++/adaptors/macros/bind.h.m4: Removed configure     check. It
3544         showed that the Apple gcc can also compile the sophisticated version
3545         of the work-around.
3546
3547 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
3548
3549         Modified test for SigC::Object inheritance so that it also works if
3550
3551 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
3552
3553         * sigc++/macros/object_slot.h.m4: Modified test for SigC::Object
3554         inheritance so that it also works if SigC::Object is virtual base.
3555         (Fixes bug 141094 reported by Jonathan Brandmeyer)
3556
3557 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
3558
3559         Updated the configure check. It would probably have succeeded on the
3560
3561 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
3562
3563         * scripts/cxx.m4: Updated the configure check. It would probably
3564         have succeeded on the Apple.
3565
3566 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
3567
3568         Add work-arounds for bind<-1>::deduce_result_type compilation error on
3569
3570 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
3571
3572         * sigc++/adaptors/macros/bind.h.m4: Add work-arounds for
3573         bind<-1>::deduce_result_type compilation error on Apple gcc 3.3.
3574         * scripts/cxx.m4, sigc++config.h.in, configure.ac: Add configure
3575         check for the compilation error above.
3576         * sigc++/adaptors/lambda/macros/operator.h.m4: Replace _A with
3577         _Aa. _A is a reserved keyword on Apple gcc 3.3 (Spundun Bhatt).
3578         (fixes bug #10444 reported by Spundun Bhatt)
3579
3580 2004-04-19  Martin Schulze  <mschulze@cvs.gnome.org>
3581
3582         Fixed serious bug in signal_base::impl(): Only reference a newly created
3583
3584 2004-04-19  Martin Schulze  <mschulze@cvs.gnome.org>
3585
3586         * sigc++/signal_base.cc: Fixed serious bug in signal_base::impl():
3587         Only reference a newly created object (initial reference).
3588         (This fixes bug #140269 reported by Andris.)
3589
3590 2004-04-19  Murray Cumming  <murrayc@murrayc.com>
3591
3592         Updated the operator() template check, because it failed with gcc 3.4
3593
3594 2004-04-19  Murray Cumming  <murrayc@murrayc.com>
3595
3596         * scripts/cxx.m4: Updated the operator() template check, because it
3597         failed with gcc 3.4 (from cvs). Apparently the template keyword can
3598         only be used from another template.
3599
3600 2004-04-12  Martin Schulze  <mschulze@cvs.gnome.org>
3601
3602         Bump version number to 2.0.0. Add ChangeLog summary for version 2.0.0.
3603
3604 2004-04-06  Martin Schulze  <mschulze@cvs.gnome.org>
3605
3606         * configure.ac: Bump version number to 2.0.0.
3607         * NEWS: Add ChangeLog summary for version 2.0.0.
3608         * TODO, AUTHORS: Bring up to date.
3609         * sigc++-2.0.pc.in, Makefile.am: 1.9 -> 2.0
3610         * Added more documentation.
3611
3612 2004-04-10  Murray Cumming  <murrayc@murrayc.com>
3613
3614         Implement blocked() to avoid undefined symbol linker error.
3615
3616 2004-04-10  Murray Cumming  <murrayc@murrayc.com>
3617
3618         * sigc++/connection.[h|cc]: Implement blocked() to avoid undefined
3619         symbol linker error.
3620
3621 2004-04-07  Murray Cumming  <murrayc@murrayc.com>
3622
3623         dist the scripts directory.
3624
3625 2004-04-08  Murray Cumming  <murrayc@murrayc.com>
3626
3627         * dist the scripts directory.
3628
3629 2004-04-06  Martin Schulze  <teebaum@cvs.gnome.org>
3630
3631         Bump version number to 1.9.16. Add ChangeLog summary for version 1.9.16.
3632
3633 2004-04-06  Martin Schulze  <teebaum@cvs.gnome.org>
3634
3635         * configure.ac: Bump version number to 1.9.16.
3636         * NEWS: Add ChangeLog summary for version 1.9.16.
3637
3638 2004-04-02  Murray Cumming  <murrayc@murrayc.com>
3639
3640         Make block() and unblock() always return a value, to fix compiler
3641
3642 2004-04-02  Murray Cumming  <murrayc@murrayc.com>
3643
3644         * sigc++/connection.cc: Make block() and unblock() always return a
3645         value, to fix compiler warnings. Patch from bug #138620 by
3646         Alexander Nedotsukov.
3647
3648 2004-04-02  Murray Cumming  <murrayc@murrayc.com>
3649
3650         * Fix the compile of examples/member_method.cc. Bug #131701 from
3651         Kirill Smelkov. I also made the examples build as part of the regular
3652         build.
3653
3654 2004-04-02  Murray Cumming  <murrayc@murrayc.com>
3655
3656         Remove every undef apart from the one we need, to avoid clashes, because
3657
3658 2004-04-02  Murray Cumming  <murrayc@murrayc.com>
3659
3660         * sigc++config.h.m4: Remove every undef apart from the one we need, to
3661         avoid clashes, because we #include this in a public header.
3662
3663 2004-03-25  Murray Cumming  <murrayc@murrayc.com>
3664
3665         Rename the template_keyword check to template_specialization, because the
3666
3667 2004-03-25  Murray Cumming  <murrayc@murrayc.com>
3668
3669         * scripts/cxx.m4, configure.in, sigc++config.h.in: Rename the
3670         template_keyword check to template_specialization, because the problem
3671         is with or without the keyword.
3672         * sigc++/adaptors/macros/adaptor_trait.h.m4: Define
3673         SIGC_WORKAROUND_OPERATOR_PARENTHESES, which calls either operator() or
3674         sun_forte_workaround() depending on the result of the compiler test.
3675         * many .m4 files: Add sun_forte_workaround methods that call the
3676         operator() methods. Put them in #ifdefs so that only SUN Forte C++
3677         sees them.
3678
3679 2004-03-21  Murray Cumming  <murrayc@murrayc.com>
3680
3681         Fix the sigc++config.h.in disting, to fix make distcheck.
3682
3683 2004-03-22  Murray Cumming  <murrayc@murrayc.com>
3684
3685         * Makefile.am, sigc++/Makfile.am: Fix the sigc++config.h.in disting,
3686         to fix make distcheck.
3687
3688 2004-03-21  Murray Cumming  <murrayc@murrayc.com>
3689
3690         Rename config.h.in to sigc++config.h.in so that gtkmm does not include
3691
3692 2004-03-21  Murray Cumming  <murrayc@murrayc.com>
3693
3694         * Rename config.h.in to sigc++config.h.in so that gtkmm does not
3695         include some other config.h at strange times - fixes a problem in
3696         the gtkmm demos. This should really be in the sigc++ directory, but
3697         that seems to add that as an include path, which causes the STL
3698         headers to include sigc++/signal.h instead of some STL signal.h header.
3699
3700 2004-03-20  Murray Cumming  <murrayc@murrayc.com>
3701
3702         Install the config.h platform-specific header. Report the include path for
3703
3704 2004-03-20  Murray Cumming  <murrayc@murrayc.com>
3705
3706         * Makefile.am: Install the config.h platform-specific header.
3707         * sigc++-2.0.pc.in: Report the include path for config.h
3708
3709 2004-03-19  Murray Cumming  <murrayc@murrayc.com>
3710
3711         Added config.h.in, using autoheader, from which config.h will be
3712
3713 2004-03-20  Murray Cumming  <murrayc@murrayc.com>
3714
3715         * Added config.h.in, using autoheader, from which config.h will be
3716         generated, so we can detect compiler features.
3717         * configure.ac: Added AC_CONFIG_HEADER(config.h) to generate config.h
3718         from config.h.in.
3719         * scripts/cxx.m4: Added this directory and file, with a
3720         SIGC_CXX_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD macro that defines
3721         the SIGC_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD C macro.
3722         * autogen.sh: Added -I scripts to the aclocal call, so that it finds
3723         the m4 macro for configure.ac.
3724         * sigc++/adapators/macros/adaptor_trait.h.m4: Include config.h and
3725         use SIGC_TEMPLATE_KEYOWRD_OPERATOR_OVERLOAD.
3726
3727 2004-03-17  Martin Schulze  <mschulze@cvs.gnome.org>
3728
3729         Don't test making functors from overloaded methods with partial template
3730
3731 2004-03-18  Martin Schulze  <mschulze@cvs.gnome.org>
3732
3733         * tests/test_mem_fun.cc, tests/test_ptr_fun.cc: Don't test
3734         making functors from overloaded methods with partial template
3735         specialization. Not portable among different compilers (SUN FORTE).
3736         * adaptors/macros/apdaptor_trait.h.m4: Only gcc seems to use the
3737         notation A.template operator()<...>(...) => adapt preprocessor check
3738         for #define LIBSIGC_TEMPLATE_PREFIX. TODO: replace with configure check.
3739
3740 2004-03-13  Murray Cumming  <murrayc@murrayc.com>
3741
3742         slot_iterator_buf::operator*(): Use blocked() and empty() instead of
3743
3744 2004-03-13  Murray Cumming  <murrayc@murrayc.com>
3745
3746         * g++ 3.4 (pre-release) build fixes:
3747         * sigc++/macros/signal.h.m4: slot_iterator_buf::operator*():
3748         Use blocked() and empty() instead of non-existant blocked_and_empty().
3749         * sigc++/functors/macros/mem_fun.h.m4: memfun_functor*::operator()():
3750         Use this->func_ptr_ instead of just func_ptr_.
3751         * sigc++/adaptors/macros/deduce_result_type.h.m4: Use
3752         T_functor::template deduce_result_type<> instead of just
3753         T_functor::deduce_result_type<>.
3754         * sigc++/adaptors/lambda/macros/base.h.m4, operator.h.m4, group.h.m4::
3755         Use template keyword again. operator[](): Use this->value_ instead of
3756         just value_.
3757         * sigc++/adaptors/lambda/macros/bind/m4: Use template keyword, and
3758         this-> again.
3759         * sigc++/adaptors/macros/compose.h.m4, hide.h.m4, bind_return.h.m4,
3760         exception_catch.h.m4:
3761         rettype.h.m4, rettype_return.h.m4: Use template keyword,and this-> again
3762
3763 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
3764
3765         Bump version number to 1.9.15. Add ChangeLog summary for version 1.9.15.
3766
3767 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
3768
3769         * configure.ac: Bump version number to 1.9.15.
3770         * NEWS: Add ChangeLog summary for version 1.9.15.
3771
3772 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
3773
3774         Make the unnumbered slot templates' copy ctors use the copy ctors of the
3775
3776 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
3777
3778         * sigc++/functors/macros/slot.h.m4: Make the unnumbered slot templates'
3779         copy ctors use the copy ctors of the base class. Fixes bug #24698.
3780         * tests/test_slot.cc: Test copy ctor (Bryan Forbes).
3781
3782 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
3783
3784         Bring it up-to-date (use sigc::ref). Make it work with the SUN Forte.
3785
3786 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
3787
3788         * tests/type_functor_trait.cc: Bring it up-to-date (use sigc::ref).
3789         Make it work with the SUN Forte.
3790
3791 2004-02-24  Martin Schulze  <teebaum@cvs.gnome.org>
3792
3793         Make is_base_and_derived<> work with the SUN Forte.
3794
3795 2004-02-24  Martin Schulze  <teebaum@cvs.gnome.org>
3796
3797         * sigc++/type_traits.h: Make is_base_and_derived<> work with the SUN Forte.
3798
3799 2004-02-19  Martin Schulze  <teebaum@cvs.gnome.org>
3800
3801         Make is_base_and_derived<> platform independant. Make lambda_core<> ctors
3802
3803 2004-02-19  Martin Schulze  <teebaum@cvs.gnome.org>
3804
3805         * sigc++/type_traits.h: Make is_base_and_derived<> platform independant.
3806         * sigc++/adaptors/lambda/macros/base.h.m4: Make lambda_core<> ctors
3807         explicit. Remove an unused ctor from lambda_core<T_type, true>.
3808
3809 2004-02-14  Martin Schulze  <teebaum@cvs.gnome.org>
3810
3811         Move some documentation to slot_base.h. Move some documentation to
3812
3813 2004-02-14  Martin Schulze  <teebaum@cvs.gnome.org>
3814
3815         * sigc++/functors/slot_base.h, sigc++/functors/macros/slot.h.m4:
3816         Move some documentation to slot_base.h.
3817         * sigc++/signal_base.h, sigc++/macros/signal.h.m4:
3818         Move some documentation to signal_base.h.
3819
3820         API addition:
3821         * sigc++/functors/macros/slot.h.m4: Add numbered slot# templates.
3822         Make unnumbered slot templates inherit from slot#.
3823
3824         API change:
3825         * sigc++/functors/macros/mem_fun.h.m4: Allow for methods of the object's
3826         base types to be passed into sigc::mem_fun(). (Used to be the case in
3827         libsigc++-1.2).
3828
3829 2004-02-13  Murray Cumming  <murrayc@usa.net>
3830
3831         Create and use a typedef for the destroy_notify callback functions, to
3832
3833 2004-02-13  Murray Cumming  <murrayc@usa.net>
3834
3835         * sigc++/functors/slot_base.[h|cc], sigc++/trackable.[h|cc]: Create
3836         and use a typedef for the destroy_notify callback functions, to avoid
3837         confusion function pointer declaration syntax in the API.
3838
3839 2004-02-13  Murray Cumming  <murrayc@murrayc.com>
3840
3841         * Moved implementation to .cc files:
3842         * sigc++/functors/: Added slot_base.[h|cc] which contains non-template
3843         code that was previsouly in the generated functors/slot.h and
3844         non-generated slot.cc files. All non-inline implementation is now in
3845         the .cc file.
3846         * sigc++/functors/macros/slot.m4: Removed the code that has been moved
3847         to slot_base.[h|cc].
3848         * sigc++/: Added signal_base.[h|cc] which contains non-template code
3849         that was previously in the generated signal.h and non-generated
3850         signal.cc file. All non-inline implementation is now in the .cc file.
3851         * sigc++/macros/signal.m4: Removed the code that ahs been moved to
3852         signal.cc
3853         * sigc++/connector.[h|cc]: method implementation moved to the .cc file.
3854
3855 2004-02-13  Martin Schulze  <teebaum@cvs.gnome.org>
3856
3857         Bump version number to 1.9.14. Add ChangeLog summary for version 1.9.14.
3858
3859 2004-02-13  Martin Schulze  <teebaum@cvs.gnome.org>
3860
3861         * configure.ac: Bump version number to 1.9.14.
3862         * NEWS: Add ChangeLog summary for version 1.9.14.
3863
3864 2004-02-10  Murray Cumming  <murrayc@usa.net>
3865
3866         slot_base: Added operator bool(), needed to check for a slot that is
3867
3868 2004-02-09  Murray Cumming  <murrayc@usa.net>
3869
3870         * sigc++/macros/slot.h.m4: slot_base: Added operator bool(), needed to
3871         check for a slot that is created with the default constructor. This was
3872         present in libsigc++ 1.2 also.
3873
3874 2004-02-06  Murray Cumming  <murrayc@usa.net>
3875
3876         Build the docs directory, by adding it to SUBDIRS. Updated to be more
3877
3878 2004-02-06  Murray Cumming  <murrayc@usa.net>
3879
3880         * Makefile.am: Build the docs directory, by adding it to SUBDIRS.
3881         * docs/Doxyfile.in: Updated to be more glibmm-like.
3882         * Added some @deprecated doxygen bits.
3883         * sigc++/macros/signal.h.m4: Call base constructor from signal_base
3884         constructor - this is an error-as-warning when building gtkmm.
3885
3886 2003-11-30  Martin Schulze  <teebaum@cvs.gnome.org>
3887
3888         Bump version number to 1.9.13. Add ChangeLog summary for version 1.9.13.
3889
3890 2003-11-30  Martin Schulze  <teebaum@cvs.gnome.org>
3891
3892         * configure.ac: Bump version number to 1.9.13.
3893         * NEWS: Add ChangeLog summary for version 1.9.13.
3894         * Makefile.am, MSVC_Net2003/Makefile.am, configure.ac:
3895         Distribute MS .Net project files.
3896         * sigc++/adaptors/macros/[bind,hide].h.m4: Correct and add
3897         documentation. Make hide_functor ctor explicit.
3898
3899 2003-11-30  Martin Schulze  <teebaum@cvs.gnome.org>
3900
3901         Bump version number to 1.9.13. Add ChangeLog summary for version 1.9.13.
3902
3903 2003-11-30  Martin Schulze  <teebaum@cvs.gnome.org>
3904
3905         * configure.ac: Bump version number to 1.9.13.
3906         * NEWS: Add ChangeLog summary for version 1.9.13.
3907         * Makefile.am, MSVC_Net2003/Makefile.am, configure.ac:
3908         Distribute MS .Net project files.
3909         * sigc++/adaptors/macros/[bind,hide].h.m4: Correct and add
3910         documentation. Make hide_functor ctor explicit.
3911
3912 2003-11-11  Martin Schulze  <teebaum@cvs.gnome.org>
3913
3914         Change to zero-based argument index in numbered bind() and hide() overload
3915
3916 2003-11-11  Martin Schulze  <teebaum@cvs.gnome.org>
3917
3918         * sigc++/adaptors/macros/[bind,hide].h.m4: Change to zero-based
3919         argument index in numbered bind() and hide() overload
3920         (Agreement on the mailing list).
3921         Support binding up to CALL_SIZE arguments with one bind adaptor.
3922         (Requested by joey yandle and others).
3923         Only support binding of multiple arguments in unnumberd overloads
3924         to keep the API simple (Requested by Murray Cumming).
3925         * tests/test_[bind,hide,functor_trait].cc, sigc++/bind.h:
3926         Reflect API changes in compatibility module and test cases.
3927
3928 2003-11-10  Martin Schulze  <teebaum@cvs.gnome.org>
3929
3930         Add unnumbered bind() and hide() overloads to make specifying the argument
3931
3932 2003-11-10  Martin Schulze  <teebaum@cvs.gnome.org>
3933
3934         * sigc++/adaptors/macros/[bind,hide].h.m4: Add unnumbered
3935         bind() and hide() overloads to make specifying the argument
3936         position optional (Proposed by Jeff Franks).
3937         * tests/test_[bind,hide].cc: Test unnumbered bind() and hide().
3938         * sigc++/adaptors/macros/adaptor_trait.h.m4:
3939         Change "#ifdef MSVC" to "#ifdef _MSC_VER" (Roel Vanhout).
3940
3941 2003-11-09  Martin Schulze  <teebaum@cvs.gnome.org>
3942
3943         Change functor type in typed_slot_rep to
3944
3945 2003-11-09  Martin Schulze  <teebaum@cvs.gnome.org>
3946
3947         * sigc++/functors/macros/slot.h.m4: Change functor type in
3948         typed_slot_rep to adaptor_trait::adaptor_type<T_functor>
3949         and use explicit function template instantiation in
3950         internal::slot_call::call_it(). Avoids copying of arguments
3951         in call_it() and enables binding of object instances
3952         to class methods through bind() (Reported by Jeff Franks).
3953         * tests/test_bind.cc: Test binding object instances to
3954         class methods through bind().
3955         * sigc++/adaptors/adaptors.h: Include retype[_result].h.
3956         * sigc++/adaptors/macros/adaptor_trait.h.m4:
3957         - Add documentation.
3958         - Mark some c-tors as explicit.
3959         - Remove ununsed operator T_functor&() from adaptor_functor.
3960         * sigc++/adaptors/macros/deduce_result_type.h.m4:
3961         Rewrite parts of the documentation.
3962         * sigc++/adaptors/macros/bind.h.m4: Add documentation.
3963         * sigc++/functors/macros/mem_fun.h.m4: Remove unnecessary
3964         explicit markers. Minor fixes to documentation.
3965         * sigc++/functors/macros/functor_trait.h.m4:
3966         Minor fixes to documentation.
3967
3968 2003-11-04  Martin Schulze  <teebaum@cvs.gnome.org>
3969
3970         Bump version number to 1.9.12. Add ChangeLog summary for version 1.9.12.
3971
3972 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
3973
3974         * configure.ac: Bump version number to 1.9.12.
3975         * NEWS: Add ChangeLog summary for version 1.9.12.
3976
3977 2003-11-03  Martin Schulze  <teebaum@cvs.gnome.org>
3978
3979         Document accumulators. Move slot_iterator_buf into namespace internal.
3980
3981 2003-11-03  Martin Schulze  <teebaum@cvs.gnome.org>
3982
3983         * sigc++/macros/signal.h.m4: Document accumulators.
3984         Move slot_iterator_buf into namespace internal. Since
3985         accumulators have the iterator type as a template argument
3986         there is no need to expose this very internal type.
3987         * sigc++/functors/macros/*.m4: Regroup documentation.
3988         Documentation of the core parts of the library should be
3989         complete by now.
3990
3991 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
3992
3993         Improve documentation of the core parts of the library. Test ptr_fun()
3994
3995 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
3996
3997         * Improve documentation of the core parts of the library.
3998         * tests/test_ptr_fun.cc: Test ptr_fun() with static
3999         member functions.
4000
4001 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
4002
4003         Move all .m4 files into new subdirectories sigc++/[...]/macros. Install
4004
4005 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
4006
4007         * Move all .m4 files into new subdirectories
4008         sigc++/[...]/macros. Install the .m4 files on
4009         "make install" (Reported by Ron Steinke).
4010
4011 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
4012
4013         Move all .m4 files into new subdirectories sigc++/[...]/macros. Install
4014
4015 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
4016
4017         * Move all .m4 files into new subdirectories
4018         sigc++/[...]/macros. Install the .m4 files on
4019         "make install" (Reported by Ron Steinke).
4020
4021 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
4022
4023         Include sigc++/functors/mem_fun.h (Reported by Ron Steinke).
4024
4025 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
4026
4027         * sigc++/[class,method,object]_slot.h.m4: Include
4028         sigc++/functors/mem_fun.h (Reported by Ron Steinke).
4029
4030 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
4031
4032         Add negation operator I have completely overlooked until now. Test
4033
4034 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
4035
4036         * sigc++/adaptors/lambda/operator.h.m4: Add negation
4037         operator I have completely overlooked until now.
4038         * sigc++/tests/test_lambda.cc: Test negation operator.
4039
4040 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
4041
4042         - Use a shorter notation for ..._mem_function variants. - Change order of
4043
4044 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
4045
4046         * sigc++/[class_slot,method_slot,object_slot,hide].h.m4,
4047         sigc++/signal.h.m4, sigc++/functors/mem_fun.h.m4:
4048         - Use a shorter notation for ..._mem_function variants.
4049         - Change order of mem_funcotr<>'s template arguments to
4050         match std::mem_fun_t and to be more consistent with adaptors.
4051         - Use ::sigc::slot's implicit ctor in compatibility module.
4052         * sigc++/adaptors/lambda/operator.h.m4: Change some
4053         lambda action names to match action names in std.
4054
4055         API addition:
4056         * sigc++/adaptors/retype.h.m4: New file adding
4057         adaptor retype.
4058         * sigc++/Makefile.am: Build and distribute new file.
4059         * tests/test_retype.cc: New file testing adaptor retype.
4060         * MSVC_Net2003/tests/test_retype/test_reytype.vcproj,
4061         tests/Makefile.am: Build and distribute new test case.
4062
4063 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
4064
4065         - Use a shorter notation for ..._mem_function variants. - Change order of
4066
4067 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
4068
4069         * sigc++/[class_slot,method_slot,object_slot,hide].h.m4,
4070         sigc++/signal.h.m4, sigc++/functors/mem_fun.h.m4:
4071         - Use a shorter notation for ..._mem_function variants.
4072         - Change order of mem_funcotr<>'s template arguments to
4073         match std::mem_fun_t and to be more consistent with adaptors.
4074         - Use ::sigc::slot's implicit ctor in compatibility module.
4075         * sigc++/adaptors/lambda/operator.h.m4: Change some
4076         lambda action names to match action names in std.
4077
4078         API addition:
4079         * sigc++/adaptors/retype_return.h.m4: New file adding
4080         adaptor retype.
4081         * sigc++/Makefile.am: Build and distribute new file.
4082         * tests/test_retype.cc: New file testing adaptor retype.
4083         * MSVC_Net2003/tests/test_retype/test_reytype.vcproj,
4084         tests/Makefile.am: Build and distribute new test case.
4085
4086 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
4087
4088         New directory containing project files for Visual Studio .Net 2003.
4089
4090 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
4091
4092         * MSVC_Net2003: New directory containing project
4093         files for Visual Studio .Net 2003.
4094         Credits to Roel Vanhout <roel@riks.nl>!
4095
4096 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
4097
4098         Use LIBSIGC_TEMPLATE_PREFIX in explicit function template instantiations.
4099
4100 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
4101
4102         * sigc++/retype.h.m4: Use LIBSIGC_TEMPLATE_PREFIX
4103         in explicit function template instantiations.
4104         * sigc++/type_traits.h: Add template specialization
4105         for arrays (T_type[N]) to disable non-working member
4106         type_trait<T_type[N]>::instance().
4107         * sigc++/visit_each.h: Remove more disturbing
4108         limit_derived_target<>::operator() overloads.
4109         (Should have noticed earlier that they are unnecessary.)
4110         * sigc++/adaptors/deduce_result_type.h.m4,
4111         sigc++/adaptors/lambda/operator.h.m4,
4112         sigc++/functors/functor_trait.h.m4,
4113         tests/test_[bind,compose,exception_catch,hide,lambda].cc:
4114         Completely removed support for typeof(). We don't need
4115         it any more and it is completely non-standard!
4116
4117 2003-10-31  Cedric Gustin  <cedric.gustin@swing.be>
4118
4119         Added test of win32 platform. Commented out AM_DISABLE_SHARED (DLLs are
4120
4121         2003-10-30  Cedric Gustin <cedric.gustin@swing.be>
4122
4123         * configure.ac: Added test of win32 platform. Commented
4124         out AM_DISABLE_SHARED (DLLs are shared libraries).
4125         * sigc++/Makefile.am: added a few LDFLAGS for win32
4126         DLLs.
4127
4128 2003-10-30  Martin Schulze  <teebaum@cvs.gnome.org>
4129
4130         Add SigC::Signal#<>::slot(). Comment out make_slot() work-around. Remove
4131
4132 2003-10-30  Martin Schulze  <teebaum@cvs.gnome.org>
4133
4134         * sigc++/signal.h.m4: Add SigC::Signal#<>::slot().
4135         * sigc++/slot.h.m4: Comment out make_slot() work-around.
4136         * sigc++/adaptors/bind.h.m4: Remove unnecessary brackets
4137         in template argument lists. They are confusing MSVC.
4138         * sigc++/adaptors/*.h.m4, sigc++/adaptors/lambda/*.h.m4:
4139         Use LIBSIGC_TEMPLATE_PREFIX in explicit function
4140         template instantiations.
4141         * sigc++/tests/test_*.cc:
4142         - Include <string> where std::string is used.
4143         - Use double instead of float.
4144
4145 2003-10-27  Martin Schulze  <teebaum@cvs.gnome.org>
4146
4147         Cleanup. Bring it up to date.
4148
4149 2003-10-27  Martin Schulze  <teebaum@cvs.gnome.org>
4150
4151         * sigc++/retype.h.m4: Cleanup.
4152         * TODO: Bring it up to date.
4153
4154 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
4155
4156         Bump version number to 1.9.11. Add ChangeLog summary for version 1.9.11.
4157
4158 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
4159
4160         * configure.ac: Bump version number to 1.9.11.
4161         * NEWS: Add ChangeLog summary for version 1.9.11.
4162
4163 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
4164
4165         Compatiblity module: Move definition of compatiblity classes SigC::SignalN
4166
4167 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
4168
4169         Compatiblity module:
4170         * sigc++/signal.h.m4: Move definition of compatiblity
4171         classes SigC::SignalN to here.
4172         * sigc++/connection.h:
4173         - Add connection::connected().
4174         - Add compatibility typedef SigC::Connection.
4175         * sigc++/bind.h, sigc++/bind_return.h,
4176         sigc++/class_slot.h.m4, sigc++/hide.h.m4,
4177         sigc++/method_slot.h.m4, sigc++/object.h,
4178         sigc++/object_slot.h.m4, sigc++/retype.h.m4,
4179         sigc++/retype_return.h sigc++/slot.h.m4,
4180         sigc++/compatibility.h:
4181         New files to complete compatibility module.
4182         Split content of compatibility.h.m4 among the new files.
4183         * sigc++/compatibility.h.m4: Removed.
4184         * Makefile.am: Build and distribute new files.
4185         * tests/test_compatibility.cc: Test new stuff.
4186
4187         Fixes:
4188         * sigc++/functors/slot.h.m4: Fix copy constructor and
4189         operator=() of slot template.
4190         * sigc++/adaptors/bind.h.m4: Fix deduce_result_type
4191         template specializations. bind<0>() probably compiles
4192         with gcc-3.3, now.
4193
4194 2003-10-25  Martin Schulze  <teebaum@cvs.gnome.org>
4195
4196         Fixes:
4197
4198 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
4199
4200         Fixes:
4201         * sigc++/functors/slot.{cc,h.m4}:
4202         - Fix notification process: don't defer detaching of a
4203         slot from all referred trackables during signal emission!
4204         - Size optimization: replace virtual functions from
4205         struct typed_slot_rep with function pointers in slot_rep
4206         (reduces size of a typical typed_slot_rep instantiation
4207         by 30% !!!).
4208         * tests/test_slot.cc: Test sigc::slot more thoroughly.
4209         * sigc++/functors/mem_fun.h.m4: Fix visit_each().
4210         * sigc++/adaptos/bind_return.h.m4: Add support for
4211         sigc::ref().
4212         * tests/test_bind_return.cc: Use sigc::ref().
4213         * sigc++/signal.h.m4: Avoid compiler warning about
4214         uninitialized variable r_ in emit().
4215         * sigc++/visit_each.h: Cleanup.
4216
4217         API additions:
4218         * sigc++/adpators/lambda/operators.h.m4: Add
4219         lambda actions sigc::{reinterpret,static,dynamic}_cast_
4220         to support explicit parameter conversion.
4221         * tests/test_lambda.cc: Test sigc::static_cast_.
4222         * sigc++/adaptors/retype_return.h.m4: New file adding
4223         adaptor retype_return (and hide_return).
4224         * sigc++/Makefile.am: Build and distribute new file.
4225         * tests/test_retype_return.cc: New file testing
4226         adaptor retype_return (and hide_return).
4227         * tests/Makefile.am: Build and distribute new test case.
4228
4229 2003-10-24  Martin Schulze  <teebaum@src.gnome.org>
4230
4231         update .cvsignore files
4232
4233 2003-10-24  Martin Schulze  <teebaum@cvs.gnome.org>
4234
4235         Remove disturbing limit_derived_target<>::operator() overloads. Add
4236
4237 2003-10-25  Martin Schulze  <teebaum@cvs.gnome.org>
4238
4239         * sigc++/visit_each.h: Remove disturbing
4240         limit_derived_target<>::operator() overloads.
4241         * sigc++/adaptors/bind.h.m4: Add support for sigc::ref().
4242         * tests/test_bind.cc: Test sigc::ref().
4243         * sigc++/adaptors/lambda/{operator,group,base}.h.m4:
4244         - Move support for sigc::ref() from lambda_core<> into
4245         lambda operator and lambda group creator functions.
4246         - Add missing visit_each() overload for lambda<> template.
4247         * tests/test_lambda.cc: Test auto-disconnection.
4248         TODO: Fix a strange bug that leads to "Bus error"
4249         during auto-disconnection.
4250
4251 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
4252
4253         Bump version number to 1.9.10. Add ChangeLog summary for version 1.9.10.
4254
4255 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
4256
4257         * configure.ac: Bump version number to 1.9.10.
4258         * NEWS: Add ChangeLog summary for version 1.9.10.
4259
4260 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
4261
4262         Move definition of struct nil into functor_trait.h.
4263
4264 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
4265
4266         * sigc++/functors/{functor_trait,slot}.h.m4:
4267         Move definition of struct nil into functor_trait.h.
4268
4269 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
4270
4271         Move definition of struct nil into functor_trait.h.
4272
4273 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
4274
4275         * sigc++/functors/{functor_trait,slot}.h.m4:
4276         Move definition of struct nil into functor_trait.h.
4277
4278 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
4279
4280         Disable typeof() compiler checks. Remove unnecessary deduce_result_type<>
4281
4282 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
4283
4284         * configure.ac: Disable typeof() compiler checks.
4285         * sigc++/adaptors/bind.h.m4: Remove unnecessary
4286         deduce_result_type<> template specializations.
4287
4288 2003-10-20  Martin Schulze  <teebaum@cvs.gnome.org>
4289
4290         Correct order of typedefs for good. (Patch from Jeff Franks.)
4291
4292 2003-10-20  Martin Schulze  <teebaum@cvs.gnome.org>
4293
4294         * sigc++/adaptors/compose.h.m4:
4295         Correct order of typedefs for good. (Patch from Jeff Franks.)
4296
4297 2003-10-20  Martin Schulze  <teebaum@cvs.gnome.org>
4298
4299         Add constructor that takes a sigc::slot_base& to support 3rd-party slot
4300
4301 2003-10-20  Martin Schulze  <teebaum@cvs.gnome.org>
4302
4303         * sigc++/connection.h: Add constructor that takes
4304         a sigc::slot_base& to support 3rd-party slot lists
4305         like they are used in glibmm/gtkmm.
4306         * sigc++/functors/slot.h.m4: Make sigc::slot::call_type public.
4307         (Fixes compile problems reported by Jeff Franks.)
4308         * sig++/type_traits.h: Don't use long long in
4309         sigc::is_base_and_derived.
4310         (Fixes compile problems reported by Jeff Franks.)
4311         * sigc++/adaptors/{bind,compose,hide,exception_catch}.h.m4:
4312         Correct order of typedefs. (Repoted by Jeff Franks.)
4313         * configure.ac: Bump version number to 1.9.9.
4314         * NEWS: Add ChangeLog summary for version 1.9.9.
4315
4316 2003-10-19  Martin Schulze  <teebaum@cvs.gnome.org>
4317
4318         Define doxygen group functors. Bump version number to 1.9.8. Add ChangeLog
4319
4320 2003-10-19  Martin Schulze  <teebaum@cvs.gnome.org>
4321
4322         * sigc++/functors/slot.h.m4: Define doxygen group functors.
4323         * configure.ac: Bump version number to 1.9.8.
4324         * NEWS: Add ChangeLog summary for version 1.9.8.
4325
4326 2003-10-19  Martin Schulze  <teebaum@cvs.gnome.org>
4327
4328         Add announces of versions 1.9.6 and 1.9.7. New file. Defines namespace
4329
4330 2003-10-19  Martin Schulze  <teebaum@cvs.gnome.org>
4331
4332         * NEWS: Add announces of versions 1.9.6 and 1.9.7.
4333         * sigc++/compatibility.h.m4: New file. Defines namespace SigC.
4334         namespace SigC should be API compatible to libsigc++-1.2.
4335         * sigc++/Makefile.am: Build compatibility.h.
4336         * tests/test_compatibility.cc, tests/Makefile.am:
4337         Add test case for compatibility module.
4338         * docs/index.html: Change group names.
4339         * sigc++/sigc++.h: Include connection.h.
4340         * sigc++/connection.{cc,h}:
4341         - Rename dependency to destroy_notify_callback.
4342         - Change parameter name in set_slot() from d to data.
4343         - Fix operator=(): Add "return *this;"
4344         - Get rid of namespace functor.
4345         - Corrections in documentation.
4346         * sigc++/signal.{cc,h.m4}:
4347         - Add reference counter to signal_impl. Replaces "bool destroy_".
4348         - Move signal_base, slot_iterator[_buf], slot_list out of
4349         namespace internal. They are part of the public API.
4350         - Add convenience function signal#::make_slot().
4351         - Get rid of namespace functor.
4352         - Corrections in documentation.
4353         * sigc++/trackable.{cc,h}:
4354         - Rename dependency to destroy_notify_callback.
4355         - Rename trackable::clear() to trackable::notify_callbacks().
4356         - Corrections in documentation.
4357         * sigc++/type_traits.h: Add documentation.
4358         * sigc++/visit_each.h:
4359         - Get rid of namespace functor.
4360         - Add documentation.
4361         * sigc++/adaptors[/lambda]/*: Get rid of namespace functor.
4362         * sigc++/functors/{functor_trait.h,ptr_fun.h.m4,mem_fun.h.m4}:
4363         - Get rid of namespace functor.
4364         - Corrections in documentation / add documentation.
4365         * sigc++/functors/slot.{cc,h.m4}:
4366         - Move slot_base out of namespace internal. It's public API.
4367         - Get rid of one-letter-parameter-names.
4368         - Get rid of namespace functor.
4369         - Corrections in documentation.
4370         * tests/*.cc: Get rid of "using namespace ...".
4371
4372 2003-09-10  Martin Schulze  <teebaum@cvs.gnome.org>
4373
4374         Add subscript ([]) and assign (=) operator. I think there are now enough
4375
4376 2003-09-10  Martin Schulze  <teebaum@cvs.gnome.org>
4377
4378         * sigc++/adaptors/lambda/{base,operators}.h.m4:
4379         Add subscript ([]) and assign (=) operator. I think there are now
4380         enough operators available to make any future power user happy.
4381         The only one missing is the comma operator and if we added it
4382         the logical consequence would be to also add if(), switch(), do(),
4383         etc. lambda expressions which are really out of place in libsigc++.
4384         * sigc++/type_traits.h: Fix is_base_and_derived<> for const types.
4385         * tests/test_lambda.cc: Test new operators.
4386
4387 2003-09-04  Martin Schulze  <teebaum@cvs.gnome.org>
4388
4389         Bump version number to 1.9.7.
4390
4391 2003-09-05  Martin Schulze  <teebaum@cvs.gnome.org>
4392
4393         * configure.ac: Bump version number to 1.9.7.
4394
4395 2003-09-03  Martin Schulze  <teebaum@cvs.gnome.org>
4396
4397         - Restructure so that the size of the generated source file stays
4398
4399 2003-09-03  Martin Schulze  <teebaum@cvs.gnome.org>
4400
4401         * sigc++/adaptors/lambda/operator.h.m4:
4402         - Restructure so that the size of the generated source file stays
4403         reasonable for 34 operators: There are only two lambda templates
4404         lambda_operator and lambda_operator_unary. The action is an additional
4405         template parameter. A small template lambda_action[_unary] is specialized
4406         for all actions.
4407         - Add most operators that boost::lambda supports. Missing operators are
4408         "=", "[]", "," and support for pointer arithmetic. I don't know if it's
4409         worth adding these. In libsigc++, the purpose of lambda operators is to
4410         provide some extra functionality for the group adaptor.
4411         * tests/test_lambda.cc:
4412         Test pre-increment, address and dereference operator.
4413
4414 2003-09-03  Martin Schulze  <teebaum@cvs.gnome.org>
4415
4416         New file reference_wrapper.h provides ref() to specify that
4417
4418 2003-08-31  Martin Schulze  <teebaum@cvs.gnome.org>
4419
4420         * sigc++/reference_wrapper.h, sigc++/type_traits.h, sigc++/Makefile.am:
4421         New file reference_wrapper.h provides ref() to specify that adaptors/lambdas
4422         should take a reference to the object passed into ref() instead of a copy.
4423
4424 2003-08-31  Martin Schulze  <teebaum@cvs.gnome.org>
4425
4426         New file reference_wrapper.h provides ref() to specify that
4427
4428 2003-08-31  Martin Schulze  <teebaum@cvs.gnome.org>
4429
4430         * sigc++/reference_wrapper.h, sigc++/type_traits.h, sigc++/Makefile.am:
4431         New file reference_wrapper.h provides ref() to specify that adaptors/lambdas
4432         should take a reference to the object passed into ref() instead of a copy.
4433         * tests/test_lambda.cc:
4434         - Test group() with mem_fun().
4435         - Use ref() where lambdas should store references to objects.
4436         - Test var() and constant().
4437         * sigc++/adaptors/lambda/base.h.m4:
4438         - Support ref() in return type deduction.
4439         - Add var() and constant() which create lambdas for usage with lambda operators.
4440         * sigc++/adaptors/lambda/operator.h.m4:
4441         - Fix return type deduction.
4442         - Remove operator{+,-,*,...} overloads added on 2003-08-29. ref() is way cleaner.
4443         * sigc++/adaptors/lambda/group.h.m4,
4444         sigc++/adaptors/bind.h.m4, sigc++/adaptors/compose.h.m4,
4445         sigc++/adaptors/exception_catch.h.m4, sigc++/adaptors/hide.h.m4:
4446         Fix return type deduction.
4447
4448 2003-08-29  Martin Schulze  <teebaum@cvs.gnome.org>
4449
4450         Add more tests. Make _1, _2, ... constant. Add operator{+,-,*,...}
4451
4452 2003-08-29  Martin Schulze  <teebaum@cvs.gnome.org>
4453
4454         * tests/test_lambda.cc: Add more tests.
4455         * sigc++/adaptors/lambda/select.h.m4, sigc++/adaptors/lambda/lambda.cc.m4:
4456         Make _1, _2, ... constant.
4457         * sigc++/adaptors/lambda/operator.h.m4:
4458         Add operator{+,-,*,...} overloads to distinguish between const and non-const objects.
4459         Store references to non-const objects rather than copies.
4460         This allows expressions like e.g. std::cout << _1.
4461         * sigc++/adaptors/lambda/base.h.m4, sigc++/adaptors/lambda/group.h.m4:
4462         Remove void specializations. Functors returning void are tested and work fine.
4463
4464 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
4465
4466         Rename, correct and improve this test case. Build and run
4467
4468 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
4469
4470         * tests/test_callof.cc, tests/test_deduce_result_type.cc:
4471         Rename, correct and improve this test case.
4472         * tests/Makefile.am: Build and run test_deduce_result_type
4473         instead of test_callof.
4474
4475 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
4476
4477         Update TODO.
4478
4479 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
4480
4481         * Update TODO.
4482
4483 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
4484
4485         Remove usage of callof_ignore_arg<>. Remove the first and move
4486
4487 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
4488
4489         * sigc++/adaptors/hide.h.m4: Remove usage of callof_ignore_arg<>.
4490         * sigc++/callof.h.m4, sigc++/adaptors/deduce_result_type.h.m4,
4491         sigc++/functors/functor_trait.h.m4:
4492         Remove the first and move deduce_result_type templates from
4493         functor_trait.h.m4 into new file deduce_result_type.h.m4.
4494         * sigc++/Makefile.am, sigc++/sigc++.h, sigc++/adaptors/adaptor_trait.h.m4:
4495         Build and include sigc++/adaptors/deduce_result_type.h instead of callof.h.
4496         * sigc++/functors/slot.h.m4: Document struct nil.
4497
4498 2003-08-24  Martin Schulze  <teebaum@cvs.gnome.org>
4499
4500         * sigc++/functors/functor_trait.h.m4: Simplify usage of convenience
4501         macro SIGC_FUNCTORS_HAVE_RESULT_TYPE:
4502         namespace sigc{ namespace functor{ SIGC_FUNCTORS_HAVE_RESULT_TYPE }}
4503
4504 2003-08-24  Martin Schulze  <teebaum@cvs.gnome.org>
4505
4506         Merge adaptor return type deduction and typeof() into
4507
4508 2003-08-24  Martin Schulze  <teebaum@cvs.gnome.org>
4509
4510         * sigc++/functors/functor_trait.h,m4, sigc++/adaptors[/lambda]/*.h.m4:
4511         Merge adaptor return type deduction and typeof() into
4512         sigc::functor::deduce_result_type. Use it for all adaptors.
4513         * tests/test_compose.cc: Only test multi-type get-functor if
4514         typeof() if supported.
4515
4516 2003-08-23  Martin Schulze  <teebaum@cvs.gnome.org>
4517
4518         - Remove unnecessary void specializations. In fact, only the one for
4519
4520 2003-08-24  Martin Schulze  <teebaum@cvs.gnome.org>
4521
4522         * sigc++/adaptors[/lambda]/*.h.m4:
4523         - Remove unnecessary void specializations. In fact, only the one
4524         for sigc::functor::exception_catch<> is needed and I don't really
4525         understand why. For the lambda stuff the void specializatoins are
4526         just commented out at the moment.
4527         - Make typeof() optional. Surprisingly, I got the lambda stuff working
4528         without typeof()! The test suite doesn't catch all cases yet, so maybe
4529         some thing are still not working.
4530         TODO: Implement configure check.
4531         * tests/test_bind.cc, tests/test_compose.cc tests/test_exception_catch.cc,
4532         tests/test_hide.cc, tests/test_lambda.cc:
4533         Only test multiple functor return types if typeof() is supported.
4534
4535 2003-08-06  Martin Schulze  <teebaum@cvs.gnome.org>
4536
4537         Add function trackable::clear().
4538
4539 2003-08-06  Martin Schulze  <teebaum@cvs.gnome.org>
4540
4541         * sigc++/trackable.{cc,h}: Add function trackable::clear().
4542
4543 2003-06-24  Andreas Rottmann  <rotty@src.gnome.org>
4544
4545         Minor tweaks.
4546
4547         * TODO: Minor tweaks.
4548
4549 2003-06-24  Andreas Rottmann  <rotty@src.gnome.org>
4550
4551         Minor tweaks.
4552
4553 2003-06-24  Andreas Rottmann  <rotty@src.gnome.org>
4554
4555         Use these variables. Provide doxygen with SRCDIR and TOP_SRCDIR
4556
4557         * docs/reference/Doxyfile.in: Use these variables.
4558         * docs/reference/Makefile.am (html/index.html): Provide doxygen
4559         with SRCDIR and TOP_SRCDIR environment variables.
4560
4561         * sigc++/functors/slot.h.m4: Make slot::call_type typedef public;
4562         this fixes a g++ 3.3 error in signal.h.
4563
4564         * sigc++/signal.h.m4: Make the signal::accumulated class public;
4565         this fixes a g++ 3.3 error in test_accumulated.cc.
4566
4567 2003-06-24  Andreas Rottmann  <rotty@src.gnome.org>
4568
4569         Use these variables. Provide doxygen with SRCDIR and TOP_SRCDIR
4570
4571         * docs/reference/Doxyfile.in: Use these variables.
4572         * docs/reference/Makefile.am (html/index.html): Provide doxygen
4573         with SRCDIR and TOP_SRCDIR environment variables.
4574
4575 2003-06-23  Andreas Rottmann  <rotty@src.gnome.org>
4576
4577         Make slot::call_type typedef public; this fixes a g++ 3.3 error in signal.h.
4578
4579 2003-06-23  Andreas Rottmann  <rotty@src.gnome.org>
4580
4581         Make the signal::accumulated class public; this fixes a g++ 3.3 error in test_accumulated.cc.
4582
4583 2003-06-23  Andreas Rottmann  <rotty@src.gnome.org>
4584
4585         Added comment author annotation.
4586
4587 2003-06-23  Andreas Rottmann  <rotty@src.gnome.org>
4588
4589         .cvignore additions.
4590
4591 2003-06-15  Martin Schulze  <teebaum@cvs.gnome.org>
4592
4593         Correct typing error in docs. Document the whole thing.
4594
4595 2003-06-15  Martin Schulze  <teebaum@cvs.gnome.org>
4596
4597         * sigc++/functor/slot.h.m4: Correct typing error in docs.
4598         * sigc++/functor/ptr_fun.h.m4: Document the whole thing.
4599
4600 2003-05-31  Murray Cumming  <murrayc@usa.net>
4601
4602         Rearranged the groups to make it all a bit more like the libsigc++ 1.2
4603
4604 2003-05-31  Murray Cumming  <murrayc@usa.net>
4605
4606         * Reference documentation: Rearranged the groups to make it all
4607         a bit more like the libsigc++ 1.2 reference documentation.
4608         Corrected some spelling and grammar too.
4609         This needs a lot of work. The text is very hard to read and it's
4610         generally not appropriate for a user of the code who doesn't
4611         care about the internals. But it's not impossible - our examples
4612         should show us what we need to say in the documentation.
4613         We probably need some more groups for the extra stuff, like we do
4614         in libsigc++ 1.2.
4615
4616 2003-05-30  Martin Schulze  <martin-ml@hippogriff.de>
4617
4618         Fix documentation. Document the whole thing.
4619
4620 2003-05-29  Martin Schulze  <martin-ml@hippogriff.de>
4621
4622         * sigc++/signal.h.m4: Fix documentation.
4623         * sigc++/connection.h, sigc++/functor/slot.h.m4:
4624         Document the whole thing.
4625
4626 2003-05-29  Martin Schulze  <martin-ml@hippogriff.de>
4627
4628         - Remove bogus operator() from unnumbered signal<> and
4629
4630 2003-05-29  Martin Schulze  <martin-ml@hippogriff.de>
4631
4632         * sigc++/signal.h.m4:
4633         - Remove bogus operator() from unnumbered signal<> and
4634         signal<>::accumulated templates.
4635         - Document the whole thing.
4636
4637         * docs/index.html: Fix some links.
4638
4639 2003-04-06  Martin Schulze  <MHL.Schulze@t-online.de>
4640
4641         Add Doxygen framework.
4642
4643 2003-04-06  Martin Schulze  <MHL.Schulze@t-online.de>
4644
4645         * TODO, configure.ac, Makefile.am, docs/*:
4646         Add Doxygen framework.
4647
4648 2003-04-05  Martin Schulze  <MHL.Schulze@t-online.de>
4649
4650         Move sigc::callof<> to sigc::functor::internal::callof<>.
4651
4652 2003-04-06  Martin Schulze  <MHL.Schulze@t-online.de>
4653
4654         * sigc++/callof.h.m4, sigc++/adaptors/*, tests/test_callof.cc:
4655         Move sigc::callof<> to sigc::functor::internal::callof<>.
4656
4657         * sigc++/functors/mem_fun.h.m4, tests/test_mem_fun.cc:
4658         Add new types [bound_][const_]volatile_mem_functor, visit_each()
4659         and mem_fun() overloads for volatile qualifier.
4660         Add ctor overloads in bound_*mem_functor and mem_fun() overloads
4661         that take reference instead of pointer.
4662
4663 2003-03-26  Martin Schulze  <MHL.Schulze@t-online.de>
4664
4665         Change "closure" to "slot" throughout sigc++2 (file names, class names,
4666
4667 2003-03-26  Martin Schulze  <MHL.Schulze@t-online.de>
4668
4669         * Change "closure" to "slot" throughout sigc++2 (file names,
4670         class names, member variables, documentation, etc.).
4671
4672 2003-03-25  Martin Schulze  <MHL.Schulze@t-online.de>
4673
4674         Rewrite to reflect recent changes as well as recent discussions.
4675
4676 2003-03-26  Martin Schulze  <MHL.Schulze@t-online.de>
4677
4678         * TODO: Rewrite to reflect recent changes as well as recent discussions.
4679
4680 2003-03-24  Martin Schulze  <MHL.Schulze@t-online.de>
4681
4682         Make the adaptor's data member public so that visit_each() can access it.
4683
4684 2003-03-24  Martin Schulze  <MHL.Schulze@t-online.de>
4685
4686         * sigc++/adaptors/bind_return.h.m4: Make the adaptor's data member
4687         public so that visit_each() can access it.
4688
4689         * sigc++/adaptors/lambda/*.h.m4: More fixes. Add a note about
4690         malfunctioning typeof() (probably compiler bug in gcc-3.2).
4691
4692         * tests/*.cc: Test references. Fix compose equivalent in test_lambda.
4693
4694 2003-03-24  Martin Schulze  <MHL.Schulze@t-online.de>
4695
4696         Move detection of function and member method pointers' return types from
4697
4698 2003-03-24  Martin Schulze  <MHL.Schulze@t-online.de>
4699
4700         * sigc++/Makefile.am, sigc++/functors/functor_trait.h[.m4],
4701         sigc++/adaptors/adaptor_trait.h.m4: Move detection of function
4702         and member method pointers' return types from adaptor_trait into
4703         functor_trait. (We'll use functor_trait rather than adaptor_trait for
4704         our lambda stuff.) functor_trait.h needs to be generated from .m4 now.
4705
4706         * sigc++/functors/functor_trait.h.m4: Add convenience macros:
4707         - SIGC_FUNCTORS_HAVE_RESULT_TYPE indicates that the existance of
4708         T_functor::result_type should be assumed for all unknown functors.
4709         - SIGC_FUNCTOR_TRAIT(T_functor, T_result) explicitly specifies the
4710         result type of a functor.
4711         ("typename functor_trait<T_functor>::result_type") is used to
4712         determine the return type of our adaptors' operator()() overloads.
4713
4714         * sigc++/adaptors/[lambda/]*.h.m4: Various fixes in visit_each() and
4715         operator()() overloads to make these operator()() overloads usable.
4716         Most of them were just commented out before. Some adaptor types also
4717         have void specializations, now.
4718
4719         * sigc++/adaptors/lambda/group.h.m4: Change syntax from
4720         "[some_functor] % grp([args])" to "group([some_functor], [args])"
4721         like we agreed on the ml some time ago.
4722
4723         * sigc++/tests/test_[all adaptors].cc: Test stuff that didn't work
4724         before.
4725
4726 2003-03-22  Murray Cumming  <murrayc@usa.net>
4727
4728         Added pgk-config file, from a mystery person in bug #108857
4729
4730 2003-03-22  Murray Cumming  <murrayc@usa.net>
4731
4732         * Added pgk-config file, from a mystery person in bug #108857
4733
4734 2003-03-22  Martin Schulze  <MHL.Schulze@t-online.de>
4735
4736         Test and show how to use functor_trait for user defined or 3rd-party
4737
4738 2003-03-22  Martin Schulze  <MHL.Schulze@t-online.de>
4739
4740         * tests/test_bind.cc: Test and show how to use functor_trait
4741         for user defined or 3rd-party functors so that a
4742         bind<0>([functor],[arg1])() call with no arguments can return a value.
4743
4744 2003-03-20  Martin Schulze  <MHL.Schulze@t-online.de>
4745
4746         Add explanations. Comment in / create templates callof_safe[#].
4747
4748 2003-03-20  Martin Schulze  <MHL.Schulze@t-online.de>
4749
4750         * sigc++/callof.h.m4: Add explanations. Comment in / create templates
4751         callof_safe[#]. Unfortunately they don't work for functors with overloaded
4752         operator() so we don't use it for now. At least everything is documented.
4753
4754         * sigc++/functors/functor_trait.h, sigc++/functors/*.h.m4: Add back
4755         functor_base compiler hint. We're using it now in adaptor_functor<>.
4756
4757         * sigc++/adaptors/{adaptor_trait,bind}.h.m4: Make operator() overloads
4758         with no arguments return the result of the functor invocation.
4759         Fix multiple bind<0>().
4760         * tests/test_bind.cc: Test the stuff that's working now.
4761
4762 2003-03-16  Murray Cumming  <murrayc@usa.net>
4763
4764         Added sigc++/sigc++.h, like in libsigc++ 1.2 Added member_method example,
4765
4766 2003-03-16  Murray Cumming  <murrayc@usa.net>
4767
4768         * Added sigc++/sigc++.h, like in libsigc++ 1.2
4769         * examples: Added member_method example, which uses a class method
4770         and which demonstrates disconnection.
4771
4772 2003-03-13  Martin Schulze  <teebaum@src.gnome.org>
4773
4774         Bump version to 1.9.6.
4775
4776 2003-03-11  Andreas Rottmann  <rotty@src.gnome.org>
4777
4778         Use substitution references instead of $(patsubst). Is shorter and fixes the strange-dirs-in-dist-tarball bug.
4779
4780 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
4781
4782         Add block() capability.
4783
4784 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
4785
4786         * sigc++/connection.h: Add block() capability.
4787
4788 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
4789
4790         Add flag signal_impl::destroy_ and function signal_impl::destroy(). Use
4791
4792 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
4793
4794         * sigc++/signal.{cc,h.m4}: Add flag signal_impl::destroy_
4795         and function signal_impl::destroy(). Use them to defer
4796         the destruction of the signal_impl object during signal
4797         emission.
4798
4799         * tests/test_disconnect.cc: Add tests for the connection
4800         class and for deleting signals during emission.
4801
4802 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
4803
4804         - New files that add a connection class. Objects of this class are
4805
4806 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
4807
4808         * sigc++/connection.{cc,h}, sigc++/Makefile.am:
4809         - New files that add a connection class. Objects of this
4810         class are constructed from closure list iterators and can
4811         be used to disconnect the refered closure. As opposed to
4812         iterators they stay valid beyond the lifetime of the closure.
4813
4814 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
4815
4816         - Rename closure_{base,rep}::[set_]dependency_ -> [set_]parent_. - Make
4817
4818 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
4819
4820         * sigc++/functors/closure.{cc,h.m4}, sigc++/signal.cc:
4821         - Rename closure_{base,rep}::[set_]dependency_ -> [set_]parent_.
4822         - Make closure_rep inherit trackable. This allows for
4823         connection objects that stay valid beyond the life time
4824         of the refered closure.
4825         - Make some one-line-functions inline again.
4826
4827 2003-03-08  Martin Schulze  <MHL.Schulze@t-online.de>
4828
4829         BUGFIX in trackable_dep_list::clear()
4830
4831 2003-03-08  Martin Schulze  <MHL.Schulze@t-online.de>
4832
4833         * sigc++/trackable.cc: BUGFIX in trackable_dep_list::clear()
4834
4835 2003-03-08  Andreas Rottmann  <rotty@src.gnome.org>
4836
4837         Ignore `make dist' tarballs.
4838
4839 2003-03-08  Andreas Rottmann  <rotty@src.gnome.org>
4840
4841         The "The New Build System" changes.
4842
4843 2003-03-08  Andreas Rottmann  <rotty@src.gnome.org>
4844
4845         Re-included lambda test.
4846
4847 2003-03-08  Andreas Rottmann  <rotty@src.gnome.org>
4848
4849         Removed. Removed. Removed. Remove the above Makefiles.
4850
4851         * sigc++/functors/Makfile.am: Removed.
4852         * sigc++/adaptors/Makefile.am: Removed.
4853         * sigc++/adaptors/lambda/Makefile.am: Removed.
4854         * configure.ac (AC_OUTPUT): Remove the above Makefiles.
4855
4856 2003-03-08  Andreas Rottmann  <rotty@src.gnome.org>
4857
4858         Rewritten so we can build lambda cleanly. Removed.
4859
4860         * sigc++/Makefile.am: Rewritten so we can build lambda cleanly.
4861         * sigc++/Makefile.am_fragment: Removed.
4862
4863 2003-03-08  Andreas Rottmann  <rotty@src.gnome.org>
4864
4865         Typo fix.
4866
4867 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
4868
4869         - signal_emit#<>: New templates replacing signal#<>::caller. The purpose
4870
4871 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
4872
4873         * sigc++/signal.{cc,h.m4}:
4874         - signal_emit#<>: New templates replacing signal#<>::caller.
4875         The purpose of these templates is implementing the emit
4876         function and optimizing signal emission for the case that
4877         no accumulator is used via template specializations.
4878         - default_accumulator<>: Removed. The default for T_accumulator
4879         in signal#<> now is nil. An example how to use accumulators
4880         is available in tests/test_accumulator.cc.
4881         - signal_{base,impl}: Move the implementation of signal_base's
4882         interface to signal_impl. An object of this class is
4883         dynamically allocated when first connecting a closure to
4884         the signal. This drastically reduces the size of empty signals
4885         and allows for future addition of a reference counter to make
4886         it safe to delete a signal during emission.
4887         - Directly work on closure_rep during signal emission. This
4888         seems to be quicker than using the closure templates.
4889         - Document the classes. Restructure the header file a bit.
4890
4891         * sigc++/functors/closure.h.m4: Make closure_base::rep_ data
4892         member public, so that signal emission can directly work on it.
4893
4894         * tests/test_size.cc: Add an entry for signal_impl.
4895
4896 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
4897
4898         - closure_base: BUGFIXES in ~closure_base() and operator=(). - Mark some
4899
4900 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
4901
4902         * sigc++/closure.{cc,h.m4}:
4903         - closure_base: BUGFIXES in ~closure_base() and operator=().
4904         - Mark some functions with the inline keyword. This seems to
4905         help gcc 3.2 to optimize signal emission and (dis)connection.
4906         - Document the classes. Restructure the header file a bit.
4907
4908 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
4909
4910         Make trackable allocate a trackable_dep_list object dynamically when
4911
4912 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
4913
4914         * sigc++/trackable.{cc,h}: Make trackable allocate a
4915         trackable_dep_list object dynamically when adding the first
4916         dependency. (This reduces the size of objects, that are not
4917         refered by a closure by 4 bytes (50%) and increases the size
4918         of objects that are refered by a closure by 4 bytes (50%)
4919         on a 32 bit architecture => This reduces total memory use
4920         when >50% of the trackables are not refered by a closure.)
4921         Document the classes.
4922
4923 2003-03-06  Andreas Rottmann  <rotty@src.gnome.org>
4924
4925         Added new test executables.
4926
4927 2003-03-05  Martin Schulze  <MHL.Schulze@t-online.de>
4928
4929         Add two test cases. test_size is showing the size of public and internal
4930
4931 2003-03-05  Martin Schulze  <MHL.Schulze@t-online.de>
4932
4933         * tests/Makefile.am, tests/test_size.cc, tests/test_accumulated.cc:
4934         Add two test cases. test_size is showing the size of  public and
4935         internal structures. (Which apart from empty signals are smaller
4936         than the sizes of the equivalent libsigc++-1.2 structures.)
4937         test_accumulated is a test for the template signal<>::accumulated<>
4938         at the same time showing the use of accumulators in libsigc++2.
4939
4940 2003-03-05  Martin Schulze  <MHL.Schulze@t-online.de>
4941
4942         BUGFIX in template specialization
4943
4944 2003-03-05  Martin Schulze  <MHL.Schulze@t-online.de>
4945
4946         * sigc++/visit_each.h: BUGFIX in template specialization
4947         limit_derive_target<T_Target*,T_action>::with_type<false,T_type>:
4948         Add non-const overloads for static void execute_() avoiding
4949         compile time errors.
4950
4951 2003-02-25  Andreas Rottmann  <rotty@src.gnome.org>
4952
4953         Martin Schulze's disonnect changes.
4954
4955 2003-02-25  Andreas Rottmann  <rotty@src.gnome.org>
4956
4957         Ignore some more auto*-stuff.
4958
4959 2003-02-25  Andreas Rottmann  <rotty@src.gnome.org>
4960
4961         Ignore new diconnect test executable.
4962
4963 2003-02-25  Andreas Rottmann  <rotty@src.gnome.org>
4964
4965         Add testcase with a mixed connection & disconnection sequence.
4966
4967 2003-02-25  Andreas Rottmann  <rotty@src.gnome.org>
4968
4969         Bugfix in signal_base::insert(): Set notification function in the newly created copy of slot_ rather than in slot_ itself.
4970
4971 2003-02-25  Andreas Rottmann  <rotty@src.gnome.org>
4972
4973         Comment in typedefs for iterator types in the signal#<> class template. Make signal#<>::connect() return an iterator for convenience.
4974
4975 2003-01-23  Murray Cumming  <murrayc@usa.net>
4976
4977         sigc++/adaptors/lambda is disable temporarily (not built and not
4978
4979 2003-01-23  Murray Cumming  <murrayc@usa.net>
4980
4981         * sigc++/adaptors/lambda is disable temporarily (not built and
4982         not distributed) because it gets built before its parent
4983         directory, but #includes generated sources in the parent directory.
4984
4985 2003-01-22  Murray Cumming  <murrayc@usa.net>
4986
4987         Added Andreas Rottman's example.
4988
4989 2003-01-22  Murray Cumming  <murrayc@usa.net>
4990
4991         * Added Andreas Rottman's example.
4992
4993 2003-01-22  Murray Cumming  <murrayc@usa.net>
4994
4995         Applied Andreas Rottman's make dist fixes.
4996
4997 2003-01-22  Murray Cumming  <murrayc@usa.net>
4998
4999         * Applied Andreas Rottman's make dist fixes.
5000
5001 2003-01-22  Murray Cumming  <murrayc@src.gnome.org>
5002
5003         Added examples directory
5004
5005 2003-01-15  Murray Cumming  <murrayc@src.gnome.org>
5006
5007         Added missing files.
5008
5009 2003-01-14  Murray Cumming  <murrayc@usa.net>
5010
5011         Added whitespace to make the code more readable.
5012
5013 2003-01-14  Murray Cumming  <murrayc@usa.net>
5014
5015         * Added whitespace to make the code more readable.
5016
5017 2003-01-14  Murray Cumming  <murrayc@src.gnome.org>
5018
5019         Changed copyrights.
5020
5021 2003-01-13  Murray Cumming  <murrayc@src.gnome.org>
5022
5023         No more use of the scripts directory.
5024
5025 2003-01-13  Murray Cumming  <murrayc@src.gnome.org>
5026
5027         initial import
5028