1 2015-09-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
3 sigc::trackable: Don't move the callback list
5 * sigc++/trackable.[h|cc]: Don't move the callback list.
6 * tests/test_trackable_move.cc: Remove a comment. Bug #755393.
8 2015-09-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
10 Recreate adaptors/lambda files necessary not to break ABI
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.
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
26 All code in the header files are inside #ifndef DOXYGEN_SHOULD_SKIP_THIS.
29 2015-09-21 Murray Cumming <murrayc@murrayc.com>
33 2015-09-17 Murray Cumming <murrayc@murrayc.com>
35 C++11: deduce_result_type: Simpifying, removing use of std::is_same().
37 See https://bugzilla.gnome.org/show_bug.cgi?id=753612#c9
39 2015-09-17 Marcin Kolny <marcin.kolny@gmail.com>
41 C++11: deduce_result_type: build fix, using SFINAE paradigm.
45 2015-09-17 Murray Cumming <murrayc@murrayc.com>
47 C++11: deduce_result_type: Simplify with variadic template and std::conditional<>.
50 However, the build then fails like so:
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>’
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>&)’
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
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
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
106 2015-09-11 Chun-wei Fan <fanchunwei@src.gnome.org>
108 MSVC Builds: Add "Install" Project
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.
116 2015-09-09 Chun-wei Fan <fanchunwei@src.gnome.org>
118 Update README on Visual Studio Builds
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.
124 https://bugzilla.gnome.org/show_bug.cgi?id=754082
126 2015-09-09 Chun-wei Fan <fanchunwei@src.gnome.org>
128 sigc++config.h.in: Allow Build for MSVC 2013
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.
135 https://bugzilla.gnome.org/show_bug.cgi?id=754082
137 2015-09-08 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
139 Update source of web page
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.
151 2015-09-07 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
155 2015-09-03 Murray Cumming <murrayc@murrayc.com>
159 2015-09-03 Murray Cumming <murrayc@murrayc.com>
161 Update tests/.gitignore
163 2015-09-02 Chun-wei Fan <fanchunwei@src.gnome.org>
165 MSVC Builds: Use Windows Line Endings for .sln
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.
170 2015-09-02 Chun-wei Fan <fanchunwei@src.gnome.org>
172 MSVC Builds: Add Forgotten Files
174 The MSVC projects now use property sheets, but they were forgotten from
175 dist in the previous commits. Dist them... sorry!
177 2015-09-02 Chun-wei Fan <fanchunwei@src.gnome.org>
179 MSVC Builds: Remove MSVC 2005 and 2008 projects
181 They are now unable to build libsigc++ at all, so drop them.
183 https://bugzilla.gnome.org/show_bug.cgi?id=754082
185 2015-09-02 Chun-wei Fan <fanchunwei@src.gnome.org>
187 MSVC Builds: Rename MSVC_Net2010/ to MSVC_Net2013/
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
195 https://bugzilla.gnome.org/show_bug.cgi?id=754082
197 2015-09-01 Murray Cumming <murrayc@murrayc.com>
199 signal_base, trackable: Make move operations noexcept.
201 2015-09-01 Murray Cumming <murrayc@murrayc.com>
203 Added test_signal_move.
207 2015-09-01 Murray Cumming <murrayc@murrayc.com>
211 This seems to do what it should, acting much like regular slot copying.
213 2015-09-01 Murray Cumming <murrayc@murrayc.com>
215 Add test_trackable_move.
217 It doesn't segfault, but I'm not sure it's doing what it should.
220 2015-09-01 Murray Cumming <murrayc@murrayc.com>
222 trackable: move constructor: null the src.
224 2015-09-01 Murray Cumming <murrayc@murrayc.com>
226 trackable: move assignment operator: null the src.
228 2015-09-01 Murray Cumming <murrayc@murrayc.com>
230 C++11: signal_base: Add move operations.
232 2015-09-01 Murray Cumming <murrayc@murrayc.com>
234 trackable: Add missing operator=(&&) implementation.
236 2015-09-01 Murray Cumming <murrayc@murrayc.com>
238 trackable: Add move operations.
240 Also adding them to trackable_callback_list and makeing
241 trackable_callback_list noncopyable, which I think is intended.
243 2015-09-01 Murray Cumming <murrayc@murrayc.com>
245 C++11: slot*: Add move operations.
247 2015-09-01 Murray Cumming <murrayc@murrayc.com>
249 C++11 slot_base: Add move operations.
251 Improvements welcome.
253 2015-09-01 Murray Cumming <murrayc@murrayc.com>
255 slot_base::operator=(const &): Copy blocked_ too.
259 then a will be blocked if b was blocked. Otherwise it depends on
260 whether a was blocked, which seems odd.
262 If this is not the intended behaviour then we need a comment about it
263 in operator=() and a test.
265 2015-09-01 Murray Cumming <murrayc@murrayc.com>
269 2015-08-31 Chun-wei Fan <fanchunwei@src.gnome.org>
271 MSVC Projects: Overhaul The Projects
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.
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.
283 This will also likely enable us to support MSVC 2015 in a more efficient
286 Also, move the projects configs to MSVC 2013, as that is now the minimum
287 version of MSVC required to build sigc++.
289 2015-08-14 Murray Cumming <murrayc@murrayc.com>
291 deduce_result_t: Add initial T_return template parameter.
293 To make it clearer that this is how to use it.
295 2015-08-14 Murray Cumming <murrayc@murrayc.com>
297 tests: Use sigc::deduce_result_t<> instead of deduce_result_type<>::type.
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.
302 2015-08-14 Murray Cumming <murrayc@murrayc.com>
304 exception_catch.h: Generate deduce_result_type for the void specializations too.
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
311 sigc::deduce_result_type<T_return, T_arg1, T_Arg2>
313 Explicitly changing it to use
314 sigc::deduce_result_type<T_return, T_Arg1, T_Arg2>
316 sigc::deduce_result_type<T_Arg1, T_Arg2>
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.
323 2015-08-13 Murray Cumming <murrayc@murrayc.com>
325 C++11: deduce_result_type.h: Add and use a deduce_result_t<> alias.
327 This simplifies the code a bit, by replacing use of this:
328 typename deduce_result_type<SomeType1, SomeType2>::type
330 deduce_result_t<SomeType1, SomeType2>
332 Note that the alias is a C++11 variadic template.
335 2015-08-13 Murray Cumming <murrayc@murrayc.com>
337 type_traits.h: Remove the unused type and pointer types.
339 These were apparently never used.
342 2015-08-13 Murray Cumming <murrayc@murrayc.com>
344 type_trait: Define and use type_trait_pass/take_t aliases.
346 This simplifies the code a bit, by replacing use of this:
347 typename type_trait<SomeType>::take
349 type_trait_take_t<SomeType>
352 2015-08-13 Murray Cumming <murrayc@murrayc.com>
356 2015-08-13 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
358 Remove the sigc++/object.h header
360 Because it now contains no API.
361 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
363 2015-08-12 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
365 Update sigc++/.gitignore
367 2015-08-12 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
369 Store sigc++/slot.h in git, don't generate it from m4
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
376 2015-08-12 Murray Cumming <murrayc@murrayc.com>
378 Remove the (generated) sigc++/hide.h header.
380 Because it now contains no API.
381 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
383 The generated sigc++/hide file did not include sigc++/adaptors/hide.h
384 so it did not exist as a convenience.
386 2015-08-12 Murray Cumming <murrayc@murrayc.com>
388 Remove the (generated) sigc++/retype.h header.
390 Because it now contains no API.
391 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
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.
397 2015-08-12 Murray Cumming <murrayc@murrayc.com>
399 Remove the (generated) sigc++/object_slot.h header.
401 Because it now contains no API.
402 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
404 2015-08-12 Murray Cumming <murrayc@murrayc.com>
406 Remove the (generated) method_slot.h header.
408 Because it now contains no API.
409 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
411 2015-08-12 Murray Cumming <murrayc@murrayc.com>
413 Remove the (generated) class_slot.h header.
415 Because it now contains no API.
416 See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
418 2015-08-04 Chun-wei Fan <fanchunwei@src.gnome.org>
420 Visual Studio Builds: Move 2010 Projects to 2012
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.
428 Also clean up a little bit by dropping some of the unneeded items from the
429 projects and solution files.
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.
437 2015-08-03 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
439 C++11: Replace deprecated std::auto_ptr by std::unique_ptr
441 2015-07-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
443 C++11: visit_each_type<>(): Another check for the same type
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>.
449 2015-07-25 Murray Cumming <murrayc@murrayc.com>
451 C++11: visit_each<>: Check for the same type as well as the base.
453 As suggested by Kjell Ahlstedt here:
454 https://bugzilla.gnome.org/show_bug.cgi?id=752560#c3
456 This fixes the test cases.
458 2015-07-25 Murray Cumming <murrayc@murrayc.com>
460 C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>.
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.
469 2015-07-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
471 Update README, remove TODO
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
479 2015-07-18 Murray Cumming <murrayc@murrayc.com>
481 C++11: Use of range-based for loops.
483 2015-07-18 Murray Cumming <murrayc@murrayc.com>
485 C++11: More use of auto.
487 2015-07-18 Murray Cumming <murrayc@murrayc.com>
491 Trying to avoid using auto where its a specific type that we are
494 2015-07-18 Murray Cumming <murrayc@murrayc.com>
496 Use -Wformat-security with --enable-warnings=fatal.
498 Because we use it in glibmm already. No code changes were necessary.
500 2015-07-18 Murray Cumming <murrayc@murrayc.com>
502 Use -Wshadow with --enable-warnings=fatal.
504 2015-07-18 Murray Cumming <murrayc@murrayc.com>
506 Revert "C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>."
508 This reverts commit bf89034e116d4d9eb761ceb4597c69f0f2b9c597.
509 I didn't meat to push that quite yet.
511 2015-07-18 Murray Cumming <murrayc@murrayc.com>
513 C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>.
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.
520 2015-07-18 Murray Cumming <murrayc@murrayc.com>
522 C++11: Use of nullptr instead of 0.
524 2015-07-18 Murray Cumming <murrayc@murrayc.com>
530 2015-07-17 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
532 Require mm-common 0.9.8
534 2015-07-17 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
536 Remove remaining parts of the sigc::lambda documentation
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().
543 * tests/.gitignore: Remove files that are no longer generated. Bug #672555.
545 2015-07-17 Murray Cumming <murrayc@murrayc.com>
547 Remove remaining parts of the sigc::lambda API.
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
553 2015-07-17 Murray Cumming <murrayc@murrayc.com>
555 Remove deprecated sigc::lambda API that is only in headers.
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
562 2015-07-14 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
564 C++11: Avoid the need for SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE
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<>.
580 Murray Cumming made the changes of all files except functor_trait.h.m4.
582 2015-07-14 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
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
590 2015-02-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
594 2015-02-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
596 Docs: Update for Doxygen 1.8.9
598 * docs/reference/Doxyfile.in: Update for Doxygen 1.8.9.
600 2014-10-23 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
602 Tests: Improve test_disconnect_during_emit
604 * tests/test_disconnect_during_emit.cc: Test that the slot is really
605 disconnected during signal emission.
607 2014-10-23 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
609 slot_base: Let the assignment operator destroy the slot
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.
614 2014-09-15 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
618 2014-09-15 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
620 Docs: Use doxygen-extra.css
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.
626 2014-09-11 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
628 doap: Add <description>
630 2014-08-12 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
632 test_lambda: Fix for MS Visual C++ 2013
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().
638 2014-08-08 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
640 Add an include in limit_reference.h
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
646 2014-08-01 Andre Klapper <a9016009@gmx.de>
648 doap: add <programming-language>
650 2014-08-01 Olav Vitters <olav@vitters.nl>
652 doap: link tarball name and git module
654 2014-07-31 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
658 2014-07-31 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
660 Remove .gitattributes
662 * .gitattributes: Instructed git to use a custom merge function for
663 merging ChangeLog. Might have been useful, but it's not any more.
665 2014-07-30 Olav Vitters <olav@vitters.nl>
669 2014-07-29 Ryan Beasley <rbeasley@vmware.com>
671 Tests: Enable C++11 lambda expressions with MS Visual Studio 2012 and later
673 * tests/test_cpp11_lambda.cc:
674 * tests/test_track_obj.cc: Compile C++11 lambda expressions if
675 _MSC_VER >= 1700. Bug #733752.
677 2014-07-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
679 Documentation: Emphasize that signals are ref counted
681 * sigc++/signal_base.h: Emphasize that a sigc::signal holds a pointer to
682 a ref counted signal_impl. Bug #611941.
684 2014-07-27 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
686 Add test_visit_each to MSVC_Net2010
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.
692 2014-07-27 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
694 Tests: Add test_visit_each
697 * tests/Makefile.am: Add test_visit_each.
698 * tests/test_visit_each.cc: New file. Bug #724496.
700 2014-07-27 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
702 Replace visit_each() overloads by struct visitor<>
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<>.
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
734 Thanks to Ryan Beasley <rbeasley@vmware.com>, bug #724496.
736 2014-07-25 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
738 signal_impl::notify(): Don't delete signal_impl during erase()
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.
745 2014-07-24 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
747 Update the signal_impl::notify() documentation
749 * sigc++/signal_base.h: Update the signal_impl::notify() documentation.
750 It should have been updated when notify() was updated. Bug #167714.
752 2014-07-24 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
754 Add a maintainer in the DOAP file
756 2014-07-18 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
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.
777 2014-07-14 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
779 Fix 'make check' with clang++ and --enable-warnings=fatal
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.
787 2013-10-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
789 Documentation: Talk less about std::function
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
796 2013-10-27 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
798 Update .gitignore files
801 * tests/.gitignore: Ignore files generated by automake 1.13 and 'make check'.
803 2013-10-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
805 Documentation: Mention std::function and std::bind() in more comments
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
815 * sigc++/macros/signal.h.m4: connect(): Describe why the result of
816 std::bind() can't be connected directly to a signal.
818 2013-10-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
820 Fix test_cpp11_lambda for gcc 4.8
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
826 2013-07-30 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
828 signal_base, signal_impl: Speed up disconnection of slots.
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.
836 2013-07-03 José Alburquerque <jaalburquerque@gmail.com>
838 Move to a generated ChangeLog.
840 2013-07-02 José Alburquerque <jaalburquerque@gmail.com>
842 Auto-generate the ChangeLog from the git log for 'make dist'.
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'.
848 2013-05-01 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
850 Don't use __file__ in the FIREWALL m4 macro.
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.
867 2013-04-11 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
869 Use DOXYGEN_SHOULD_SKIP_THIS consistently.
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
894 2013-03-20 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
896 Suppress erroneous links in documentation.
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.
903 2013-03-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
905 Deprecate libsigc++ lambdas, sigc::group(), sigc::var().
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.
918 2013-02-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
920 Add track_obj() and test_track_obj.
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
927 * sigc++/adaptors/macros/track_obj.h.m4: New file.
928 * sigc++/filelist.am: Add track_obj.h.m4 and track_obj.h.
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.
935 2013-01-07 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
937 Documentation: Fix many warnings from Doxygen.
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.
951 2012-10-18 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
953 Test cases: Report pass/fail with exit status.
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.
961 2012-10-18 Murray Cumming <murrayc@murrayc.com>
965 2012-10-18 Murray Cumming <murrayc@murrayc.com>
967 Update the Doxyfile.in syntax.
969 * docs/reference/Doxyfile.in: By running doxygen -u
972 2012-10-17 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
974 Add some missing newin{}.
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.
982 2012-10-12 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
984 signal_base: Add blocked(), block(), unblock().
986 * sigc++/signal_base.[h|cc]: Add signal_impl::blocked(), block() and
987 signal_base::blocked(), block(), unblock(). Bug #153780.
989 2012-09-23 Murray Cumming <murrayc@murrayc.com>
993 2012-09-20 Andris Pavenis <andris.pavenis@iki.fi>
995 Fix comma operator in lambda expressions.
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.
1002 2012-09-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1004 Add SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
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.
1013 2012-09-10 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1015 Correct a bug number in ChangeLog.
1017 2012-09-10 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1019 Use std::size_t and std::ptrdiff_t.
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.)
1027 2012-09-07 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1029 Fix 'make check' with gcc 4.7.
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.
1038 2012-08-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1040 Update .gitignore and tests/.gitignore
1042 * .gitignore: Add *~ (gedit's backup files).
1043 * tests/.gitignore: Add missing executable test files.
1045 2012-08-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1047 Add SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH for C++11 lambda expressions.
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.
1061 2012-03-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1063 Enable test_lambda in 'make check'.
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.
1069 2012-02-29 Andre Klapper <ak-47@gmx.net>
1071 Add missing bug-database entry to DOAP file
1073 2011-09-22 Krzesimir Nowak <qdlacz@gmail.com>
1075 Don't use obsolete macros.
1077 * autogen.sh: Warn about everything during autoreconf.
1079 * build/cxx_std.m4: Replaced AC_TRY_COMPILE with AC_COMPILE_IFELSE.
1080 * configure.ac: Use LT_INIT.
1082 2011-07-25 Murray Cumming <murrayc@murrayc.com>
1086 2011-07-21 Thomas Rydzynski <qsorix@rydznet.pl>
1088 Mention visit_each() in the documentation of sigc::adapts.
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.
1095 2011-07-20 Murray Cumming <murrayc@murrayc.com>
1097 Missing changes from the previous commit.
1099 2011-07-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1101 Add a test case for the previous commit.
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.
1108 2011-07-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1110 slot_rep: Avoid access to deleted object in notify().
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.
1116 2011-05-24 Olav Vitters <olav@vitters.nl>
1118 Use tar-ustar instead of tar-pax to ensure OpenBSD compatibility
1120 2011-03-08 Murray Cumming <murrayc@murrayc.com>
1124 2011-02-22 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
1126 trackable: Avoid calling the same callback function twice
1128 * sigc++/trackable.cc: Invalidate a callback function entry in
1129 trackable_callback_list::remove_callback() when the list is being cleared.
1132 2011-02-04 Kalev Lember <kalev@smartlink.ee>
1134 Fix the build with GCC 4.6
1136 * sigc++/signal_base.h: Include <cstddef> for size_t.
1138 2010-10-12 David King <davidk@openismus.com>
1140 Update .gitignore and tests/.gitignore
1142 2010-10-12 David King <davidk@openismus.com>
1144 Documentation changes
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.
1150 2010-09-26 Armin Burgmeier <armin@arbur.net>
1152 Add support for 64 bit to MSVC project files
1154 2010-09-27 Armin Burgmeier <armin@arbur.net>
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:
1205 2010-09-26 Armin Burgmeier <armin@arbur.net>
1207 Add test_accumulated to the MSVC projects
1209 2010-09-27 Armin Burgmeier <armin@arbur.net>
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.
1217 2010-09-20 Armin Burgmeier <armin@arbur.net>
1219 Added MSVC 2010 project files
1221 2010-09-19 Armin Burgmeier <armin@arbur.net>
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:
1266 * configure.ac: Added project files for Visual Studio 2010.
1268 2010-06-05 David King <davidk@openismus.com>
1270 Small website updates
1272 * docs/index.html: Remove broken namespace links.
1273 * docs/website/doc.shtml: Link to library.gnome.org tutorial and API
1276 2010-06-04 Murray Cumming <murrayc@murrayc.com>
1280 2010-06-04 Murray Cumming <murrayc@murrayc.com>
1282 Manual: Add an id=index attribute in case that helps library.gnome.org.
1284 * docs/manual/libsigc_manual.xml: Add it to the <book> tag.
1286 2010-05-04 Murray Cumming <murrayc@murrayc.com>
1290 2010-05-04 Murray Cumming <murrayc@murrayc.com>
1292 Documentation improvements.
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.
1300 2010-04-27 David King <davidk@openismus.com>
1302 Improvements to main page documentation
1304 * sigc++/sigc++.h: Minor improvements.
1306 2010-04-23 David King <davidk@openismus.com>
1308 Add main page to Doxygen documentation
1310 * docs/Makefile.am: Parse sigc++/sigc++.h for documentation.
1311 * sigc++/sigc++.h: Add main page to Doxygen documentation.
1313 2010-04-23 David King <davidk@openismus.com>
1315 Fix the functors Doxygen group in the m4 files
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
1322 2010-04-16 Murray Cumming <murrayc@murrayc.com>
1326 2010-04-16 Murray Cumming <murrayc@murrayc.com>
1328 Docs: Fix the functors group and the link from the overview.
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.
1338 2010-04-16 Murray Cumming <murrayc@murrayc.com>
1340 Website: Fix the Makefile so upload works with sourceforge again.
1342 2010-04-06 Murray Cumming <murrayc@murrayc.com>
1344 Website: Update the reference API link.
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
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.
1354 2010-03-29 Murray Cumming <murrayc@murrayc.com>
1358 2010-01-06 Daniel Elstner <daniel.kitta@gmail.com>
1360 Use non-blurry font for dot graph labels
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.
1368 2009-12-29 Murray Cumming <murrayc@murrayc.com>
1370 Accumulators: Allow return types that are different to the signal's.
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
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
1383 2009-12-27 Daniel Elstner <daniel.kitta@gmail.com>
1385 Disable collaboration graphs in documentation
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
1391 (COLLABORATION_GRAPH), (GROUP_GRAPHS): Turn off additional graphs to
1394 2009-10-26 Armin Burgmeier <armin@arbur.net>
1398 2009-10-26 Armin Burgmeier <armin@arbur.net>
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.
1404 2009-09-19 Daniel Elstner <daniel.kitta@gmail.com>
1406 Support Automake silent rules
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.
1413 2009-09-18 Michael Hasselmann <michaelh@openismus.com>
1415 Documentation cleanup: sigc::hide() always only hides one signal argument
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.
1423 2009-09-13 Daniel Elstner <daniel.kitta@gmail.com>
1425 Enable verbose output of autoreconf
1427 * autogen.sh: Pass --verbose option to autoreconf.
1429 2009-09-07 Daniel Elstner <danielk@openismus.com>
1431 Delete obsolete MAINTAINERS file
1433 2009-09-02 Daniel Elstner <danielk@openismus.com>
1435 Bump version to 2.2.4.2 and update NEWS
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.
1441 2009-09-02 Daniel Elstner <danielk@openismus.com>
1443 Document namespace sigc briefly
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.
1449 2009-08-31 Daniel Elstner <danielk@openismus.com>
1451 Update Doxygen configuration for Doxygen 1.6.1
1453 * docs/reference/Doxyfile.in: Update configuration template using
1455 (SORT_MEMBERS_CTORS_1ST): Enable.
1457 2009-08-31 Daniel Elstner <danielk@openismus.com>
1459 Protect space after comma in M4 output
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.
1467 2009-08-28 Daniel Elstner <danielk@openismus.com>
1469 Update news entry for libsigc++ 2.2.4.1 release
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.
1474 2009-08-27 Daniel Elstner <danielk@openismus.com>
1476 Use shared mm-common Doxygen style sheet
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.
1483 2009-08-27 Daniel Elstner <danielk@openismus.com>
1485 Remove header and footer HTML fragments
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
1497 (SORT_GROUP_NAMES): Enable for predictability.
1499 2009-08-27 Daniel Elstner <danielk@openismus.com>
1501 Change version of upcoming release to 2.2.4.1
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.
1506 2009-08-26 Daniel Elstner <danielk@openismus.com>
1508 Bump version to 2.2.5 and update NEWS
1510 * configure.ac (AC_INIT): Increment version number to 2.2.5.
1511 * NEWS: Write news entry for libsigc++ 2.2.5.
1513 2009-08-26 Daniel Elstner <danielk@openismus.com>
1515 Reenable hierarchy graphs for each class
1517 * docs/reference/Doxyfile.in (COLLABORATION_GRAPH): Set option
1518 to YES to enable the per-class inheritance graphs.
1520 2009-08-25 Daniel Elstner <danielk@openismus.com>
1522 Have Automake check NEWS and use bzip2
1524 * configure.ac (AM_INIT_AUTOMAKE): Add options check-news and
1527 2009-08-25 Daniel Elstner <danielk@openismus.com>
1529 Update NEWS for libsigc++ 2.2.4 release
1531 2009-08-25 Daniel Elstner <danielk@openismus.com>
1533 Bump version to 2.2.4 and require mm-common 0.6.1
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.
1539 2009-08-25 Daniel Elstner <danielk@openismus.com>
1541 Change documentation host to library.gnome.org
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.
1549 2009-08-24 Daniel Elstner <danielk@openismus.com>
1551 Add id="content" element to documentation index
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.
1557 2009-08-20 Daniel Elstner <danielk@openismus.com>
1559 Use new version component substitutions
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.
1566 2009-08-20 Daniel Elstner <danielk@openismus.com>
1568 Substitute API version in filenames dynamically
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
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.
1588 2009-08-17 Daniel Elstner <danielk@openismus.com>
1590 Set libtool version information
1592 * sigc++/Makefile.am (libsigc_2_0_la_LDFLAGS): Add libtool option
1593 -version-info 0:0:0 to specify the version information explicitly.
1595 2009-08-16 Daniel Elstner <daniel.kitta@gmail.com>
1597 Remove unused parameter names for correctness
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.
1605 2009-08-16 Daniel Elstner <daniel.kitta@gmail.com>
1607 Rename scripts/ to build/ for consistency
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.
1617 2009-08-16 Daniel Elstner <danielk@openismus.com>
1619 Copy log entry into legacy ChangeLog file
1621 2009-08-16 Daniel Elstner <danielk@openismus.com>
1623 Update for latest mm-common 0.4
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.
1638 2009-08-11 Daniel Elstner <danielk@openismus.com>
1640 Do not recurse into MSVC subdirectories
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.
1653 2009-08-11 Daniel Elstner <danielk@openismus.com>
1655 Remove now superfluous doctool overrides
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.
1662 2009-08-10 Daniel Elstner <danielk@openismus.com>
1664 List mm-common files in scripts/.gitignore
1666 2009-08-10 Daniel Elstner <danielk@openismus.com>
1668 Have mm-common-prepare install the doc utils
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.
1677 2009-08-09 Daniel Elstner <danielk@openismus.com>
1679 Refresh doc-install and doc-postprocess copies
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.
1686 2009-08-08 Daniel Elstner <danielk@openismus.com>
1688 Disable extraction of undocumented identifiers
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
1695 (PREDEFINED): Predefine the Autoconf configuration defines to
1696 nudge Doxygen towards documenting the canonical code paths.
1698 2009-08-07 Daniel Elstner <danielk@openismus.com>
1700 Use #error explicitly instead of broken code
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.
1706 2009-08-07 Daniel Elstner <danielk@openismus.com>
1708 Change bug report URL to point to Bugzilla
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.
1715 2009-08-07 Daniel Elstner <danielk@openismus.com>
1717 Do not enable -pedantic mode by default
1719 * configure.ac (MM_ARG_ENABLE_WARNINGS): Remove -pedantic from the
1720 list of compiler flags to use at warning level "min" (the default).
1722 2009-08-07 Daniel Elstner <danielk@openismus.com>
1724 Correct M4 forbidden tokens pattern
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.
1730 2009-08-06 Daniel Elstner <danielk@openismus.com>
1732 Transition to new mm-common build infrastructure
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
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
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
1758 * docs/reference/Doxyfile.in: Modernize and adapt to new build
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
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.
1771 2009-06-24 Daniel Elstner <danielk@openismus.com>
1773 Add Description of a Project (DOAP) file
1775 2008-11-13 Murray Cumming <murrayc@murrayc.com>
1777 Correct the download link so it shows all versions, not just 2.0.
1779 2008-11-13 Murray Cumming <murrayc@murrayc.com>
1781 * docs/website/stable.shtml: Correct the download link so it shows all
1782 versions, not just 2.0.
1784 svn path=/trunk/; revision=302
1786 2008-10-15 Murray Cumming <murrayc@src.gnome.org>
1790 svn path=/trunk/; revision=301
1792 2008-10-08 Armin Burgmeier <armin@arbur.net>
1794 Changed output name to match the new naming convention.
1796 2008-10-08 Armin Burgmeier <armin@arbur.net>
1798 * MSVN_Net2005/libsigc++2.vcproj: Changed output name to match the new
1801 * MSVC_Net2008/: Added MSVC 2008 project files. These are basically
1802 the same as for MSVC 2005, but converted to MSVC 2008 projects.
1805 * Makefile.am: Added the new files to the build.
1807 svn path=/trunk/; revision=300
1809 2008-08-08 Armin Burgmeier <armin@arbur.net>
1811 Enable the disconnect_during_emit test by default.
1813 2008-08-08 Armin Burgmeier <armin@arbur.net>
1815 * MSVC_Net2005/libsigc++2.sln: Enable the disconnect_during_emit test
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
1822 svn path=/trunk/; revision=299
1824 2008-08-08 Armin Burgmeier <armin@arbur.net>
1826 Moved from MSVC_Net2003.
1828 2008-08-08 Armin Burgmeier <armin@arbur.net>
1830 * MSVC_Net2005/: Moved from MSVC_Net2003.
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.
1837 * MSVC_Net2005/Makefile.am:
1839 * configure.ac: Adapted build files accordingly.
1841 svn path=/trunk/; revision=298
1843 2008-04-06 Cedric Gustin <cedric.gustin@gmail.com>
1845 Removed ATL/MFC header files dependency as afxres.h is not part of the
1847 2008-04-06 Cedric Gustin <cedric.gustin@gmail.com>
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.
1854 svn path=/trunk/; revision=297
1856 2008-03-10 Murray Cumming <murrayc@src.gnome.org>
1860 svn path=/trunk/; revision=296
1862 2008-02-28 Murray Cumming <murrayc@src.gnome.org>
1866 svn path=/trunk/; revision=295
1868 2008-02-28 Elaine Xiong <elaine.xiong@sun.com>
1870 Add ifdefs around uses of reverse_iterator to really fix the build with
1872 2008-02-28 Elaine Xiong <elaine.xiong@sun.com>
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
1880 svn path=/trunk/; revision=294
1882 2008-02-22 Murray Cumming <murrayc@src.gnome.org>
1886 svn path=/trunk/; revision=293
1888 2008-01-01 Ryan Hill <dirtyepic@gentoo>
1890 Include the cstdlib and cstring headers to fix the build with the gcc 4.3
1892 2008-01-01 Ryan Hill <dirtyepic@gentoo.>
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.
1898 svn path=/trunk/; revision=292
1900 2007-12-09 Murray Cumming <murrayc@murrayc.com>
1902 Added some includes to fix the build in some environments, such as when
1904 2007-08-31 Murray Cumming <murrayc@murrayc.com>
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.
1910 svn path=/trunk/; revision=291
1912 2007-09-10 Murray Cumming <murrayc@src.gnome.org>
1914 Mark version in ChangeLog
1916 svn path=/trunk/; revision=290
1918 2007-09-10 Murray Cumming <murrayc@src.gnome.org>
1920 Added MAINTAINERS file
1922 svn path=/trunk/; revision=288
1924 2007-08-14 Murray Cumming <murrayc@src.gnome.org>
1928 svn path=/trunk/; revision=286
1930 2007-08-14 Murray Cumming <murrayc@murrayc.com>
1932 Removed this header.
1934 2007-08-14 Murray Cumming <murrayc@murrayc.com>
1936 * sigc++/Makefile.am:
1937 * sigc++/compatibility.h: Removed this header.
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:
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.
1955 * tests/Makefile.am:
1956 * tests/test_compatibility.cc: Removed this test.
1958 svn path=/trunk/; revision=285
1960 2007-07-28 Michael Elkstrand <michael@elehack.net>
1962 slot_iterator_buf, slot_reverse_iterator_buf: Added typedefs for
1964 2007-07-28 Michael Elkstrand <michael@elehack.net>
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.
1975 svn path=/trunk/; revision=284
1977 2006-11-14 Daniel Elstner <daniel@src.gnome.org>
1979 Wholly replace this script with a critter from one of my personal
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.
1989 2006-06-20 Murray Cumming <murrayc@murrayc.com>
1991 Revert the previous changes, because none is used in the exported symbol
1993 2006-06-20 Murray Cumming <murrayc@murrayc.com>
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
2004 2006-06-06 Régis Duchesne <hpreg@vmware.com>
2006 Renamed 'nil' to 'none' to allow an Objective-C++ compiler to compile the
2008 2006-05-26 Régis Duchesne <hpreg@vmware.com>
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.
2019 2005-12-21 Murray Cumming <murrayc@murrayc.com>
2021 Make remaining reverse_iterator_buf operator--() methods return by
2023 2005-12-21 Murray Cumming <murrayc@murrayc.com>
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.
2030 2005-12-20 Murray Cumming <murrayc@murrayc.com>
2032 Make all operator--() methods return by reference, like the operator++()
2034 2005-12-20 Murray Cumming <murrayc@murrayc.com>
2036 * sigc++/macros/signal.h.m4: Make all operator--() methods
2037 return by reference, like the operator++() methods.
2038 Bug #304402 from John Profic.
2040 2005-12-14 John Profic <profic@kursknet.ru>
2042 Fix compilation problem in the last patch.
2044 2005-12-14 John Profic <profic@kursknet.ru>
2046 * sigc++/macros/signal.h.m4: Fix compilation problem in
2049 2005-12-14 John Profic <profic@kursknet.ru>
2051 Added emit_reverse().
2053 2005-12-14 John Profic <profic@kursknet.ru>
2055 * sigc++/macros/signal.h.m4: Added emit_reverse().
2057 2005-12-14 Murray Cumming <murrayc@src.gnome.org>
2059 mark branch in ChangeLog
2061 2005-12-01 Murray Cumming <murrayc@murrayc.com>
2063 slot_base::disconnect(): Set call_ to 0, to invalidate the slot, even if
2065 2005-12-01 Murray Cumming <murrayc@murrayc.com>
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
2074 Fixes bug #311057 from James Lin.
2076 2005-12-01 Murray Cumming <murrayc@murrayc.com>
2078 Added test case from bug #311057.
2080 2005-12-01 Murray Cumming <murrayc@murrayc.com>
2082 * tests/Makefile.am:
2083 * tests/test_slot_disconnect.cc: Added test
2084 case from bug #311057.
2086 2005-11-16 Philipp Berndt <philipp.berndt@gmx.net>
2088 Make member exception_catch_functor<T_functor, T_catcher, void>::catcher_
2090 2005-11-16 Philipp Berndt <philipp.berndt@gmx.net>
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)
2098 2005-08-17 Murray Cumming <murrayc@src.gnome.org>
2100 Increased version. Forgot to commit this a few days ago.
2102 2005-08-01 Neal E. Coombes <nealc@trdlnk.com>
2104 Updated the documentation for temp_slot_list as requested in bug #303896.
2106 2005-08-01 Neal E. Coombes <nealc@trdlnk.com>
2108 * sigc++/signal_base.h: Updated the documentation for temp_slot_list
2109 as requested in bug #303896.
2111 2005-08-01 Murray Cumming <murrayc@murrayc.com>
2113 Added missing ) in call to sun_forte_workaround(), fixing build on SUN
2115 2005-07-13 Murray Cumming <murrayc@murrayc.com>
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.
2121 2005-08-01 Bruno Martinez <brunom@fing.edu.uy>
2123 Renamed ::sigc::is_base_and_derived::internal to
2125 2005-08-19 Bruno Martinez <brunom@fing.edu.uy>
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
2133 2005-07-13 Murray Cumming <murrayc@src.gnome.org>
2137 2005-07-13 Murray Cumming <murrayc@murrayc.com>
2139 Correct mentions of 1.2 stuff instead of 2.0. Patch in bug #310213 from
2141 2005-07-13 Murray Cumming <murrayc@murrayc.com>
2143 * docs/manual/libsigc_manual.xml: Correct mentions of
2144 1.2 stuff instead of 2.0. Patch in bug #310213 from
2147 2005-07-13 Murray Cumming <murrayc@murrayc.com>
2149 Fixed typo found by Antonio Coralles.
2151 2005-07-13 Murray Cumming <murrayc@murrayc.com>
2153 * docs/manual/libsigc_manual.xml: Fixed typo
2154 found by Antonio Coralles.
2156 2005-07-09 Murray Cumming <murrayc@murrayc.com>
2158 Did the same (see last commit) for slot_const_iterator and
2160 2005-07-09 Murray Cumming <murrayc@murrayc.com>
2162 * sigc++/macros/signal.h.m4: Did the same (see
2163 last commit) for slot_const_iterator and
2166 2005-07-09 Murray Cumming <murrayc@murrayc.com>
2168 slot_iterator: operator--() now returns value, not reference, like
2170 2005-07-09 Murray Cumming <murrayc@murrayc.com>
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
2178 2005-07-04 Murray Cumming <murrayc@src.gnome.org>
2182 2005-07-04 Philip Langdale <plangdale@vmware.com>
2184 Add a setter typedef to compose*_functor and use it instead of the
2186 2005-07-04 Philip Langdale <plangdale@vmware.com>
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.
2194 2005-06-13 Marek Rouchal <marek.rouchal@infineon.com>
2196 Specify int return type for main(), to be more ISO C++ compliant. Bug
2198 2005-06-13 Marek Rouchal <marek.rouchal@infineon.com>
2200 * tests/test_deduce_result_type.cc: Specify int return type
2201 for main(), to be more ISO C++ compliant. Bug #307478.
2203 2005-06-13 Andris Pavenis <pavenis@latnet.lv>
2205 sigc++/adaptors/lambda/macros/select.h.m4 Specify only a type (not a
2207 2005-06-11 Andris Pavenis <pavenis@latnet.lv>
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
2214 2005-06-12 Paul Pogonyshev <pogonyshev@gmx.net>
2216 Add test for whether the compiler allows referencing to member functions
2218 2005-06-12 Paul Pogonyshev <pogonyshev@gmx.net>
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.
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.
2232 2005-06-10 Murray Cumming <murrayc@murrayc.com>
2234 Use CALL_SIZE instead of hard-coded 7s and 6s.
2236 2005-06-10 Murray Cumming <murrayc@murrayc.com>
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.
2243 2005-06-10 Murray Cumming <murrayc@src.gnome.org>
2247 2005-06-10 Murray Cumming <murrayc@murrayc.com>
2249 Make the limit_derived_target::with_type inner class an outer class, to
2251 2005-06-10 Murray Cumming <murrayc@murrayc.com>
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.
2258 2005-06-10 Murray Cumming <murrayc@murrayc.com>
2260 Make the limit_derived_target::with_type inner class an outer class, to
2262 2005-06-10 Murray Cumming <murrayc@murrayc.com>
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.
2269 2005-06-09 Murray Cumming <murrayc@src.gnome.org>
2273 2005-06-07 Murray Cumming <murrayc@src.gnome.org>
2275 Removed missing call to missing macro from configure.in
2277 2005-06-07 Murray Cumming <murrayc@murrayc.com>
2279 Specify the actual class when using test_int(), instead of the derived
2281 2005-06-07 Murray Cumming <murrayc@murrayc.com>
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
2288 2005-06-07 Murray Cumming <murrayc@murrayc.com>
2290 signal_emit::emit(): Use scope to ensure a certain order of destruction of
2292 2005-06-07 Murray Cumming <murrayc@murrayc.com>
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.
2298 2005-06-07 Murray Cumming <murrayc@murrayc.com>
2300 Added comments about commenting-out SIGC_TYPEDEF_REDEFINE_ALLOWED when
2302 2005-06-07 Murray Cumming <murrayc@murrayc.com>
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.
2308 2005-06-07 Murray Cumming <murrayc@murrayc.com>
2310 Added check for the non-standard SUN Forte reverse_iterator<>, and used
2312 2005-06-07 Murray Cumming <murrayc@murrayc.com>
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
2322 2005-06-07 Murray Cumming <murrayc@murrayc.com>
2324 limit_derived_target(): Just some whitespace changes.
2326 2005-06-07 Murray Cumming <murrayc@murrayc.com>
2328 * sigc++/visit_each.h: limit_derived_target(): Just some whitespace
2331 2005-06-07 Murray Cumming <murrayc@murrayc.com>
2333 limit_derived_target(): Just some whitespace changes.
2335 2005-06-07 Murray Cumming <murrayc@murrayc.com>
2337 * sigc++/visit_each.h: limit_derived_target(): Just some whitespace
2340 2005-06-04 Neal E. Coombes <nealc@trdlnk.com>
2342 Modified temp_slot_list to be a temporary view into a slot list. Instead
2344 2005-05-16 Neal E. Coombes <nealc@trdlnk.com>
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.
2353 2005-06-04 Friedemann Kleint <kleint@bifab.de>
2355 visit_each() template specializations: Mention the bool
2357 2005-06-04 Friedemann Kleint <kleint@bifab.de>
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
2365 2005-05-10 Murray Cumming <murrayc@src.gnome.org>
2369 2005-05-10 Murray Cumming <murrayc@src.gnome.org>
2371 Added missing include
2373 2005-05-10 Régis Duchesne <hpreg@vmware.com>
2375 New class that just stores a reference, and makes sure that if the
2377 2005-05-06 Régis Duchesne <hpreg@vmware.com>
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
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
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.
2420 2005-05-04 Murray Cumming <murrayc@src.gnome.org>
2424 2005-05-01 Murray Cumming <murrayc@src.gnome.org>
2428 2005-05-01 Murray Cumming <murrayc@murrayc.com>
2430 slot_base::slot_base(src): If the source slot_base has a null rep->call_,
2432 2005-05-01 Murray Cumming <murrayc@murrayc.com>
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
2442 2005-05-01 Murray Cumming <murrayc@src.gnome.org>
2446 2005-05-01 Murray Cumming <murrayc@murrayc.com>
2448 bound_*<>: Add a new is_base_and_derived<sigc::trackable> parameter to the
2450 2005-05-01 Murray Cumming <murrayc@murrayc.com>
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
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
2467 2005-04-28 Murray Cumming <murrayc@murrayc.com>
2469 Added comments for users of g++ 3.2.
2471 2005-04-28 Murray Cumming <murrayc@murrayc.com>
2473 * sigc++/type_traits.h: Added comments for users of
2476 2005-04-28 Murray Cumming <murrayc@murrayc.com>
2478 Added simplified test case from bug #169225. We have a patch to make this
2480 2005-04-28 Murray Cumming <murrayc@murrayc.com>
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
2488 2005-04-27 Murray Cumming <murrayc@murrayc.com>
2490 Added a place to put extra test code, so I don't have to keep installing
2492 2005-04-27 Murray Cumming <murrayc@murrayc.com>
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.
2499 2005-04-27 Murray Cumming <murrayc@murrayc.com>
2501 Revert back to the non-explicit template call, because we can not specify
2503 2005-04-27 Murray Cumming <murrayc@murrayc.com>
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.
2513 2005-04-26 Murray Cumming <murrayc@murrayc.com>
2515 Use the explicit template specialization, needed for Tru64 and AIX
2517 2005-04-26 Murray Cumming <murrayc@murrayc.com>
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
2525 * tests/test_bind.cc: Comment out the crashing (not with
2526 g++ 3.4) use of sigc::ref() with an explanatory comment.
2528 2005-04-25 Murray Cumming <murrayc@src.gnome.org>
2532 2005-03-31 Murray Cumming <murrayc@src.gnome.org>
2536 2005-03-18 Murray Cumming <murrayc@murrayc.com>
2538 Updated the list of supported compilers.
2540 2005-03-18 Murray Cumming <murrayc@murrayc.com>
2542 * index.shtml: Updated the list of supported
2545 2005-03-18 Murray Cumming <murrayc@murrayc.com>
2547 Remove links to the sourceforge download page, because we do not use it.
2549 2005-03-18 Murray Cumming <murrayc@murrayc.com>
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.
2558 2005-03-09 Cedric Gustin <cedric.gustin@swing.be>
2560 Fixed typo in today's date.
2562 2005-03-09 Cedric Gustin <cedric.gustin@swing.be>
2564 * ChangeLog: Fixed typo in today's date.
2566 2005-03-09 Cedric Gustin <cedric.gustin@swing.be>
2568 Moved MSVC_Net2003 directory to SUBDIRS. Added blank.cpp to EXTRA_DIST.
2570 2005-01-24 Cedric Gustin <cedric.gustin@swing.be>
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.
2580 2005-03-04 Murray Cumming <murrayc@murrayc.com>
2582 Mention actual supported compilers. Removed broken examples links. Change
2584 2005-03-05 Murray Cumming <murrayc@murrayc.com>
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.
2590 2005-02-23 Murray Cumming <murrayc@murrayc.com>
2592 Make slot_base::operator=() public, to fix the build with SUN Forte C++
2594 2005-02-23 Murray Cumming <murrayc@murrayc.com>
2596 * sigc++/functors/slot_base.h: Make slot_base::operator=() public, to
2597 fix the build with SUN Forte C++ 5.5 and Tru64.
2599 2005-02-22 Murray Cumming <murrayc@src.gnome.org>
2603 2005-02-20 Murray Cumming <murrayc@murrayc.com>
2605 #included <new> to avoid an unresolved symbol error with the Tru64
2607 2005-02-20 Murray Cumming <murrayc@murrayc.com>
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.
2613 2005-02-20 Murray Cumming <murrayc@murrayc.com>
2615 #included <new> to avoid an unresolved symbol error with the Tru64
2617 2005-02-20 Murray Cumming <murrayc@murrayc.com>
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.
2623 2005-02-20 Martin Schulze <mschulze@cvs.gnome.org>
2625 Add some documentation.
2627 2005-02-20 Martin Schulze <mschulze@cvs.gnome.org>
2629 * sigc++/signal_base.h: Add some documentation.
2631 2005-02-20 Martin Schulze <mschulze@cvs.gnome.org>
2633 Reset deferred_ flag to false in signal_impl::sweep() (Neal E. Coombes).
2635 2005-02-20 Martin Schulze <mschulze@cvs.gnome.org>
2637 * sigc++/signal_base.cc: Reset deferred_ flag to false in
2638 signal_impl::sweep() (Neal E. Coombes). Partly fixes bug
2641 2005-02-11 Martin Schulze <mschulze@cvs.gnome.org>
2643 Set the correct group in post-html.
2645 2005-02-11 Martin Schulze <mschulze@cvs.gnome.org>
2647 * docs/manual/Makefile.am: Set the correct group in post-html.
2649 2005-02-11 Murray Cumming <murrayc@murrayc.com>
2651 Fix typo in url for reference docs. Found by James Lin.
2653 2005-02-11 Murray Cumming <murrayc@murrayc.com>
2655 * docs/website/doc.shtml: Fix typo in url for reference docs. Found by
2658 2005-02-11 Murray Cumming <murrayc@src.gnome.org>
2660 reverted stuff I did not mean to commit
2662 2005-02-11 Murray Cumming <murrayc@murrayc.com>
2664 Fix typo in url for reference docs. Found by James Lin.
2666 2005-02-11 Murray Cumming <murrayc@murrayc.com>
2668 * docs/website/doc.shtml: Fix typo in url for reference docs. Found by
2671 2005-02-06 Murray Cumming <murrayc@murrayc.com>
2673 temp_slot_list::begin(), end(): Actually return the iterators.
2675 2005-02-06 Murray Cumming <murrayc@murrayc.com>
2677 * sigc++/signal_base.h: temp_slot_list::begin(), end(): Actually
2678 return the iterators.
2680 2005-02-04 Neal E. Coombes <nealc@trdlnk.com>
2682 Add temp_slot_list struct to facilitate allowing new connections to a
2684 2005-02-03 Neal E. Coombes <nealc@trdlnk.com>
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
2691 prevent connections made during an emittion from being called in
2693 same emittion (which has the potential of causing things like
2694 infinite loops). This guarantees an emittion will be finite, as
2696 as maintaining any order of emittion guarantees that may have
2700 2005-02-02 Murray Cumming <murrayc@src.gnome.org>
2704 2005-02-02 Murray Cumming <murrayc@src.gnome.org>
2708 2005-02-02 Murray Cumming <murrayc@src.gnome.org>
2712 2005-02-01 Murray Cumming <murrayc@murrayc.com>
2714 Add sigc::var<>() documentation, from Roger Ferrer Ibáñez in bug
2716 2005-02-01 Murray Cumming <murrayc@murrayc.com>
2718 * sigc++/adapators/macros/base.h.m4: Add sigc::var<>() documentation,
2719 from Roger Ferrer Ibáñez in bug #149483.
2721 2005-02-01 Murray Cumming <murrayc@murrayc.com>
2723 In the template specializations of visit_each(): As before, specify the
2725 2005-02-01 Murray Cumming <murrayc@murrayc.com>
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
2733 2005-02-01 Murray Cumming <murrayc@murrayc.com>
2735 [murrayc@localhost libsigc++2]$ more ChangeLog 2005-02-01 Murray Cumming <murrayc@murrayc.com>
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.
2741 2005-02-01 Murray Cumming <murrayc@murrayc.com>
2743 Define bind_functor::operator() inline because the AIX compiler/linker
2745 2005-02-01 Murray Cumming <murrayc@murrayc.com>
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.
2751 2005-02-01 Murray Cumming <murrayc@murrayc.com>
2755 2005-01-30 Murray Cumming <murrayc@murrayc.com>
2757 * sigc++/type_traits.h: is_base_and_derived: Added
2758 avoid_gcc3_warning_(), to avoid an incorrect warning when using
2761 2005-01-30 Murray Cumming <murrayc@murrayc.com>
2763 is_base_and_derived: Added avoid_gcc3_warning_(), to avoid an incorrect
2765 2005-01-30 Murray Cumming <murrayc@murrayc.com>
2767 * sigc++/type_traits.h: is_base_and_derived: Added
2768 avoid_gcc3_warning_(), to avoid an incorrect warning when using
2771 2005-01-30 Liza Klerck <liza@trdlnk.com>
2773 Add a sigc:: namespace prefix to the nested use of visit_each(), to avoid
2775 2005-01-28 Liza Klerck <liza@trdlnk.com>
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.
2781 2005-01-27 Murray Cumming <murrayc@murrayc.com>
2783 Add a sigc:: namespace prefix to the nested use of visit_each(), to avoid
2785 2005-01-27 Murray Cumming <murrayc@murrayc.com>
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
2793 2005-01-26 Murray Cumming <murrayc@src.gnome.org>
2797 2005-01-25 Murray Cumming <murrayc@src.gnome.org>
2801 2005-01-24 Cedric Gustin <cedric.gustin@swing.be>
2803 Moved the SIGC_USING_STD macro definition out of the SIGC_CONFIGURE
2805 2005-01-24 Cedric Gustin <cedric.gustin@swing.be>
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.
2817 2005-01-21 Murray Cumming <murrayc@murrayc.com>
2819 Disabled the test_accumulator, test_bind, and test_compose tests, and part
2821 2005-01-21 Murray Cumming <murrayc@murrayc.com>
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.
2828 2005-01-21 Murray Cumming <murrayc@murrayc.com>
2830 non-member operator()(): Specify the extra nil arguments in the templated
2832 2005-01-21 Murray Cumming <murrayc@murrayc.com>
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.
2839 2005-01-21 Murray Cumming <murrayc@murrayc.com>
2841 is_base_and_derived struct: Move the is_base_class_() functions out of the
2843 2005-01-21 Murray Cumming <murrayc@murrayc.com>
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.
2851 2005-01-21 Murray Cumming <murrayc@murrayc.com>
2853 slot and signal template specialization for various numbers of template
2855 2005-01-21 Murray Cumming <murrayc@murrayc.com>
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.
2864 2005-01-19 Murray Cumming <murrayc@murrayc.com>
2866 struct is_base_and_derived: Make the test inner struct a friend, so that
2868 2005-01-19 Murray Cumming <murrayc@murrayc.com>
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.
2877 2005-01-19 Murray Cumming <murrayc@murrayc.com>
2879 Added cxx_std.m4, with a test copied from glibmm/scripts/cxx_std.m4 to
2881 2005-01-19 Murray Cumming <murrayc@murrayc.com>
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::
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
2894 2005-01-19 Murray Cumming <murrayc@murrayc.com>
2896 Added cxx_std.m4, with a test copied from glibmm/scripts/cxx_std.m4 to
2898 2005-01-19 Murray Cumming <murrayc@murrayc.com>
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::
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
2911 2005-01-19 Murray Cumming <murrayc@murrayc.com>
2913 AC_INIT(): Provide the extra tarball name parameter, so that it does not
2915 2005-01-19 Murray Cumming <murrayc@murrayc.com>
2917 * configure.in: AC_INIT(): Provide the extra tarball name parameter,
2918 so that it does not create a libsigc--- tarball.
2920 2005-01-19 Murray Cumming <murrayc@murrayc.com>
2922 AC_INT(): Use libsigc++ instead of sigc++, attempting to get the correct
2924 2005-01-19 Murray Cumming <murrayc@murrayc.com>
2926 * configure.in: AC_INT(): Use libsigc++ instead of sigc++, attempting
2927 to get the correct tarball name.
2929 2005-01-18 Murray Cumming <murrayc@murrayc.com>
2931 Used the autoconf 2.93 and AM_INIT_AUTOMAKE() technique to specify ustar
2933 2005-01-18 Murray Cumming <murrayc@murrayc.com>
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.
2940 2005-01-18 Murray Cumming <murrayc@murrayc.com>
2942 Specify the base class when using the rep_ member variable. This stops the
2944 2005-01-18 Murray Cumming <murrayc@murrayc.com>
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.
2951 2005-01-18 Murray Cumming <murrayc@murrayc.com>
2953 Bug #159597 - patch from e97_far at e.kth.se to replace C-style casts with
2955 2005-01-18 Murray Cumming <murrayc@murrayc.com>
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.
2960 2005-01-17 Murray Cumming <murrayc@murrayc.com>
2962 Specifying html/index.html instead of just the html directory as a target
2964 2005-01-17 Murray Cumming <murrayc@murrayc.com>
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.
2971 2005-01-17 Murray Cumming <murrayc@murrayc.com>
2973 Add built files to DISTCLEANFILES to fix the distcheck. Specify in paths,
2975 2005-01-17 Murray Cumming <murrayc@murrayc.com>
2977 * MSVC_Net2004/Makefile.am: Add built files to DISTCLEANFILES to fix
2979 * docs/reference/Makefile.am, manual/Makefile.am: Specify in
2980 paths, to fix distcheck of the manual, and maybe fix install problems
2983 2005-01-11 Murray Cumming <murrayc@murrayc.com>
2985 Updated the text about binary packages. Link to the 2.0 documentation
2987 2005-01-11 Murray Cumming <murrayc@murrayc.com>
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
2993 2005-01-11 GregSchussman <schussman@slac.stanford.edu>
2995 Clean up punctuation, make definitions complete sentences, and add
2997 2004-12-17 GregSchussman <schussman@slac.stanford.edu>
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.
3004 2005-01-11 Murray Cumming <murrayc@murrayc.com>
3006 Added manual, copied from the libsigc++-1.2 cvs module, and updated it for
3008 2005-01-11 Murray Cumming <murrayc@murrayc.com>
3010 * docs/: Added manual, copied from the libsigc++-1.2 cvs module,
3011 and updated it for the new 2.0 API.
3013 2005-01-11 Murray Cumming <murrayc@murrayc.com>
3015 Added website, copied from the libsigc++-1.2 cvs module. We will use it
3017 2005-01-11 Murray Cumming <murrayc@murrayc.com>
3019 * docs/: Added website, copied from the libsigc++-1.2 cvs module.
3020 We will use it from here from now on.
3022 2004-12-12 Cedric Gustin <cedric.gustin@swing.be>
3024 parse version tags at configure time (for sigc-2.0.rc). New resource file.
3026 2004-12-11 Cedric Gustin <cedric.gustin@swing.be>
3028 * configure.ac : parse version tags at configure time (for
3030 * MSVC_Net2003/sigc-2.0.rc.in : New resource file.
3031 * MSVC_Net2003/Makefile.am: include sigc-2.0.rc in distribution.
3033 2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
3035 get sigc++config.h from $(top_builddir) instead of $(top_srcdir).
3037 2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
3039 * MSVC_Net2003/Makefile.am: get sigc++config.h from $(top_builddir)
3040 instead of $(top_srcdir).
3042 2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
3044 copy sigc++config.h from $(top_srcdir) at build time. sigc++config.h
3046 2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
3048 * MSVC_Net2003/Makefile.am: copy sigc++config.h from $(top_srcdir)
3049 at build time. sigc++config.h removed from CVS.
3051 2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
3053 Renamed libsigc++ target to sigc-2.0d.dll (Debug) and sigc-2.0.dll
3055 2004-12-08 Cedric Gustin <cedric.gustin@swing.be>
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)
3066 2004-11-27 Murray Cumming <murrayc@murrayc.com>
3068 Revert the AC_PROG_LIBTOOL change, so that this builds with actually
3070 2004-11-27 Murray Cumming <murrayc@murrayc.com>
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
3076 2004-11-06 Martin Schulze <mschulze@cvs.gnome.org>
3078 Make catcher_ member public so that it can be accessed by visit_each()
3080 2004-11-06 Martin Schulze <mschulze@cvs.gnome.org>
3082 * sigc++/adaptors/macros/exception_catch.h.m4: Make catcher_
3084 public so that it can be accessed by visit_each() (bug reported
3086 ml by Philip Langdale <plangdale@vmware.com>).
3088 2004-10-24 Martin Schulze <mschulze@cvs.gnome.org>
3090 Link with the "multithreaded DLL" runtime libraries and enable RTTI for
3092 2004-10-24 Martin Schulze <mschulze@cvs.gnome.org>
3095 MSVC_Net2003/*/*.vcproj: Link with the "multithreaded DLL"
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>).
3102 2004-10-12 Martin Schulze <mschulze@src.gnome.org>
3104 Update ChangeLog (add '2.0.6:').
3106 2004-10-12 Martin Schulze <mschulze@cvs.gnome.org>
3108 Fix project files to compile out-of-the-box and add dummy file so that .cc
3110 2004-10-12 Martin Schulze <mschulze@cvs.gnome.org>
3112 * MSVC_Net2003/*/*.vcproj, MSVC_Net2003/blank.cpp: Fix project
3114 to compile out-of-the-box and add dummy file so that .cc files
3116 recognized as c++ code files (patch from Timothy M. Shead).
3118 2004-10-12 Martin Schulze <mschulze@cvs.gnome.org>
3120 If SIGC_NEW_DELETE_IN_LIBRARY_ONLY is defined, implement
3122 2004-10-10 Martin Schulze <mschulze@cvs.gnome.org>
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.
3131 2004-10-07 Martin Schulze <mschulze@cvs.gnome.org>
3133 Update for libtool 1.5a (with support for Intel C++). Remove bogus
3135 2004-10-07 Martin Schulze <mschulze@cvs.gnome.org>
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>).
3141 2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
3143 Bump version number to 2.0.6. Add ChangeLog summary for version 2.0.6.
3145 2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
3147 * configure.ac: Bump version number to 2.0.6.
3148 * NEWS: Add ChangeLog summary for version 2.0.6.
3150 2004-10-02 Martin Schulze <mschulze@src.gnome.org>
3152 Update tests/.cvsignore (Martin)
3154 2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
3156 Rename (typed_)slot_rep::detach to (typed_)slot_rep::destroy. Call the
3158 2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
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
3165 A cleaner solution would be to add an additional "virtual"
3167 that calls 'delete' or a real virtual dtor. However, this would
3169 less efficient and might break the ABI. (Fixes #152323.)
3171 2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
3173 Define and use new macro SIGC_NEW_DELETE_IN_LIBRARY_ONLY to ABI-compatibly
3175 2004-10-02 Martin Schulze <mschulze@cvs.gnome.org>
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.
3183 2004-09-26 Martin Schulze <mschulze@cvs.gnome.org>
3185 Add a missing template keyword in the definition of
3187 2004-09-26 Martin Schulze <mschulze@cvs.gnome.org>
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).
3193 2004-09-26 Martin Schulze <mschulze@cvs.gnome.org>
3195 Use correct bound_mem_functor variants for const (volatile) methods (fixes
3197 2004-09-26 Martin Schulze <mschulze@cvs.gnome.org>
3199 * sigc++/macros/object_slot.h.m4: Use correct bound_mem_functor
3200 variants for const (volatile) methods (fixes #148744).
3202 2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
3204 Correct link to lambda module.
3206 2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
3208 * docs/index.html: Correct link to lambda module.
3210 2004-09-01 Martin Schulze <mschulze@src.gnome.org>
3214 2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
3216 Update compatibility section.
3218 2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
3220 * README: Update compatibility section.
3222 2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
3226 2004-09-01 Martin Schulze <mschulze@cvs.gnome.org>
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.
3232 2004-08-21 Martin Schulze <mschulze@cvs.gnome.org>
3234 Use sigc::var("\n") instead of sigc::ref("\n"). Comment out the affected
3236 2004-08-21 Martin Schulze <mschulze@cvs.gnome.org>
3238 * tests/test_lambda.cc: Use sigc::var("\n") instead of
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
3247 the test case from compiling with the Sun FORTE.
3248 * tests/test_trackable.cc: Remove a 'virtual' keyword and an
3250 variable to avoid compiler warnings.
3251 * NEWS: Add ChangeLog summary for version 2.0.4.
3253 2004-08-09 Murray Cumming <murrayc@src.gnome.org>
3257 2004-08-04 James Lin <slimjimmy@mail.com>
3259 Added SIGC_API qualifier to all externally-visible non-template
3261 2004-08-03 James Lin <slimjimmy@mail.com>
3263 * Added SIGC_API qualifier to all externally-visible
3266 * Added #include <sigc++config.h> to the files that use
3268 * Added empty SIGC_API definition to sigc++config.h.in for
3270 compilers. I'm not sure if this is the right place to put this
3272 * Added MSVC-specific sigc++config.h to the MSVC project
3274 (The comment in it probably should be edited.)
3275 * Changed MSVC project settings to output a multi-threaded DLL,
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.
3281 2004-08-03 James Lin <slimjimmy@mail.com>
3283 Added SIGC_API qualifier to all externally-visible non-template
3285 2004-08-03 James Lin <slimjimmy@mail.com>
3287 * Added SIGC_API qualifier to all externally-visible
3290 * Added #include <sigc++config.h> to the files that use
3292 * Added empty SIGC_API definition to sigc++config.h.in for
3294 compilers. I'm not sure if this is the right place to put this
3296 * Added MSVC-specific sigc++config.h to the MSVC project
3298 (The comment in it probably should be edited.)
3299 * Changed MSVC project settings to output a multi-threaded DLL,
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.
3305 2004-08-01 Martin Schulze <mschulze@cvs.gnome.org>
3307 Remove type_trait<>::instance() (was unimplemented and unused; caused
3309 2004-08-01 Martin Schulze <mschulze@cvs.gnome.org>
3311 * sigc++/type_traits.h: Remove type_trait<>::instance()
3312 (was unimplemented and unused; caused problems with the MSVC).
3314 2004-07-23 Martin Schulze <mschulze@cvs.gnome.org>
3316 Fix typo concerning distribution of libsigc++-2.0.spec. Mention our
3318 2004-07-23 Martin Schulze <mschulze@cvs.gnome.org>
3320 * Makefile.am: Fix typo concerning distribution of
3322 * AUTHORS: Mention our contributors for platforms Sun FORTE and
3325 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
3327 Don't call operator()() in sun_forte_workaround(); rather copy
3329 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
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.
3335 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
3337 Break "std::cout << [expr] << a << std::endl;" into "std::cout << [expr];
3339 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
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
3347 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
3349 Correct return type deduction of lambda expressions in
3351 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
3353 * sigc++/adaptors/lambda/macros/operator.h.m4: Correct return type deduction
3354 of lambda expressions in lambda_operator*::operator()(). Might be related to
3356 * sigc++/adaptors/lambda/macros/group.h.m4: Use m4 macro _P_().
3358 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
3360 Add configure check SIGC_OPERATOR_OVERLOAD_AMBUGUITY for a SUN FORTE
3362 2004-07-15 Martin Schulze <mschulze@cvs.gnome.org>
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).
3379 2004-07-11 Martin Schulze <mschulze@cvs.gnome.org>
3381 Split SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD into
3383 2004-07-11 Martin Schulze <mschulze@cvs.gnome.org>
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
3392 Should fix the compiler problems with MSVC.
3394 2004-07-11 Martin Schulze <mschulze@cvs.gnome.org>
3396 Use sigc::ptr_fun instead of std::ptr_fun. (fixes bug #144846)
3398 2004-07-11 Martin Schulze <mschulze@cvs.gnome.org>
3400 * examples/hello_world.cc: Use sigc::ptr_fun instead of
3404 2004-07-11 Eric Bourque <ericb@computer.org>
3406 new file patched generate spec file ignore generated file (Martin Schulze)
3408 2004-07-11 Eric Bourque <ericb@computer.org>
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)
3415 2004-07-11 Murray Cumming <murrayc@murrayc.com>
3417 Added some comments. operator=(): Check for self-asignment, though I do
3419 2004-07-11 Murray Cumming <murrayc@murrayc.com>
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.
3426 2004-07-09 Murray Cumming <murrayc@murrayc.com>
3428 Added test_disconnect_during_emit.cc, to prove that this works.
3430 2004-07-09 Murray Cumming <murrayc@murrayc.com>
3432 * tests/: Added test_disconnect_during_emit.cc, to prove that this
3435 2004-07-08 Murray Cumming <murrayc@murrayc.com>
3437 foo::operator(int): return a value. The SUN Forte 5.5 compiler complains
3439 2004-07-08 Murray Cumming <murrayc@murrayc.com>
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.
3444 2004-07-08 Murray Cumming <murrayc@murrayc.com>
3446 class signal*: Rename the slot_list typedef to slot_list_type, because
3448 2004-07-08 Murray Cumming <murrayc@murrayc.com>
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.
3456 2004-07-07 Murray Cumming <murrayc@murrayc.com>
3458 SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD(): Don't define the
3460 2004-07-07 Murray Cumming <murrayc@murrayc.com>
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.
3473 2004-05-31 Martin Schulze <mschulze@cvs.gnome.org>
3475 Add '--force'-flag to the 'libtoolize'-command (bug #143425).
3477 2004-05-31 Martin Schulze <mschulze@cvs.gnome.org>
3479 * autogen.sh: Add '--force'-flag to the 'libtoolize'-command (bug #143425).
3481 2004-05-30 Martin Schulze <mschulze@cvs.gnome.org>
3483 Bump version number to 2.0.3. Add ChangeLog summary for version 2.0.3. Fix
3485 2004-05-30 Martin Schulze <mschulze@cvs.gnome.org>
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
3491 * tests/test_signal.cc, tests/test_accumulated.cc: Emit unconnected sign
3493 * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
3494 dynamic_cast<>-test (tested by Christof Petig/Timothy M. Shead).
3496 2004-05-23 Martin Schulze <mschulze@cvs.gnome.org>
3498 Bump version number to 2.0.2. Add ChangeLog summary for version 2.0.2.
3500 2004-05-22 Martin Schulze <mschulze@cvs.gnome.org>
3502 * configure.ac: Bump version number to 2.0.2.
3503 * NEWS: Add ChangeLog summary for version 2.0.2.
3505 2004-05-20 Martin Schulze <mschulze@cvs.gnome.org>
3507 If a custom accumulator is specified invoke it on signal emission even if
3509 2004-05-20 Martin Schulze <mschulze@cvs.gnome.org>
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.)
3515 2004-05-20 Martin Schulze <mschulze@cvs.gnome.org>
3517 Suppress compiler warning at dynamic_cast<>-test (suggested by Timothy M.
3519 2004-05-20 Martin Schulze <mschulze@cvs.gnome.org>
3521 * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
3522 dynamic_cast<>-test (suggested by Timothy M. Shead).
3524 2004-05-01 Martin Schulze <mschulze@cvs.gnome.org>
3526 Updated for libsigc++-2.0.
3528 2004-05-01 Martin Schulze <mschulze@cvs.gnome.org>
3530 * README: Updated for libsigc++-2.0.
3532 2004-04-28 Martin Schulze <mschulze@cvs.gnome.org>
3534 Bump version number to 2.0.1. Add ChangeLog summary for version 2.0.1.
3536 2004-04-27 Martin Schulze <mschulze@cvs.gnome.org>
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
3547 2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
3549 Modified test for SigC::Object inheritance so that it also works if
3551 2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
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)
3557 2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
3559 Updated the configure check. It would probably have succeeded on the
3561 2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
3563 * scripts/cxx.m4: Updated the configure check. It would probably
3564 have succeeded on the Apple.
3566 2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
3568 Add work-arounds for bind<-1>::deduce_result_type compilation error on
3570 2004-04-26 Martin Schulze <mschulze@cvs.gnome.org>
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)
3580 2004-04-19 Martin Schulze <mschulze@cvs.gnome.org>
3582 Fixed serious bug in signal_base::impl(): Only reference a newly created
3584 2004-04-19 Martin Schulze <mschulze@cvs.gnome.org>
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.)
3590 2004-04-19 Murray Cumming <murrayc@murrayc.com>
3592 Updated the operator() template check, because it failed with gcc 3.4
3594 2004-04-19 Murray Cumming <murrayc@murrayc.com>
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.
3600 2004-04-12 Martin Schulze <mschulze@cvs.gnome.org>
3602 Bump version number to 2.0.0. Add ChangeLog summary for version 2.0.0.
3604 2004-04-06 Martin Schulze <mschulze@cvs.gnome.org>
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.
3612 2004-04-10 Murray Cumming <murrayc@murrayc.com>
3614 Implement blocked() to avoid undefined symbol linker error.
3616 2004-04-10 Murray Cumming <murrayc@murrayc.com>
3618 * sigc++/connection.[h|cc]: Implement blocked() to avoid undefined
3619 symbol linker error.
3621 2004-04-07 Murray Cumming <murrayc@murrayc.com>
3623 dist the scripts directory.
3625 2004-04-08 Murray Cumming <murrayc@murrayc.com>
3627 * dist the scripts directory.
3629 2004-04-06 Martin Schulze <teebaum@cvs.gnome.org>
3631 Bump version number to 1.9.16. Add ChangeLog summary for version 1.9.16.
3633 2004-04-06 Martin Schulze <teebaum@cvs.gnome.org>
3635 * configure.ac: Bump version number to 1.9.16.
3636 * NEWS: Add ChangeLog summary for version 1.9.16.
3638 2004-04-02 Murray Cumming <murrayc@murrayc.com>
3640 Make block() and unblock() always return a value, to fix compiler
3642 2004-04-02 Murray Cumming <murrayc@murrayc.com>
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.
3648 2004-04-02 Murray Cumming <murrayc@murrayc.com>
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
3654 2004-04-02 Murray Cumming <murrayc@murrayc.com>
3656 Remove every undef apart from the one we need, to avoid clashes, because
3658 2004-04-02 Murray Cumming <murrayc@murrayc.com>
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.
3663 2004-03-25 Murray Cumming <murrayc@murrayc.com>
3665 Rename the template_keyword check to template_specialization, because the
3667 2004-03-25 Murray Cumming <murrayc@murrayc.com>
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++
3679 2004-03-21 Murray Cumming <murrayc@murrayc.com>
3681 Fix the sigc++config.h.in disting, to fix make distcheck.
3683 2004-03-22 Murray Cumming <murrayc@murrayc.com>
3685 * Makefile.am, sigc++/Makfile.am: Fix the sigc++config.h.in disting,
3686 to fix make distcheck.
3688 2004-03-21 Murray Cumming <murrayc@murrayc.com>
3690 Rename config.h.in to sigc++config.h.in so that gtkmm does not include
3692 2004-03-21 Murray Cumming <murrayc@murrayc.com>
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.
3700 2004-03-20 Murray Cumming <murrayc@murrayc.com>
3702 Install the config.h platform-specific header. Report the include path for
3704 2004-03-20 Murray Cumming <murrayc@murrayc.com>
3706 * Makefile.am: Install the config.h platform-specific header.
3707 * sigc++-2.0.pc.in: Report the include path for config.h
3709 2004-03-19 Murray Cumming <murrayc@murrayc.com>
3711 Added config.h.in, using autoheader, from which config.h will be
3713 2004-03-20 Murray Cumming <murrayc@murrayc.com>
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
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.
3727 2004-03-17 Martin Schulze <mschulze@cvs.gnome.org>
3729 Don't test making functors from overloaded methods with partial template
3731 2004-03-18 Martin Schulze <mschulze@cvs.gnome.org>
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.
3740 2004-03-13 Murray Cumming <murrayc@murrayc.com>
3742 slot_iterator_buf::operator*(): Use blocked() and empty() instead of
3744 2004-03-13 Murray Cumming <murrayc@murrayc.com>
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
3757 * sigc++/adaptors/lambda/macros/bind/m4: Use template keyword, and
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
3763 2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
3765 Bump version number to 1.9.15. Add ChangeLog summary for version 1.9.15.
3767 2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
3769 * configure.ac: Bump version number to 1.9.15.
3770 * NEWS: Add ChangeLog summary for version 1.9.15.
3772 2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
3774 Make the unnumbered slot templates' copy ctors use the copy ctors of the
3776 2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
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).
3782 2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
3784 Bring it up-to-date (use sigc::ref). Make it work with the SUN Forte.
3786 2004-02-27 Martin Schulze <teebaum@cvs.gnome.org>
3788 * tests/type_functor_trait.cc: Bring it up-to-date (use sigc::ref).
3789 Make it work with the SUN Forte.
3791 2004-02-24 Martin Schulze <teebaum@cvs.gnome.org>
3793 Make is_base_and_derived<> work with the SUN Forte.
3795 2004-02-24 Martin Schulze <teebaum@cvs.gnome.org>
3797 * sigc++/type_traits.h: Make is_base_and_derived<> work with the SUN Forte.
3799 2004-02-19 Martin Schulze <teebaum@cvs.gnome.org>
3801 Make is_base_and_derived<> platform independant. Make lambda_core<> ctors
3803 2004-02-19 Martin Schulze <teebaum@cvs.gnome.org>
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>.
3809 2004-02-14 Martin Schulze <teebaum@cvs.gnome.org>
3811 Move some documentation to slot_base.h. Move some documentation to
3813 2004-02-14 Martin Schulze <teebaum@cvs.gnome.org>
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.
3821 * sigc++/functors/macros/slot.h.m4: Add numbered slot# templates.
3822 Make unnumbered slot templates inherit from slot#.
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
3829 2004-02-13 Murray Cumming <murrayc@usa.net>
3831 Create and use a typedef for the destroy_notify callback functions, to
3833 2004-02-13 Murray Cumming <murrayc@usa.net>
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.
3839 2004-02-13 Murray Cumming <murrayc@murrayc.com>
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
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
3853 * sigc++/connector.[h|cc]: method implementation moved to the .cc file.
3855 2004-02-13 Martin Schulze <teebaum@cvs.gnome.org>
3857 Bump version number to 1.9.14. Add ChangeLog summary for version 1.9.14.
3859 2004-02-13 Martin Schulze <teebaum@cvs.gnome.org>
3861 * configure.ac: Bump version number to 1.9.14.
3862 * NEWS: Add ChangeLog summary for version 1.9.14.
3864 2004-02-10 Murray Cumming <murrayc@usa.net>
3866 slot_base: Added operator bool(), needed to check for a slot that is
3868 2004-02-09 Murray Cumming <murrayc@usa.net>
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.
3874 2004-02-06 Murray Cumming <murrayc@usa.net>
3876 Build the docs directory, by adding it to SUBDIRS. Updated to be more
3878 2004-02-06 Murray Cumming <murrayc@usa.net>
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.
3886 2003-11-30 Martin Schulze <teebaum@cvs.gnome.org>
3888 Bump version number to 1.9.13. Add ChangeLog summary for version 1.9.13.
3890 2003-11-30 Martin Schulze <teebaum@cvs.gnome.org>
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.
3899 2003-11-30 Martin Schulze <teebaum@cvs.gnome.org>
3901 Bump version number to 1.9.13. Add ChangeLog summary for version 1.9.13.
3903 2003-11-30 Martin Schulze <teebaum@cvs.gnome.org>
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.
3912 2003-11-11 Martin Schulze <teebaum@cvs.gnome.org>
3914 Change to zero-based argument index in numbered bind() and hide() overload
3916 2003-11-11 Martin Schulze <teebaum@cvs.gnome.org>
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.
3928 2003-11-10 Martin Schulze <teebaum@cvs.gnome.org>
3930 Add unnumbered bind() and hide() overloads to make specifying the argument
3932 2003-11-10 Martin Schulze <teebaum@cvs.gnome.org>
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).
3941 2003-11-09 Martin Schulze <teebaum@cvs.gnome.org>
3943 Change functor type in typed_slot_rep to
3945 2003-11-09 Martin Schulze <teebaum@cvs.gnome.org>
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.
3968 2003-11-04 Martin Schulze <teebaum@cvs.gnome.org>
3970 Bump version number to 1.9.12. Add ChangeLog summary for version 1.9.12.
3972 2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
3974 * configure.ac: Bump version number to 1.9.12.
3975 * NEWS: Add ChangeLog summary for version 1.9.12.
3977 2003-11-03 Martin Schulze <teebaum@cvs.gnome.org>
3979 Document accumulators. Move slot_iterator_buf into namespace internal.
3981 2003-11-03 Martin Schulze <teebaum@cvs.gnome.org>
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
3991 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
3993 Improve documentation of the core parts of the library. Test ptr_fun()
3995 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
3997 * Improve documentation of the core parts of the library.
3998 * tests/test_ptr_fun.cc: Test ptr_fun() with static
4001 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
4003 Move all .m4 files into new subdirectories sigc++/[...]/macros. Install
4005 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
4007 * Move all .m4 files into new subdirectories
4008 sigc++/[...]/macros. Install the .m4 files on
4009 "make install" (Reported by Ron Steinke).
4011 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
4013 Move all .m4 files into new subdirectories sigc++/[...]/macros. Install
4015 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
4017 * Move all .m4 files into new subdirectories
4018 sigc++/[...]/macros. Install the .m4 files on
4019 "make install" (Reported by Ron Steinke).
4021 2003-11-02 Martin Schulze <teebaum@cvs.gnome.org>
4023 Include sigc++/functors/mem_fun.h (Reported by Ron Steinke).
4025 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
4027 * sigc++/[class,method,object]_slot.h.m4: Include
4028 sigc++/functors/mem_fun.h (Reported by Ron Steinke).
4030 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
4032 Add negation operator I have completely overlooked until now. Test
4034 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
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.
4040 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
4042 - Use a shorter notation for ..._mem_function variants. - Change order of
4044 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
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.
4056 * sigc++/adaptors/retype.h.m4: New file adding
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.
4063 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
4065 - Use a shorter notation for ..._mem_function variants. - Change order of
4067 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
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.
4079 * sigc++/adaptors/retype_return.h.m4: New file adding
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.
4086 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
4088 New directory containing project files for Visual Studio .Net 2003.
4090 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
4092 * MSVC_Net2003: New directory containing project
4093 files for Visual Studio .Net 2003.
4094 Credits to Roel Vanhout <roel@riks.nl>!
4096 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
4098 Use LIBSIGC_TEMPLATE_PREFIX in explicit function template instantiations.
4100 2003-11-01 Martin Schulze <teebaum@cvs.gnome.org>
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!
4117 2003-10-31 Cedric Gustin <cedric.gustin@swing.be>
4119 Added test of win32 platform. Commented out AM_DISABLE_SHARED (DLLs are
4121 2003-10-30 Cedric Gustin <cedric.gustin@swing.be>
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
4128 2003-10-30 Martin Schulze <teebaum@cvs.gnome.org>
4130 Add SigC::Signal#<>::slot(). Comment out make_slot() work-around. Remove
4132 2003-10-30 Martin Schulze <teebaum@cvs.gnome.org>
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.
4145 2003-10-27 Martin Schulze <teebaum@cvs.gnome.org>
4147 Cleanup. Bring it up to date.
4149 2003-10-27 Martin Schulze <teebaum@cvs.gnome.org>
4151 * sigc++/retype.h.m4: Cleanup.
4152 * TODO: Bring it up to date.
4154 2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
4156 Bump version number to 1.9.11. Add ChangeLog summary for version 1.9.11.
4158 2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
4160 * configure.ac: Bump version number to 1.9.11.
4161 * NEWS: Add ChangeLog summary for version 1.9.11.
4163 2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
4165 Compatiblity module: Move definition of compatiblity classes SigC::SignalN
4167 2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
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.
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
4194 2003-10-25 Martin Schulze <teebaum@cvs.gnome.org>
4198 2003-10-26 Martin Schulze <teebaum@cvs.gnome.org>
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
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
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.
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.
4229 2003-10-24 Martin Schulze <teebaum@src.gnome.org>
4231 update .cvsignore files
4233 2003-10-24 Martin Schulze <teebaum@cvs.gnome.org>
4235 Remove disturbing limit_derived_target<>::operator() overloads. Add
4237 2003-10-25 Martin Schulze <teebaum@cvs.gnome.org>
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.
4251 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
4253 Bump version number to 1.9.10. Add ChangeLog summary for version 1.9.10.
4255 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
4257 * configure.ac: Bump version number to 1.9.10.
4258 * NEWS: Add ChangeLog summary for version 1.9.10.
4260 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
4262 Move definition of struct nil into functor_trait.h.
4264 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
4266 * sigc++/functors/{functor_trait,slot}.h.m4:
4267 Move definition of struct nil into functor_trait.h.
4269 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
4271 Move definition of struct nil into functor_trait.h.
4273 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
4275 * sigc++/functors/{functor_trait,slot}.h.m4:
4276 Move definition of struct nil into functor_trait.h.
4278 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
4280 Disable typeof() compiler checks. Remove unnecessary deduce_result_type<>
4282 2003-10-23 Martin Schulze <teebaum@cvs.gnome.org>
4284 * configure.ac: Disable typeof() compiler checks.
4285 * sigc++/adaptors/bind.h.m4: Remove unnecessary
4286 deduce_result_type<> template specializations.
4288 2003-10-20 Martin Schulze <teebaum@cvs.gnome.org>
4290 Correct order of typedefs for good. (Patch from Jeff Franks.)
4292 2003-10-20 Martin Schulze <teebaum@cvs.gnome.org>
4294 * sigc++/adaptors/compose.h.m4:
4295 Correct order of typedefs for good. (Patch from Jeff Franks.)
4297 2003-10-20 Martin Schulze <teebaum@cvs.gnome.org>
4299 Add constructor that takes a sigc::slot_base& to support 3rd-party slot
4301 2003-10-20 Martin Schulze <teebaum@cvs.gnome.org>
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.
4316 2003-10-19 Martin Schulze <teebaum@cvs.gnome.org>
4318 Define doxygen group functors. Bump version number to 1.9.8. Add ChangeLog
4320 2003-10-19 Martin Schulze <teebaum@cvs.gnome.org>
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.
4326 2003-10-19 Martin Schulze <teebaum@cvs.gnome.org>
4328 Add announces of versions 1.9.6 and 1.9.7. New file. Defines namespace
4330 2003-10-19 Martin Schulze <teebaum@cvs.gnome.org>
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 ...".
4372 2003-09-10 Martin Schulze <teebaum@cvs.gnome.org>
4374 Add subscript ([]) and assign (=) operator. I think there are now enough
4376 2003-09-10 Martin Schulze <teebaum@cvs.gnome.org>
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.
4387 2003-09-04 Martin Schulze <teebaum@cvs.gnome.org>
4389 Bump version number to 1.9.7.
4391 2003-09-05 Martin Schulze <teebaum@cvs.gnome.org>
4393 * configure.ac: Bump version number to 1.9.7.
4395 2003-09-03 Martin Schulze <teebaum@cvs.gnome.org>
4397 - Restructure so that the size of the generated source file stays
4399 2003-09-03 Martin Schulze <teebaum@cvs.gnome.org>
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
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.
4414 2003-09-03 Martin Schulze <teebaum@cvs.gnome.org>
4416 New file reference_wrapper.h provides ref() to specify that
4418 2003-08-31 Martin Schulze <teebaum@cvs.gnome.org>
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.
4424 2003-08-31 Martin Schulze <teebaum@cvs.gnome.org>
4426 New file reference_wrapper.h provides ref() to specify that
4428 2003-08-31 Martin Schulze <teebaum@cvs.gnome.org>
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.
4448 2003-08-29 Martin Schulze <teebaum@cvs.gnome.org>
4450 Add more tests. Make _1, _2, ... constant. Add operator{+,-,*,...}
4452 2003-08-29 Martin Schulze <teebaum@cvs.gnome.org>
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.
4464 2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
4466 Rename, correct and improve this test case. Build and run
4468 2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
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.
4475 2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
4479 2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
4483 2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
4485 Remove usage of callof_ignore_arg<>. Remove the first and move
4487 2003-08-27 Martin Schulze <teebaum@cvs.gnome.org>
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.
4498 2003-08-24 Martin Schulze <teebaum@cvs.gnome.org>
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 }}
4504 2003-08-24 Martin Schulze <teebaum@cvs.gnome.org>
4506 Merge adaptor return type deduction and typeof() into
4508 2003-08-24 Martin Schulze <teebaum@cvs.gnome.org>
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.
4516 2003-08-23 Martin Schulze <teebaum@cvs.gnome.org>
4518 - Remove unnecessary void specializations. In fact, only the one for
4520 2003-08-24 Martin Schulze <teebaum@cvs.gnome.org>
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.
4535 2003-08-06 Martin Schulze <teebaum@cvs.gnome.org>
4537 Add function trackable::clear().
4539 2003-08-06 Martin Schulze <teebaum@cvs.gnome.org>
4541 * sigc++/trackable.{cc,h}: Add function trackable::clear().
4543 2003-06-24 Andreas Rottmann <rotty@src.gnome.org>
4547 * TODO: Minor tweaks.
4549 2003-06-24 Andreas Rottmann <rotty@src.gnome.org>
4553 2003-06-24 Andreas Rottmann <rotty@src.gnome.org>
4555 Use these variables. Provide doxygen with SRCDIR and TOP_SRCDIR
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.
4561 * sigc++/functors/slot.h.m4: Make slot::call_type typedef public;
4562 this fixes a g++ 3.3 error in signal.h.
4564 * sigc++/signal.h.m4: Make the signal::accumulated class public;
4565 this fixes a g++ 3.3 error in test_accumulated.cc.
4567 2003-06-24 Andreas Rottmann <rotty@src.gnome.org>
4569 Use these variables. Provide doxygen with SRCDIR and TOP_SRCDIR
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.
4575 2003-06-23 Andreas Rottmann <rotty@src.gnome.org>
4577 Make slot::call_type typedef public; this fixes a g++ 3.3 error in signal.h.
4579 2003-06-23 Andreas Rottmann <rotty@src.gnome.org>
4581 Make the signal::accumulated class public; this fixes a g++ 3.3 error in test_accumulated.cc.
4583 2003-06-23 Andreas Rottmann <rotty@src.gnome.org>
4585 Added comment author annotation.
4587 2003-06-23 Andreas Rottmann <rotty@src.gnome.org>
4589 .cvignore additions.
4591 2003-06-15 Martin Schulze <teebaum@cvs.gnome.org>
4593 Correct typing error in docs. Document the whole thing.
4595 2003-06-15 Martin Schulze <teebaum@cvs.gnome.org>
4597 * sigc++/functor/slot.h.m4: Correct typing error in docs.
4598 * sigc++/functor/ptr_fun.h.m4: Document the whole thing.
4600 2003-05-31 Murray Cumming <murrayc@usa.net>
4602 Rearranged the groups to make it all a bit more like the libsigc++ 1.2
4604 2003-05-31 Murray Cumming <murrayc@usa.net>
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
4616 2003-05-30 Martin Schulze <martin-ml@hippogriff.de>
4618 Fix documentation. Document the whole thing.
4620 2003-05-29 Martin Schulze <martin-ml@hippogriff.de>
4622 * sigc++/signal.h.m4: Fix documentation.
4623 * sigc++/connection.h, sigc++/functor/slot.h.m4:
4624 Document the whole thing.
4626 2003-05-29 Martin Schulze <martin-ml@hippogriff.de>
4628 - Remove bogus operator() from unnumbered signal<> and
4630 2003-05-29 Martin Schulze <martin-ml@hippogriff.de>
4632 * sigc++/signal.h.m4:
4633 - Remove bogus operator() from unnumbered signal<> and
4634 signal<>::accumulated templates.
4635 - Document the whole thing.
4637 * docs/index.html: Fix some links.
4639 2003-04-06 Martin Schulze <MHL.Schulze@t-online.de>
4641 Add Doxygen framework.
4643 2003-04-06 Martin Schulze <MHL.Schulze@t-online.de>
4645 * TODO, configure.ac, Makefile.am, docs/*:
4646 Add Doxygen framework.
4648 2003-04-05 Martin Schulze <MHL.Schulze@t-online.de>
4650 Move sigc::callof<> to sigc::functor::internal::callof<>.
4652 2003-04-06 Martin Schulze <MHL.Schulze@t-online.de>
4654 * sigc++/callof.h.m4, sigc++/adaptors/*, tests/test_callof.cc:
4655 Move sigc::callof<> to sigc::functor::internal::callof<>.
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.
4663 2003-03-26 Martin Schulze <MHL.Schulze@t-online.de>
4665 Change "closure" to "slot" throughout sigc++2 (file names, class names,
4667 2003-03-26 Martin Schulze <MHL.Schulze@t-online.de>
4669 * Change "closure" to "slot" throughout sigc++2 (file names,
4670 class names, member variables, documentation, etc.).
4672 2003-03-25 Martin Schulze <MHL.Schulze@t-online.de>
4674 Rewrite to reflect recent changes as well as recent discussions.
4676 2003-03-26 Martin Schulze <MHL.Schulze@t-online.de>
4678 * TODO: Rewrite to reflect recent changes as well as recent discussions.
4680 2003-03-24 Martin Schulze <MHL.Schulze@t-online.de>
4682 Make the adaptor's data member public so that visit_each() can access it.
4684 2003-03-24 Martin Schulze <MHL.Schulze@t-online.de>
4686 * sigc++/adaptors/bind_return.h.m4: Make the adaptor's data member
4687 public so that visit_each() can access it.
4689 * sigc++/adaptors/lambda/*.h.m4: More fixes. Add a note about
4690 malfunctioning typeof() (probably compiler bug in gcc-3.2).
4692 * tests/*.cc: Test references. Fix compose equivalent in test_lambda.
4694 2003-03-24 Martin Schulze <MHL.Schulze@t-online.de>
4696 Move detection of function and member method pointers' return types from
4698 2003-03-24 Martin Schulze <MHL.Schulze@t-online.de>
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.
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.
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.
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.
4723 * sigc++/tests/test_[all adaptors].cc: Test stuff that didn't work
4726 2003-03-22 Murray Cumming <murrayc@usa.net>
4728 Added pgk-config file, from a mystery person in bug #108857
4730 2003-03-22 Murray Cumming <murrayc@usa.net>
4732 * Added pgk-config file, from a mystery person in bug #108857
4734 2003-03-22 Martin Schulze <MHL.Schulze@t-online.de>
4736 Test and show how to use functor_trait for user defined or 3rd-party
4738 2003-03-22 Martin Schulze <MHL.Schulze@t-online.de>
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.
4744 2003-03-20 Martin Schulze <MHL.Schulze@t-online.de>
4746 Add explanations. Comment in / create templates callof_safe[#].
4748 2003-03-20 Martin Schulze <MHL.Schulze@t-online.de>
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.
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<>.
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.
4762 2003-03-16 Murray Cumming <murrayc@usa.net>
4764 Added sigc++/sigc++.h, like in libsigc++ 1.2 Added member_method example,
4766 2003-03-16 Murray Cumming <murrayc@usa.net>
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.
4772 2003-03-13 Martin Schulze <teebaum@src.gnome.org>
4774 Bump version to 1.9.6.
4776 2003-03-11 Andreas Rottmann <rotty@src.gnome.org>
4778 Use substitution references instead of $(patsubst). Is shorter and fixes the strange-dirs-in-dist-tarball bug.
4780 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
4782 Add block() capability.
4784 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
4786 * sigc++/connection.h: Add block() capability.
4788 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
4790 Add flag signal_impl::destroy_ and function signal_impl::destroy(). Use
4792 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
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
4799 * tests/test_disconnect.cc: Add tests for the connection
4800 class and for deleting signals during emission.
4802 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
4804 - New files that add a connection class. Objects of this class are
4806 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
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.
4814 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
4816 - Rename closure_{base,rep}::[set_]dependency_ -> [set_]parent_. - Make
4818 2003-03-09 Martin Schulze <MHL.Schulze@t-online.de>
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.
4827 2003-03-08 Martin Schulze <MHL.Schulze@t-online.de>
4829 BUGFIX in trackable_dep_list::clear()
4831 2003-03-08 Martin Schulze <MHL.Schulze@t-online.de>
4833 * sigc++/trackable.cc: BUGFIX in trackable_dep_list::clear()
4835 2003-03-08 Andreas Rottmann <rotty@src.gnome.org>
4837 Ignore `make dist' tarballs.
4839 2003-03-08 Andreas Rottmann <rotty@src.gnome.org>
4841 The "The New Build System" changes.
4843 2003-03-08 Andreas Rottmann <rotty@src.gnome.org>
4845 Re-included lambda test.
4847 2003-03-08 Andreas Rottmann <rotty@src.gnome.org>
4849 Removed. Removed. Removed. Remove the above Makefiles.
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.
4856 2003-03-08 Andreas Rottmann <rotty@src.gnome.org>
4858 Rewritten so we can build lambda cleanly. Removed.
4860 * sigc++/Makefile.am: Rewritten so we can build lambda cleanly.
4861 * sigc++/Makefile.am_fragment: Removed.
4863 2003-03-08 Andreas Rottmann <rotty@src.gnome.org>
4867 2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
4869 - signal_emit#<>: New templates replacing signal#<>::caller. The purpose
4871 2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
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.
4891 * sigc++/functors/closure.h.m4: Make closure_base::rep_ data
4892 member public, so that signal emission can directly work on it.
4894 * tests/test_size.cc: Add an entry for signal_impl.
4896 2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
4898 - closure_base: BUGFIXES in ~closure_base() and operator=(). - Mark some
4900 2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
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.
4908 2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
4910 Make trackable allocate a trackable_dep_list object dynamically when
4912 2003-03-07 Martin Schulze <MHL.Schulze@t-online.de>
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.
4923 2003-03-06 Andreas Rottmann <rotty@src.gnome.org>
4925 Added new test executables.
4927 2003-03-05 Martin Schulze <MHL.Schulze@t-online.de>
4929 Add two test cases. test_size is showing the size of public and internal
4931 2003-03-05 Martin Schulze <MHL.Schulze@t-online.de>
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.
4940 2003-03-05 Martin Schulze <MHL.Schulze@t-online.de>
4942 BUGFIX in template specialization
4944 2003-03-05 Martin Schulze <MHL.Schulze@t-online.de>
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.
4951 2003-02-25 Andreas Rottmann <rotty@src.gnome.org>
4953 Martin Schulze's disonnect changes.
4955 2003-02-25 Andreas Rottmann <rotty@src.gnome.org>
4957 Ignore some more auto*-stuff.
4959 2003-02-25 Andreas Rottmann <rotty@src.gnome.org>
4961 Ignore new diconnect test executable.
4963 2003-02-25 Andreas Rottmann <rotty@src.gnome.org>
4965 Add testcase with a mixed connection & disconnection sequence.
4967 2003-02-25 Andreas Rottmann <rotty@src.gnome.org>
4969 Bugfix in signal_base::insert(): Set notification function in the newly created copy of slot_ rather than in slot_ itself.
4971 2003-02-25 Andreas Rottmann <rotty@src.gnome.org>
4973 Comment in typedefs for iterator types in the signal#<> class template. Make signal#<>::connect() return an iterator for convenience.
4975 2003-01-23 Murray Cumming <murrayc@usa.net>
4977 sigc++/adaptors/lambda is disable temporarily (not built and not
4979 2003-01-23 Murray Cumming <murrayc@usa.net>
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.
4985 2003-01-22 Murray Cumming <murrayc@usa.net>
4987 Added Andreas Rottman's example.
4989 2003-01-22 Murray Cumming <murrayc@usa.net>
4991 * Added Andreas Rottman's example.
4993 2003-01-22 Murray Cumming <murrayc@usa.net>
4995 Applied Andreas Rottman's make dist fixes.
4997 2003-01-22 Murray Cumming <murrayc@usa.net>
4999 * Applied Andreas Rottman's make dist fixes.
5001 2003-01-22 Murray Cumming <murrayc@src.gnome.org>
5003 Added examples directory
5005 2003-01-15 Murray Cumming <murrayc@src.gnome.org>
5007 Added missing files.
5009 2003-01-14 Murray Cumming <murrayc@usa.net>
5011 Added whitespace to make the code more readable.
5013 2003-01-14 Murray Cumming <murrayc@usa.net>
5015 * Added whitespace to make the code more readable.
5017 2003-01-14 Murray Cumming <murrayc@src.gnome.org>
5021 2003-01-13 Murray Cumming <murrayc@src.gnome.org>
5023 No more use of the scripts directory.
5025 2003-01-13 Murray Cumming <murrayc@src.gnome.org>