diff options
author | José Alburquerque <jaalburquerque@gmail.com> | 2013-07-03 19:23:49 -0400 |
---|---|---|
committer | José Alburquerque <jaalburquerque@gmail.com> | 2013-07-03 19:48:48 -0400 |
commit | a66425f3beb9239d95fbbc9d9e1d88f5a7ed38c0 (patch) | |
tree | 0cfdbb5c13c37a55bc5f31b82d9cd87b79dd846f | |
parent | 7c62df6ee76e21a16f3b836f5d21cbdb3a9688b9 (diff) | |
download | sigc++-a66425f3beb9239d95fbbc9d9e1d88f5a7ed38c0.tar.gz |
Move to a generated ChangeLog.
-rw-r--r-- | ChangeLog | 2874 | ||||
-rw-r--r-- | ChangeLog.pre-2-3-1 | 2759 |
2 files changed, 2761 insertions, 2872 deletions
@@ -1,2872 +1,2 @@ -2013-05-01 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> - - Don't use __file__ in the FIREWALL m4 macro. - - * sigc++/adaptors/lambda/macros/group.h.m4: - * sigc++/adaptors/macros/*.h.m4: - * sigc++/functors/macros/*.h.m4: - * sigc++/macros/class_slot.h.m4: - * sigc++/macros/hide.h.m4: - * sigc++/macros/limit_reference.h.m4: - * sigc++/macros/method_slot.h.m4: - * sigc++/macros/retype.h.m4: - * sigc++/macros/slot.h.m4: Replace __FIREWALL__ with _FIREWALL(filename). - * sigc++/macros/template.macros.m4: Replace __FIREWALL__ with _FIREWALL, - taking a parameter. Don't use __file__ to generate the name of the C++ - preprocessor macro. __file__ may expand to an absolute path, containing - almost all sorts of special characters and being excessively long. - Bug #699168. - -2013-04-11 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> - - Use DOXYGEN_SHOULD_SKIP_THIS consistently. - - * docs/reference/Doxyfile.in: EXTRACT_ALL=YES, like in most mm packages. - * sigc++/sigc++.h: Mention that the reference manual contains only some of - the template specializations. - * sigc++/adaptors/bound_argument.h: - * sigc++/adaptors/lambda/macros/base.h.m4: - * sigc++/adaptors/lambda/macros/group.h.m4: - * sigc++/adaptors/macros/adaptor_trait.h.m4: - * sigc++/adaptors/macros/bind.h.m4: - * sigc++/adaptors/macros/bind_return.h.m4: - * sigc++/adaptors/macros/compose.h.m4: - * sigc++/adaptors/macros/deduce_result_type.h.m4: - * sigc++/adaptors/macros/exception_catch.h.m4: - * sigc++/adaptors/macros/hide.h.m4: - * sigc++/adaptors/macros/retype.h.m4: - * sigc++/adaptors/macros/retype_return.h.m4: - * sigc++/adaptors/macros/track_obj.h.m4: - * sigc++/functors/macros/functor_trait.h.m4: - * sigc++/functors/macros/mem_fun.h.m4: - * sigc++/macros/limit_reference.h.m4: - * sigc++/type_traits.h: - * sigc++/visit_each.h: Use DOXYGEN_SHOULD_SKIP_THIS to mark what Doxygen - shall not extract. - -2013-03-20 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> - - Suppress erroneous links in documentation. - - * sigc++/adaptors/lambda/macros/base.h.m4: - * sigc++/adaptors/lambda/macros/group.h.m4: - * sigc++/adaptors/lambda/macros/select.h.m4: Doxygen links std::bind to - sigc::bind. Suppress these links. No link is better than the wrong link. - -2013-03-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> - - Deprecate libsigc++ lambdas, sigc::group(), sigc::var(). - - * configure.ac: Add MM_ARG_DISABLE_DEPRECATED_API(SIGCXX). - * sigc++/adaptors/lambda/macros/base.h.m4: - * sigc++/adaptors/lambda/macros/group.h.m4: - * sigc++/adaptors/lambda/macros/lambda.cc.m4: - * sigc++/adaptors/lambda/macros/operator.h.m4: - * sigc++/adaptors/lambda/macros/select.h.m4: Deprecate everything. - * sigc++/macros/template.macros.m4: Add deprecation macros. - * sigc++config.h.in: Add #undef SIGCXX_DISABLE_DEPRECATED. - * tests/test_lambda.cc: Skip test if SIGCXX_DISABLE_DEPRECATED is defined. - Bug #672555. - -2013-02-26 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> - - Add track_obj() and test_track_obj. - - * sigc++/.gitignore: Add adaptors/track_obj.h. - * sigc++/adaptors/adaptors.h: Add sigc++/adaptors/track_obj.h. - * sigc++/adaptors/lambda/macros/group.h.m4: - * sigc++/adaptors/macros/adaptor_trait.h.m4: Mention track_obj() in the - documentation. - * sigc++/adaptors/macros/track_obj.h.m4: New file. - * sigc++/filelist.am: Add track_obj.h.m4 and track_obj.h. - * tests/.gitignore: - * tests/Makefile.am: Add test_track_obj. - * tests/test_cpp11_lambda.cc: Use track_obj() to test auto-disconnection. - * tests/test_track_obj.cc: New test case. - Bug #672555. - -2013-01-07 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> - - Documentation: Fix many warnings from Doxygen. - - * configure.ac: Require mm-common 0.9.6 or later. - * docs/reference/Doxyfile.in: Don't warn for undocumented classes and structs. - * sigc++/adaptors/macros/bind.h.m4: - * sigc++/adaptors/macros/bind_return.h.m4: - * sigc++/adaptors/macros/compose.h.m4: - * sigc++/adaptors/macros/hide.h.m4: - * sigc++/connection.h: - * sigc++/macros/limit_reference.h.m4: Make all parameter names in @param - commands equal to the corresponding names in the function declarations. - * sigc++/signal_base.h: Remove an extraneous period that confuses Doxygen. - * sigc++/type_traits.h: Add a missing @code/@endcode pair. - -2012-10-18 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> - - Test cases: Report pass/fail with exit status. - - * tests/testutilities.[h|cc]: New files. Code common to all test cases. - * tests/*.cc: Use class TestUtilities. Don't print anything - if the test passes. Return EXIT_FAILURE if the test fails. - * tests/Makefile.am: Add testutilities.[h|cc] to all test cases. - Bug #684956. - -2.3.1: - -2012-10-18 Murray Cumming <murrayc@murray.com> - - Update the Doxyfile.in syntax. - - * docs/reference/Doxyfile.in: By running doxygen -u - on it. - -2012-10-17 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> - - Add some missing newin{}. - - * docs/reference/Doxyfile.in: Add ALIASES newin. - * sigc++/functors/macros/functor_trait.h.m4: Add newin{2,2,11} to - SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE. - * sigc++/signal_base.h: Add newin{2,4} to signal_impl::blocked(), block() and - signal_base::blocked(), block(), unblock(). Bug #153780. - -2012-10-12 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> - - signal_base: Add blocked(), block(), unblock(). - - * sigc++/signal_base.[h|cc]: Add signal_impl::blocked(), block() and - signal_base::blocked(), block(), unblock(). Bug #153780. - -2.2.11: - -2012-09-20 Andris Pavenis <andris.pavenis@iki.fi> - - Fix comma operator in lambda expressions. - - * sigc++/adaptors/lambda/macros/operator.h.m4: Add lambda_action<> - specialization for comma operator (operator,()). - * tests/test_cpp11_lambda.cc: - * tests/test_lambda.cc: Add a test case for the comma operator. Bug #342911. - -2012-09-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> - - Add SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE. - - * sigc++/adaptors/lambda/macros/base.h.m4: - * sigc++/adaptors/lambda/macros/group.h.m4: - * sigc++/functors/macros/functor_trait.h.m4: - * tests/test_cpp11_lambda.cc: Replace the preprocessor macro - SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH(C_keyword) with - SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE. Bug #672555. - -2012-09-10 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> - - Use std::size_t and std::ptrdiff_t. - - * sigc++/macros/signal.h.m4: Use std::size_t and std::ptrdiff_t instead - of ::size_t and ::ptrdiff_t. Only the std versions are required to be - declared in <cstddef>. - * sigc++/signal_base.h: Use std::size_t instead of ::size_t. (I did not change - MSVC++-only code in this file and other files.) - -2012-09-07 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> - - Fix 'make check' with gcc 4.7. - - * sigc++/adaptors/lambda/macros/base.h.m4: Define sigc::unwrap_lambda_value() - before it's used in sigc::lambda::operator[]() and operator=(). - * sigc++/adaptors/lambda/macros/group.h.m4: Fix the C++11 examples in the - documentation as in test_cpp11_lambda.cc. - * tests/test_cpp11_lambda.cc: Only variables with automatic storage duration - shall be captured in C++11 lambda expressions. - -2012-08-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> - - Update .gitignore and tests/.gitignore - - * .gitignore: Add *~ (gedit's backup files). - * tests/.gitignore: Add missing executable test files. - -2012-08-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> - - Add SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH for C++11 lambda expressions. - - * sigc++/functors/macros/functor_trait.h.m4: Add the preprocessor macro - SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH(C_keyword), which makes it possible to - assign C++11 lambda expressions with any return type to slots. - Thanks to Chow Loong Jin, who posted similar code on libsigc-list. - * sigc++/adaptors/lambda/macros/base.h.m4: - * sigc++/adaptors/lambda/macros/group.h.m4: Add information on C++11 lambda - expressions to the documentation of lambda expressions and sigc::group(). - * tests/Makefile.am: Add test_cpp11_lambda.cc. - * tests/test_cpp11_lambda.cc: New test case, showing that most uses of - libsigc++'s lambda expressions can be replaced by standard C++11 lambda - expressions. Bug #672555. - -2012-03-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> - - Enable test_lambda in 'make check'. - - * tests/Makefile.am: Enable test_lambda in 'make check'. - * tests/test_lambda.cc: Comment out the tests with sigc::ref() in lambda - functions' parameter lists. See Bug #669128. - -2.2.10: - -2011-07-21 Thomas Rydzynski <qsorix@rydznet.pl> - - Mention visit_each() in the documentation of sigc::adapts. - - * sigc++/adaptors/macros/adaptor_trait.h.m4: Mention that a user-supplied - adaptor must be accompanied by a specialization of template function - visit_each(). Correct some minor errors in the example of a user-supplied - adaptor. Bug #486373. - -2011-07-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> - - Add a test case for the previous commit. - - * tests/Makefile.am: - * tests/test_bind_refptr.cc: A version of this test is also in glibmm. - Note that this includes a copy/paste of RefPtr. - See Bug #564005#14 (Alexander Shaduri) - -2011-07-14 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> - - slot_rep: Avoid access to deleted object in notify(). - - * sigc++/functors/slot_base.cc: slot_rep::notify() calls disconnect() before - destroy(). If disconnect() has deleted the slot_rep object, destroy() is not - called. Bug #564005. - -2.2.9: - -2011-02-22 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> - - trackable: Avoid calling the same callback function twice - - * sigc++/trackable.cc: Invalidate a callback function entry in - trackable_callback_list::remove_callback() when the list is being cleared. - Bug 589202. - -2011-02-04 Kalev Lember <kalev@smartlink.ee> - - Fix the build with GCC 4.6 - - * sigc++/signal_base.h: Include <cstddef> for size_t. - -2010-10-12 David King <davidk@openismus.com> - - Documentation changes - - * *.h.m4: Minor changes to documentation to fix up code example - formatting, by removing the additional two spaces of indentation. - Additionally, fix some spelling and grammar mistakes and typos. - -2010-09-27 Armin Burgmeier <armin@arbur.net> - - * MSVC_Net2005/libsigc++2.sln: - * MSVC_Net2005/libsigc++2.vcproj: - * MSVC_Net2005/tests/test_accumulated/test_accumulated.vcproj: - * MSVC_Net2005/tests/test_bind/test_bind.vcproj: - * MSVC_Net2005/tests/test_bind_return/test_bind_return.vcproj: - * MSVC_Net2005/tests/test_compose/test_compose.vcproj: - * MSVC_Net2005/tests/test_deduce_result_type/test_deduce_result_type.vcproj: - * MSVC_Net2005/tests/test_disconnect/test_disconnect.vcproj: - * MSVC_Net2005/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj: - * MSVC_Net2005/tests/test_exception_catch/test_exception_catch.vcproj: - * MSVC_Net2005/tests/test_functor_trait/test_functor_trait.vcproj: - * MSVC_Net2005/tests/test_hide/test_hide.vcproj: - * MSVC_Net2005/tests/test_mem_fun/test_mem_fun.vcproj: - * MSVC_Net2005/tests/test_ptr_fun/test_ptr_fun.vcproj: - * MSVC_Net2005/tests/test_retype/test_retype.vcproj: - * MSVC_Net2005/tests/test_retype_return/test_retype_return.vcproj: - * MSVC_Net2005/tests/test_signal/test_signal.vcproj: - * MSVC_Net2005/tests/test_size/test_size.vcproj: - * MSVC_Net2005/tests/test_slot/test_slot.vcproj: - * MSVC_Net2005/tests/test_trackable/test_trackable.vcproj: - * MSVC_Net2008/libsigc++2.sln: - * MSVC_Net2008/libsigc++2.vcproj: - * MSVC_Net2008/tests/test_accumulated/test_accumulated.vcproj: - * MSVC_Net2008/tests/test_bind/test_bind.vcproj: - * MSVC_Net2008/tests/test_bind_return/test_bind_return.vcproj: - * MSVC_Net2008/tests/test_compose/test_compose.vcproj: - * MSVC_Net2008/tests/test_deduce_result_type/test_deduce_result_type.vcproj: - * MSVC_Net2008/tests/test_disconnect/test_disconnect.vcproj: - * MSVC_Net2008/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj: - * MSVC_Net2008/tests/test_exception_catch/test_exception_catch.vcproj: - * MSVC_Net2008/tests/test_functor_trait/test_functor_trait.vcproj: - * MSVC_Net2008/tests/test_hide/test_hide.vcproj: - * MSVC_Net2008/tests/test_mem_fun/test_mem_fun.vcproj: - * MSVC_Net2008/tests/test_ptr_fun/test_ptr_fun.vcproj: - * MSVC_Net2008/tests/test_retype/test_retype.vcproj: - * MSVC_Net2008/tests/test_retype_return/test_retype_return.vcproj: - * MSVC_Net2008/tests/test_signal/test_signal.vcproj: - * MSVC_Net2008/tests/test_size/test_size.vcproj: - * MSVC_Net2008/tests/test_slot/test_slot.vcproj: - * MSVC_Net2008/tests/test_trackable/test_trackable.vcproj: - * MSVC_Net2010/libsigc++2.vcxproj: - * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj: - * MSVC_Net2010/tests/test_bind/test_bind.vcxproj: - * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj: - * MSVC_Net2010/tests/test_compose/test_compose.vcxproj: - * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj: - * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj: - * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj: - * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj: - * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj: - * MSVC_Net2010/tests/test_hide/test_hide.vcxproj: - * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj: - * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj: - * MSVC_Net2010/tests/test_retype/test_retype.vcxproj: - * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj: - * MSVC_Net2010/tests/test_signal/test_signal.vcxproj: - * MSVC_Net2010/tests/test_size/test_size.vcxproj: - * MSVC_Net2010/tests/test_slot/test_slot.vcxproj: - * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj: Add 64 - bit support to MSVC project files. - -2010-09-27 Armin Burgmeier <armin@arbur.net> - - * MSVC_Net2005/libsigc++2.sln: - * MSVC_Net2005/tests/test_accumulated/test_accumulated.vcproj: - * MSVC_Net2008/libsigc++2.sln: - * MSVC_Net2008/tests/test_accumulated/test_accumulated.vcproj: Add - test_accumulated to the MSVC projects. - -2010-09-19 Armin Burgmeier <armin@arbur.net> - - * MSVC_Net2010/filelist.am: - * MSVC_Net2010/libsigc++2.sln: - * MSVC_Net2010/libsigc++2.vcxproj: - * MSVC_Net2010/libsigc++2.vcxproj.filters: - * MSVC_Net2010/sigc.rc.in: - * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj: - * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj.filters: - * MSVC_Net2010/tests/test_bind/test_bind.vcxproj: - * MSVC_Net2010/tests/test_bind/test_bind.vcxproj.filters: - * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj: - * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj.filters: - * MSVC_Net2010/tests/test_compose/test_compose.vcxproj: - * MSVC_Net2010/tests/test_compose/test_compose.vcxproj.filters: - * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj: - * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj.filters: - * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj: - * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj.filters: - * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj: - * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj.filters: - * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj: - * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj.filters: - * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj: - * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj.filters: - * MSVC_Net2010/tests/test_hide/test_hide.vcxproj: - * MSVC_Net2010/tests/test_hide/test_hide.vcxproj.filters: - * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj: - * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj.filters: - * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj: - * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj.filters: - * MSVC_Net2010/tests/test_retype/test_retype.vcxproj: - * MSVC_Net2010/tests/test_retype/test_retype.vcxproj.filters: - * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj: - * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj.filters: - * MSVC_Net2010/tests/test_signal/test_signal.vcxproj: - * MSVC_Net2010/tests/test_signal/test_signal.vcxproj.filters: - * MSVC_Net2010/tests/test_size/test_size.vcxproj: - * MSVC_Net2010/tests/test_size/test_size.vcxproj.filters: - * MSVC_Net2010/tests/test_slot/test_slot.vcxproj: - * MSVC_Net2010/tests/test_slot/test_slot.vcxproj.filters: - * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj: - * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj.filters: - - * Makefile.am: - * configure.ac: Added project files for Visual Studio 2010. - -2010-06-05 David King <davidk@openismus.com> - - Small website updates - - * docs/index.html: Remove broken namespace links. - * docs/website/doc.shtml: Link to library.gnome.org tutorial and API - reference. - -2.2.8: - -2010-06-04 Murray Cumming <murrayc@murrayc.com> - - Manual: Add an id="index" attribute in case that helps library.gnome.org. - - * docs/manual/libsigc_manual.xml: Add it to the <book> tag. - -2.2.7: - -2010-05-04 Murray Cumming <murrayc@murrayc.com> - - Documentation improvements. - - * docs/manual/libsigc_manual.xml: Remove Marshallers section because - it is apparently outdated and there is no example code to test it. - This fixes bug #417924 (Michael Ekstrand) - * sigc++/sigc++.h: Main page text: Rearranged slightly. - -2010-04-27 David King <davidk@openismus.com> - - Improvements to main page documentation - - * sigc++/sigc++.h: Minor improvements. - -2010-04-23 David King <davidk@openismus.com> - - Add main page to Doxygen documentation - - * docs/Makefile.am: Parse sigc++/sigc++.h for documentation. - * sigc++/sigc++.h: Add main page to Doxygen documentation. - -2010-04-23 David King <davidk@openismus.com> - - Fix the functors Doxygen group in the m4 files - - * sigc++/functors/macros/functor_trait.h.m4: - * sigc++/functors/macros/mem_fun.h.m4: - * sigc++/functors/macros/ptr_fun.h.m4: Rename functors to - sigcfunctors. - -2.2.6: - -2010-04-16 Murray Cumming <murrayc@murrayc-desktop> - - Docs: Fix the functors group and the link from the overview. - - * docs/website/doc.shtml: Revert this to point to the overview page at - docs/indeex.html, which I have manually uploaded to the website, until - we add this overview to the doxygen-generated documentation itself. - * sigc++/functors/slot_base.h: - * sigc++/visit_each.h: Rename the functors doxygen group to sigcfunctors, - because doxygen seems to confuse it with the one in libstdc++. - * docs/index.html: Update the links. - -2010-04-16 Murray Cumming <murrayc@murrayc.com> - - Website: Fix the Makefile so upload works with sourceforge again. - -2010-04-06 Murray Cumming <murrayc@murrayc.com> - - Website: Update the reference API link. - - * docs/website/doc.shtml: Update the reference API link to use - library.gnome.org. We should make sure that the tutorial docbook is there - too. - * docs/website/devel.shtml: Remove CVS-specific instructions, quickly - mentioning the git module instead. - However, the Makefile must be updated to cope with sourceforge's changes. - I was not able to upload this yet. - -2.2.5: - -2010-01-05 Daniel Elstner <daniel.kitta@gmail.com> - - Use non-blurry font for dot graph labels - - * docs/reference/Doxyfile.in (SHOW_INCLUDE_FILES): Enable. - (SHOW_USED_FILES): Disable. - (DOT_FONTNAME): Change from FreeSans to Sans, as the hinting for the - former appears to be rather bad. - (TEMPLATE_RELATIONS): Disable to reduce noise. - -2009-12-29 Krzysztof Kosiński <tweenk.pl@gmail.com> - - Accumulators: Allow return types that are different to the signal's. - - * sigc++/macros/signal.h.m4: signal_emit*: Correct the slot_iterator_buf_type - and slot_reverse_iterator_buf_type typedefs to allow accumulators with - return types that are different to the signal's return type. - * tests/Makefile.am: Reenable test_accumulated, so we can test the fix. - It should be manually disabled if building on AIX (if the AIX problem cannot - be fixed properly). - * tests/test_accumulated.cc: Add an accumulator with a return type that is - different to the signal's return type. In this case it's a vector listing - all results. - Bug #586436. - -2009-12-27 Daniel Elstner <daniel.kitta@gmail.com> - - Disable collaboration graphs in documentation - - * docs/reference/Doxyfile.in (CLASS_DIAGRAMS): Enable. Contrary to - what the Doxygen documentation says, no dot class inheritance graphs - will be generated if both CLASS_DIAGRAMS and COLLABORATION_GRAPH are - set to NO. - (COLLABORATION_GRAPH), (GROUP_GRAPHS): Turn off additional graphs to - reduce the noise. - -2009-10-26 Armin Burgmeier <armin@arbur.net> - - * sigc++config.h: Move the first five definitions to the !SIGC_MSC - ifdef block, so MSVC does not see them and only uses the definitions - from the SIGC_MSC block. This fixes the build with MSVC. - -2009-09-19 Daniel Elstner <daniel.kitta@gmail.com> - - Support Automake silent rules - - * configure.ac: Call the AM_SILENT_RULES macro if it is defined. - * docs/doc-manual.am, sigc++/Makefile.am: Prefix the commands of - custom rules with $(AM_V_GEN) or $(AM_V_at) in order to support - the silent rules feature of Automake. - -2009-09-17 Michael Hasselmann <michaelh@openismus.com> - - Documentation cleanup: sigc::hide() always only hides one signal argument - - * sigc++/adaptors/macros/hide.h.m4: The documentation stated that sigc::hide() - could discard multiple signal arguments when in fact the whole API only allows - control over one (dummy) signal argument at a time. The "multiple argument - hiding" example lives in it own section now to make it clearer you have to nest - sigc::hide() for that. - -2009-09-13 Daniel Elstner <daniel.kitta@gmail.com> - - Enable verbose output of autoreconf - - * autogen.sh: Pass --verbose option to autoreconf. - -2.2.4.2: - -2009-09-02 Daniel Elstner <danielk@openismus.com> - - Bump version to 2.2.4.2 and update NEWS - - * configure.ac (AC_INIT): Increment version number to 2.2.4.2. - (MM_PREREQ): Require mm-common 0.7.2. - * NEWS: Write news entry for libsigc++ 2.2.4.2. - -2009-09-02 Daniel Elstner <danielk@openismus.com> - - Document namespace sigc briefly - - * sigc++/signal_base.h (sigc): Prepend documentation comment to - provide a brief description of namespace sigc, so that Doxygen - will recognize the namespace as documented. - -2009-08-31 Daniel Elstner <danielk@openismus.com> - - Update Doxygen configuration for Doxygen 1.6.1 - - * docs/reference/Doxyfile.in: Update configuration template using - Doxygen 1.6.1. - (SORT_MEMBERS_CTORS_1ST): Enable. - -2009-08-31 Daniel Elstner <danielk@openismus.com> - - Protect space after comma in M4 output - - * sigc++/macros/template.macros.m4 (_LOOP_SEP): Triple-quote the - list separator in this hairy construct, since the macro definition - itself is not quoted at all and the space after the comma got lost - in the output. This, in turn, produced overlong lines in the HTML - reference documentation. - -2.2.4.1: - -2009-08-28 Daniel Elstner <danielk@openismus.com> - - Update news entry for libsigc++ 2.2.4.1 release - - * NEWS: Update top entry for release 2.2.4.1 of libsigc++. - (2.2.4): Correct spelling of Frédéric Péters' name. - -2009-08-27 Daniel Elstner <danielk@openismus.com> - - Use shared mm-common Doxygen style sheet - - * configure.ac (MM_PREREQ): Require mm-common 0.7. - * docs/Makefile.am (dist_noinst_DATA): List doxygen.css. - * docs/reference/Doxyfile.in (HTML_STYLESHEET): Assign path - to the shared doxygen.css provided by mm-common. - -2009-08-27 Daniel Elstner <danielk@openismus.com> - - Remove header and footer HTML fragments - - * docs/reference/libsigc_{header,footer}.html_fragment: Delete - files. These custom fragments were an unnecessary maintenance - hassle. Also, the files were out of date with respect to the - encoding and CSS classes used by Doxygen. - * docs/reference/Doxyfile.in (HTML_HEADER), (HTML_FOOTER): Set - to the empty string. - (PROJECT_NAME): Substitute @PACKAGE_NAME@. - (PROJECT_NUMBER): Substitute @PACKAGE_VERSION@. It does look - nicer in the generated HTML pages, and is probably also less - confusing. - (SORT_GROUP_NAMES): Enable for predictability. - -2009-08-26 Daniel Elstner <danielk@openismus.com> - - Bump version to 2.2.4.1 and update NEWS - - * configure.ac (AC_INIT): Increment version number to 2.2.4.1. - * NEWS: Write news entry for libsigc++ 2.2.4.1. - -2009-08-26 Daniel Elstner <danielk@openismus.com> - - Reenable hierarchy graphs for each class - - * docs/reference/Doxyfile.in (COLLABORATION_GRAPH): Set option - to YES to enable the per-class inheritance graphs. - -2009-08-25 Daniel Elstner <danielk@openismus.com> - - Have Automake check NEWS and use bzip2 - - * configure.ac (AM_INIT_AUTOMAKE): Add options check-news and - dist-bzip2. - -2009-08-25 Daniel Elstner <danielk@openismus.com> - - Update NEWS for libsigc++ 2.2.4 release - -2009-08-25 Daniel Elstner <danielk@openismus.com> - - Bump version to 2.2.4 and require mm-common 0.6.1 - - * configure.ac (AC_INIT): Increase version number to 2.2.4. - (MM_PREREQ): Require mm-common 0.6.1 for the updated default - location of the reference documentation. - -2009-08-25 Daniel Elstner <danielk@openismus.com> - - Change documentation host to library.gnome.org - - * README, docs/manual/libsigc_manual.xml: Adjust links to the - reference documentation in the text. - * docs/Makefile.am (pubdocbase), (htmlrefpub): Remove override - and use the updated mm-common default values. - * sigc++{,-uninstalled}.pc.in (htmlrefpub): Adjust link. - -2009-08-24 Daniel Elstner <danielk@openismus.com> - - Add id="content" element to documentation index - - * docs/reference/libsigc_header.html_fragment: Start <div> element - with attribute id="content" to match the other C++ binding modules. - * docs/reference/libsigc_footer.html_fragment: Close <div> element. - -2009-08-20 Daniel Elstner <danielk@openismus.com> - - Use new version component substitutions - - * MSVC_Net200[58]/sigc.rc.in: Replace the no longer defined - @FP_*_VERSION@ substitutions by the new @SIGCXX_*_VERSION@ - substitutions for the version number components. These are - defined by MM_INIT_MODULE() from mm-common. - -2009-08-20 Daniel Elstner <danielk@openismus.com> - - Substitute API version in filenames dynamically - - * sigc++.pc.in: Rename file from sigc++-2.0.pc.in. - * sigc++-uninstalled.pc.in: Rename file from - sigc++-2.0-uninstalled.pc.in. - * MSVC_Net200[58]/sigc.rc.in: Rename files from sigc-2.0.rc.in - and use @SIGCXX_API_VERSION@ substitution for the API version. - Also replace @VERSION@ with @PACKAGE_VERSION@. - * MSVC_Net200[58]/libsigc++2.{sln,vcproj}: Remove version from - the project name and filenames. - * MSVC_Net200[58]/filelist.am: Remove version from filenames. - * configure.ac (AC_CONFIG_FILES): Insert ${SIGCXX_MODULE_NAME} - into output filenames and remove the version from the input - filenames. - * Makefile.am: Use $(SIGCXX_MODULE_NAME) in pkg-config file - names instead of hard-coding the API version. - * sigc++/Makefile.am (lib_LTLIBRARIES): Instead of hard-coding - the libtool archive name, substitute @SIGCXX_API_VERSION@ into - it, as well as into the derived variable names. - -2009-08-17 Daniel Elstner <danielk@openismus.com> - - Set libtool version information - - * sigc++/Makefile.am (libsigc_2_0_la_LDFLAGS): Add libtool option - -version-info 0:0:0 to specify the version information explicitly. - -2009-08-16 Daniel Elstner <daniel.kitta@gmail.com> - - Remove unused parameter names for correctness - - * tests/test_copy_invalid_slot.cc, tests/test_custom.cc, - tests/test_deduce_result_type.cc, tests/test_functor_trait.cc, - tests/test_limit_reference.cc: Remove the names of unused function - parameters from the prototype, in order to get libsigc++ to build - with fatal compiler warnings. - -2009-08-16 Daniel Elstner <daniel.kitta@gmail.com> - - Rename scripts/ to build/ for consistency - - * build/: Rename directory from scripts/ for consistency with most - of the other modules that switched to the new build infrastructure. - * Makefile.am (ACLOCAL_AMFLAGS): Adjust M4 include directory. - * README: Adjust a reference to scripts/ in the text. - * configure.ac (AC_CONFIG_AUX_DIR): Copy auxiliary files to build/. - (AC_CONFIG_MACRO_DIR): Place Autoconf M4 files into build/. - * docs/Makefile.am: Include $(top_srcdir)/build/doc-reference.am. - -2009-08-16 Daniel Elstner <danielk@openismus.com> - - Update for latest mm-common 0.4 - - * configure.ac (MM_PREREQ): Require mm-common 0.4. - (MM_INIT_MODULE): Omit now optional version number argument. - (MM_CONFIG_DOCTOOL_DIR): Copy the documentation utilities into docs/ - instead of scripts/. - * Makefile.am (dist_noinst_DATA): Remove documentation utilities. - * sigc++-2.0.pc.in (htmlrefpub): Append trailing slash. - * sigc++-2.0-uninstalled.pc.in (htmlrefpub): ditto, - * docs/Makefile.am (htmlrefpub): ditto. - (doc_input): Perform a VPATH search for each input file, to correctly - handle the case of rebuilding the documentation of a tarball release - which includes the generated sources. - (dist_noinst_DATA): List documentation utilities. - -2009-08-11 Daniel Elstner <danielk@openismus.com> - - Do not recurse into MSVC subdirectories - - * MSVC_Net200[58]/filelist.am: New Automake include files, defining - the lists of files to ship from the MSVC project directories. - * MSVC_Net200[58]/Makefile.am: Delete recursive Makefile.am files. - * Makefile.am: Include MSVC_Net200[58]/filelist.am. - (dist_noinst_DATA): Distribute MSVC project files. - (SUBDIRS): Do not recurse into the MSVC_Net200[58] subdirectories. - * configure.ac (AC_CONFIG_FILES): Remove the output files - MSVC_Net200[58]/Makefile.am from the list. - (AC_CONFIG_COMMANDS): Copy sigc++config.h into the MSVC project - directories at the end of config.status. - -2009-08-11 Daniel Elstner <danielk@openismus.com> - - Remove now superfluous doctool overrides - - * docs/Makefile.am: Remove overrides for the documentation - utilities, since MM_CONFIG_DOCTOOL_DIR() already takes care - of setting MMDOCTOOLDIR to the local directory. - * sigc++-2.0.pc.in (datadir): Substitute value, just in case. - -2009-08-10 Daniel Elstner <danielk@openismus.com> - - Have mm-common-prepare install the doc utils - - * configure.ac: Call MM_CONFIG_DOCTOOL_DIR([scripts]) to set - up the destination directory for mm-common-prepare to copy - the documentation utilities to. - * scripts/doc-install.pl: Delete file. - * scripts/doc-postprocess.pl: ditto, - * scripts/tagfile-to-devhelp2.xsl: ditto. - -2009-08-09 Daniel Elstner <danielk@openismus.com> - - Refresh doc-install and doc-postprocess copies - - * scripts/doc-install.pl, scripts/doc-postprocess.pl: Copy - latest versions from the mm-common module. - * docs/Makefile.am (doc_install), (doc_postprocess): Include - $(PERL) interpreter command in front of the script name. - -2009-08-08 Daniel Elstner <danielk@openismus.com> - - Disable extraction of undocumented identifiers - - * docs/reference/Doxyfile.in (EXTRACT_ALL): Change setting to - NO, and adapt a number of related options accordingly. The - result is a net loss of about 300 generated .html files. The - roughly 450 files which remain now are still an insanely high - number, though. - (PREDEFINED): Predefine the Autoconf configuration defines to - nudge Doxygen towards documenting the canonical code paths. - -2009-08-07 Daniel Elstner <danielk@openismus.com> - - Use #error explicitly instead of broken code - - * sigc++config.h.in: Do use the #error preprocessor directive, - instead of an errornous piece of code. This code does not need - the same level of obfuscation as an Autoconf feature test. - -2009-08-07 Daniel Elstner <danielk@openismus.com> - - Change bug report URL to point to Bugzilla - - * configure.ac (AC_INIT): Change the bug-report argument to the - URL for filing a new libsigc++ bug on bugzilla.gnome.org. Also - name the website URL as fifth argument. It will simply be ignored - if the installed Autoconf does not support this new feature. - -2009-08-07 Daniel Elstner <danielk@openismus.com> - - Do not enable -pedantic mode by default - - * configure.ac (MM_ARG_ENABLE_WARNINGS): Remove -pedantic from the - list of compiler flags to use at warning level "min" (the default). - -2009-08-07 Daniel Elstner <danielk@openismus.com> - - Correct M4 forbidden tokens pattern - - * configure.ac (m4_pattern_forbid): Take into account that the - pattern is applied to tokens, not lines. Also catch unexpanded - calls to underscore-prefixed private macros. - -2009-08-06 Daniel Elstner <danielk@openismus.com> - - Transition to new mm-common build infrastructure - - * autogen.sh: Replace with a minimal script that simply executes - mm-common-prepare, autoreconf and configure. - * configure.ac: Get rid of an enormous amount of old cruft. Use - macros from the new mm-common module to set up Doxygen for building - the documentation. Add option to enable more compiler warnings. - * sigc++-2.0-uninstalled.pc.in: New pkg-config data file to allow - linking to an uninstalled libsigc++. - * sigc++-2.0.pc.in: Modernize. Provide the location of the - installed reference documentation and the Doxygen tag file. - * sigc++config.h.in: Modernize and update for new build - infrastructure. - * Makefile.am, */Makefile.am: Modernize and adapt to the new C++ - binding build infrastructure in the mm-common module. - * sigc++/filelist.am: New Automake include file. Defines lists - of C++ and M4 source files. - * docs/Makefile.am: Rewrite using doc-reference.am from the - mm-common module. - * docs/doc-manual.am: New Automake include file for building the - libsigc++ Docbook manual. - * docs/images/Makefile.am: Remove file. - * docs/manual/Makefile.am: ditto, - * docs/reference/Makefile.am: ditto. - * docs/Makefile_web.am_fragment: Remove for now, to be taken care - of later. - * docs/reference/Doxyfile.in: Modernize and adapt to new build - infrastructure. - * docs/reference/beautify_docs.pl: Remove and use the more recent - scripts/doc-postprocess.pl instead. - * libsigc++-2.0.spec.in: Remove, to be resurrected only if someone - complains. - * scripts/Makefile.am: Remove file. Distribute the files from the - toplevel Makefile.am instead. - * scripts/cxx_std.m4: Add missing third argument to AC_DEFINE(). - * scripts/doc-install.pl: New file, copied from mm-common. - * scripts/doc-postprocess.pl: ditto, - * scripts/tagfile-to-devhelp2.xsl: ditto. - -2008-11-13 Murray Cumming <murrayc@murrayc.com> - - * docs/website/stable.shtml: Correct the download link so it shows all - versions, not just 2.0. - -2.2.3: - -2008-10-08 Armin Burgmeier <armin@arbur.net> - - * MSVN_Net2005/libsigc++2.vcproj: Changed output name to match the new - naming convention. - - * MSVC_Net2008/: Added MSVC 2008 project files. These are basically - the same as for MSVC 2005, but converted to MSVC 2008 projects. - - * configure.ac: - * Makefile.am: Added the new files to the build. - -2008-08-08 Armin Burgmeier <armin@arbur.net> - - * MSVC_Net2005/libsigc++2.sln: Enable the disconnect_during_emit test - by default. - - * MSVC_Net2005/libsigc++2.vcproj: Renamed the generated debug database - file to sigc-2.0d.pdb (the default), to stay consistent with the *mm - wrapper libraries. - -2008-08-08 Armin Burgmeier <armin@arbur.net> - - * MSVC_Net2005/: Moved from MSVC_Net2003. - - * MSVC_Net2005/libsigc++2.sln: - * MSVC_Net2005/libsigc++2.vcproj: - * MSVC_Net2005/tests/*/*.vcproj: Converted the Visual Studio 2003 - project files to 2005 ones. - - * MSVC_Net2005/Makefile.am: - * Makefile.am: - * configure.ac: Adapted build files accordingly. - -2008-04-06 Cedric Gustin <cedric.gustin@gmail.com> - - * MSVC_Net2003/sigc-2.0.rc.in: Removed ATL/MFC header files - dependency as afxres.h is not part of the Microsoft Platform - SDK provided with Visual C++ Express 2008. - Bug #503933. - -2.2.2: - -2008-03-10 Deng Xiyue <manphiz@gmail.com - - * sigc++/macros/slot.h.m4: - Added an include of functors/slot.h that was mistakenly removed - during the 2.1 series, apparently breaking API slightly. - Bug #521418. - -2.2.1: - -2008-02-28 Elaine Xiong <elaine.xiong@sun.com> - - * sigc++/macros/signal.h.m4: - * tests/test_accum_iter.cc: Add ifdefs around uses of - reverse_iterator to really fix the build with recent - versions of Sun CC. - Bug #302098. - -2.2.0: - -2008-01-01 Ryan Hill <dirtyepic@gentoo.> - - * tests/test_copy_invalid_slot.cc: Include the cstdlib - and cstring headers to fix the build with the gcc 4.3 - pre-release. Bug #454882. - -2007-08-31 Murray Cumming <murrayc@murrayc.com> - - * tests/test_copy_invalid_slot.cc: Added some includes to - fix the build in some environments, such as when using Sun CC. - Thanks to Vladimir Marek in bug #469872. - -2.1.1: - -2007-08-14 Murray Cumming <murrayc@murrayc.com> - - * sigc++/Makefile.am: - * sigc++/compatibility.h: Removed this header. - * sigc++/bind.h: - * sigc++/bind_return.h: - * sigc++/connection.h: - * sigc++/macros/class_slot.h.m4: - * sigc++/macros/hide.h.m4: - * sigc++/macros/method_slot.h.m4: - * sigc++/macros/object_slot.h.m4: - * sigc++/macros/retype.h.m4: - * sigc++/macros/signal.h.m4: - * sigc++/macros/slot.h.m4: - * sigc++/object.h: - * sigc++/retype_return.h: Removed deprecated - compatibility API, to probably fix the build with - some compilers, such as some versions of the Sun Forte C++ - CC compiler. Some of these headers are now mostly empty and - should be removed later. - This API has been deprecated April 2004, and - is not widely used, so it seems safe to do this now. - - * tests/Makefile.am: - * tests/test_compatibility.cc: Removed this test. - -2007-07-28 Michael Elkstrand <michael@elehack.net> - - * sigc++/macros/signal.h.m4: slot_iterator_buf, - slot_reverse_iterator_buf: Added typedefs for - value_type, reference, and pointer, so that these - iterators are more like standard C++ iterators, so they can - be used with standard C++ algorithms. - * tests/Makefile.am: - * tests/test_accum_iter.cc: Added a test for this. - Bug #417926. - -2006-11-14 Daniel Elstner <daniel.kitta@gmail.com> - - * autogen.sh: Wholly replace this script with a critter from one - of my personal projects, with slight modifications. This one does - some sophisticated stuff like probing version numbers of available - automake and aclocal executables, in order to choose the right one - accordingly. All this is necessary to make the build system work - robustly in custom environments such as Maemo where automake-1.9 - doesn't come preinstalled. - -2006-06-20 Murray Cumming <murrayc@murrayc.com> - - * sigc++/adaptors/macros/bind.h.m4: - * sigc++/adaptors/macros/retype.h.m4: - * sigc++/functors/macros/functor_trait.h.m4: - * sigc++/functors/macros/slot.h.m4: - * sigc++/macros/retype.h.m4: - * sigc++/macros/signal.h.m4: Revert the previous changes, because none is - used in the exported symbol names from gtkmm, so this would break the ABI - of gtkmm. - -2006-05-26 Régis Duchesne <hpreg@vmware.com> - - * sigc++/adaptors/macros/bind.h.m4: - * sigc++/adaptors/macros/retype.h.m4: - * sigc++/functors/macros/functor_trait.h.m4: - * sigc++/functors/macros/slot.h.m4: - * sigc++/macros/retype.h.m4: - * sigc++/macros/signal.h.m4: - Renamed 'nil' to 'none' to allow an Objective-C++ compiler to compile - the library header files. - -2005-12-21 Murray Cumming <murrayc@murrayc.com> - - * sigc++/macros/signal.h.m4: Make remaining - reverse_iterator_buf operator--() methods - return by reference, like the operator++() methods. - Bug #304402 from John Profic. - -2005-12-20 Murray Cumming <murrayc@murrayc.com> - - * sigc++/macros/signal.h.m4: Make all operator--() methods - return by reference, like the operator++() methods. - Bug #304402 from John Profic. - -2005-12-14 John Profic <profic@kursknet.ru> - - * sigc++/macros/signal.h.m4: Fix compilation problem in - the last patch. - -2005-12-14 John Profic <profic@kursknet.ru> - - * sigc++/macros/signal.h.m4: Added emit_reverse(). - -This is the HEAD branch, for API/ABI-compatible API additions. -See also the libsigc-2-0 branch. - -2005-12-01 Murray Cumming <murrayc@murrayc.com> - - * sigc++/functors/slot_base.cc: - slot_base::disconnect(): Set call_ to 0, - to invalidate the slot, even if parent_ is 0. - I think parent_ is, for instance, a signal, but - disconnect should still work on a slot that is not - connected to a signal, because a slot can be invoked - directly. - Fixes bug #311057 from James Lin. - -2005-12-01 Murray Cumming <murrayc@murrayc.com> - - * tests/Makefile.am: - * tests/test_slot_disconnect.cc: Added test - case from bug #311057. - -2005-11-16 Philipp Berndt <philipp.berndt@gmx.net> - - * sigc++/adaptors/macros/exception_catch.h.m4: Make member - exception_catch_functor<T_functor, T_catcher, void>::catcher_ - public so that it can be accessed by visit_each() - (bug fixed for generalization on 2004-11-06) - -2.0.16: - -2005-08-01 Neal E. Coombes <nealc@trdlnk.com> - - * sigc++/signal_base.h: Updated the documentation for temp_slot_list - as requested in bug #303896. - -2005-08-01 Murray Cumming <murrayc@murrayc.com> - - * sigc++/adaptors/hide.h.m4: Added missing - ) in call to sun_forte_workaround(), fixing - build on SUN Forte 5.5. Bug #312020. - -2005-08-19 Bruno Martinez <brunom@fing.edu.uy> - - * sigc++/type_traits.h: Renamed - ::sigc::is_base_and_derived::internal to - ::sigc::is_base_and_derived::internal_class - in order to avoid conflict with - namespace internal. - -2005-07-13 Murray Cumming <murrayc@murrayc.com> - - * docs/manual/libsigc_manual.xml: Correct mentions of - 1.2 stuff instead of 2.0. Patch in bug #310213 from - pebble.org.uk. - -2005-07-13 Murray Cumming <murrayc@murrayc.com> - - * docs/manual/libsigc_manual.xml: Fixed typo - found by Antonio Coralles. - -2005-07-09 Murray Cumming <murrayc@murrayc.com> - - * sigc++/macros/signal.h.m4: Did the same (see - last commit) for slot_const_iterator and - slot_iterator_buf. - -2005-07-09 Murray Cumming <murrayc@murrayc.com> - - * sigc++/macros/signal.h.m4: slot_iterator: - operator--() now returns value, not reference, like - operator++() already did. This caused crashes when - using --no-inline with g++. Bug #308651 by - Michael Andres. - -2.0.15: - -2005-07-04 Philip Langdale <plangdale@vmware.com> - - * sigc++/adaptors/macros/compose.h.m4: Add a setter typedef to - compose*_functor and use it instead of the (incorrect) getter - typedef in the compose* specialization of visit_each<>(). - This corrects the lifetime management of slots created with - compose(). Bug #308433. - -2005-06-13 Marek Rouchal <marek.rouchal@infineon.com> - - * tests/test_deduce_result_type.cc: Specify int return type - for main(), to be more ISO C++ compliant. Bug #307478. - -2005-06-11 Andris Pavenis <pavenis@latnet.lv> - - * sigc++/adaptors/lambda/macros/base.h.m4: - * sigc++/adaptors/lambda/macros/select.h.m4 - * sigc++/adaptors/macros/hide.h.m4: Specify only a type (not a - parameter name) for unused member function parameters - -2005-06-12 Paul Pogonyshev <pogonyshev@gmx.net> - - * configure.ac: - * scripts/cxx.m4: - * sigc++config.h.in: Add test for whether the compiler allows - referencing to member functions of the class/structure being - declared from a definition of a static member variable. - Supposedly a generic solution for GCC 3.2 compilation problems. - - * sigc++/type_traits.h: Define SIGC_WRAP_IS_BASE_CLASS_ based on - results of the above test. - (struct is_base_and_derived): Wrap up is_base_class_() functions - in an internal class if SIGC_WRAP_IS_BASE_CLASS_ is defined. - -2005-06-10 Murray Cumming <murrayc@murrayc.com> - - * sigc++/adaptors/macros/bind.h.m4: - * sigc++/functors/macros/slot.h.m4: - * sigc++/macros/signal.h.m4: Use CALL_SIZE instead of - hard-coded 7s and 6s. - -2.0.14: - -2005-06-10 Murray Cumming <murrayc@murrayc.com> - - * sigc++/visit_each.h: Make the - limit_derived_target::with_type inner class an outer class, - to satisfy the SUN CC 5.7 compiler, though I think it is a - compiler bug. Bug #302098 has the test case. - -2.0.13: - -2005-06-07 Murray Cumming <murrayc@murrayc.com> - - * tests/test_compatibility.cc: Specify the actual class when - using test_int(), instead of the derived class, to fix the build - on SUN Forte CC 5.5. Patch from Friedemann Kleint in - Bug #305647 - -2005-06-07 Murray Cumming <murrayc@murrayc.com> - - * sigc++/macros/signal.h.m4: signal_emit::emit(): Use scope to - ensure a certain order of destruction of the member variables, to - avoid a leak on MSVC++. Patch by Andreas Ames in Bug #306249. - -2005-06-07 Murray Cumming <murrayc@murrayc.com> - - * sigc++/macros/signal.h.m4: Added comments about commenting-out - SIGC_TYPEDEF_REDEFINE_ALLOWED when using SUN Forte CC 5.7, - because I can not seem to create a test for it. - -2005-06-07 Murray Cumming <murrayc@murrayc.com> - - * configure.ac: - * scripts/cxx_std.m4: - * sigc++/macros/signal.h.m4: - * sigc++config.h.in: Added check for - the non-standard SUN Forte reverse_iterator<>, - and used it. This is based on the same stuff in - gtkmm. - -2005-06-07 Murray Cumming <murrayc@murrayc.com> - - * sigc++/visit_each.h: limit_derived_target(): Just some whitespace - changes. - -2005-05-16 Neal E. Coombes <nealc@trdlnk.com> - - * sigc++/signal_base.h: Modified temp_slot_list to be a temporary view - into a slot list. Instead of emptying the original it now simply tacks - a placeholder to the end of the original. It then uses this as it's - 'end' iterator. This should allow for conscious recursiveness, as well - as inserting a slot to any position in the slot list during emittion. - See bug #303896. - -2005-06-04 Friedemann Kleint <kleint@bifab.de> - - * sigc++/macros/limit_reference.h.m4: - visit_each() template specializations: - Mention the bool I_derives_trackable - template type, to fix the build on Solaris - Forte 5.5. - -2.0.12: - -2005-05-06 Régis Duchesne <hpreg@vmware.com> - - * sigc++/macros/limit_reference.h.m4 (added): - * sigc++/Makefile.am: - New class that just stores a reference, and makes sure that if the - reference derives from trackable, then the trackable reference will be - used instead of the derived reference in visit_each(). - * sigc++/functors/macros/mem_fun.h.m4: Better fix for bug #169225 by - Régis Duchesne and Christian Hammond, based on the new limit_reference - class. - * sigc++/adaptors/bound_argument.h (added): New class (built upon the - new limit_reference class) that handles all 3 kinds of bound arguments: - by value, by reference, and by constant reference. References are - unwrapped in the bound_argument's constructor. - * sigc++/adaptors/macros/bind.h.m4: Fix for bug #302327 by Régis - Duchesne. Bound arguments now need to know whether they are passed by - reference or not. So bind() now builds bind_functor instances using - 'reference_wrapper<Foo>' types, instead of 'Foo &' types. The - bind_functor code is modified to compensate. - * sigc++/adaptors/macros/bind_return.h.m4: Similar fix for a similar - bug (unfiled) with bound return arguments. - * sigc++/reference_wrapper.h: - * sigc++/type_traits.h: - The reference_wrapper class is only used in bound_argument.h. Put - correct but unused code under #if 0. - * sigc++/adaptors/lambda/base.h: This file needs reference_wrapper.h, - but was incorrectly relying on type_traits.h to include it. - * tests/Makefile.am: - * tests/test_virtualbase_delete.cc (deleted): - * tests/test_virtualbase_delete_ref_param.cc (deleted): - * tests/test_limit_reference.cc (added): - Replaced test_virtualbase_delete*.cc with a simpler - test_limit_reference.cc which checks for all 3 aspects of the same bug - in one file. - * tests/test_bind_ref.cc: Slots must use 'Foo &' types. We were lucky - this broken usage worked before this change. The change in - type_traits.h made this bug obvious, by preventing the code to compile. - * tests/test_bind_return.cc: After my change, bind() and bind_return() - must use 'reference_wrapper<Foo>' types. - * tests/test_custom.cc: Made this test a no-op (so it does not perturb - 'make check' on released versions of the library) and made it a - template ready to be modified by hackers. - -2005-05-01 Murray Cumming <murrayc@murrayc.com> - - * sigc++/functors/slot_base.cc: - slot_base::slot_base(src): If the source - slot_base has a null rep->call_, meaning that the - slot is invalid, just return a default-constructed - slot, to prevent the crash shown in - tests/tests_copy_invalid_slot.cc. Bug #302515 by - Régis Duchesne. - -2005-05-01 Murray Cumming <murrayc@murrayc.com> - - * sigc++/functors/macros/mem_fun.h.m4: bound_*<>: - Add a new is_base_and_derived<sigc::trackable> - parameter to the template and thereby provide a - specialization for T_Obj types that derive from - sigc::trackable. This prevents a crash when casting - from the derived type to sigc::trackable after the - derived destructor has run. This cast can sometimes - fail when using multiple inheritance, at least with - g++. Bug #169225 by Régis Duchesne and Christian - Hammond. - * sigc++/type_traits.h: Add documenation for - the internal is_base_and_derived<> template, which - allows us to specialize other templates for certain - template types. - -2005-04-28 Murray Cumming <murrayc@murrayc.com> - - * sigc++/type_traits.h: Added comments for users of - g++ 3.2. - -2005-04-28 Murray Cumming <murrayc@murrayc.com> - - * tests/Makefile.am: - * tests/test_virtualbase_delete.cc: Added - simplified test case from bug #169225. We have a patch - to make this succeed but I am not ready to commit it - just yet. - -2005-04-27 Murray Cumming <murrayc@murrayc.com> - - * tests/Makefile.am: - * tests/test_custom.cc: - Added a place to put extra test code, so I don't have - to keep installing my crazy libsigc++ versions. - -2005-04-27 Murray Cumming <murrayc@murrayc.com> - - * sigc++/visit_each.h: Revert back to the non-explicit - template call, because we can not specify the - template specialization so easily, because the - specializations have different numbers of types. - * tests/Makefile/am: - * tests/test_bind_ref.cc: Add a simple test only for - sigc::ref disconnection. - -2005-04-26 Murray Cumming <murrayc@murrayc.com> - - * sigc++/visit_each.h: Use the explicit template - specialization, needed for Tru64 and AIX compilers. - This causes a crash in some uses of sigc::ref() - (when using g++ 3.3.4 or 3.3.5 , but not with 3.4) but - seems to fix a crash in some uses of multiple inheritance - (bug #169225). - * tests/test_bind.cc: Comment out the crashing (not with - g++ 3.4) use of sigc::ref() with an explanatory comment. - -2.0.11: - -2005-03-09 Cedric Gustin <cedric.gustin@swing.be> - - * Makefile.am: Moved MSVC_Net2003 directory to SUBDIRS. - * MSVC_Net2003/Makefile.am: Added blank.cpp to EXTRA_DIST. - * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Removed - test_accumulated and test_lambda projects as the tests are - disabled in the standard, configure-based build. - * MSVC_Net2003/MSVC_Net2003/libsigc++2_msvcNet2003.vcproj: - Generate a PDB file in the Debug target. - -2005-03-05 Murray Cumming <murrayc@murrayc.com> - - * docs/website/stable.html: Mention actual supported compilers. - * docs/website/docs.html: Removed broken examples links. Change - reference link to the reference overview page. - -2005-02-23 Murray Cumming <murrayc@murrayc.com> - - * sigc++/functors/slot_base.h: Make slot_base::operator=() public, to - fix the build with SUN Forte C++ 5.5 and Tru64. - -2.0.10: - -2005-02-20 Murray Cumming <murrayc@murrayc.com> - - * tests/test_slot.cc, test_disconnect.cc: #included <new> to avoid - an unresolved symbol error with the Tru64 compiler. Solution found by - Tim Mooney in bug #161503. - -2005-02-20 Martin Schulze <mschulze@cvs.gnome.org> - - * sigc++/signal_base.h: Add some documentation. - -2005-02-20 Martin Schulze <mschulze@cvs.gnome.org> - - * sigc++/signal_base.cc: Reset deferred_ flag to false in - signal_impl::sweep() (Neal E. Coombes). Partly fixes bug #167714. - -2005-02-11 Martin Schulze <mschulze@cvs.gnome.org> - - * docs/manual/Makefile.am: Set the correct group in post-html. - -2005-02-11 Murray Cumming <murrayc@murrayc.com> - - * docs/website/doc.shtml: Fix typo in url for reference docs. Found by - James Lin. - -2005-02-06 Murray Cumming <murrayc@murrayc.com> - - * sigc++/signal_base.h: temp_slot_list::begin(), end(): Actually - return the iterators. - -2005-02-03 Neal E. Coombes <nealc@trdlnk.com> - - * sigc++/signal_base.h: Add temp_slot_list struct to facilitate - allowing new connections to a signal during an emittion without - affecting that emittion. - * sigc++/macros/signal.h.m4: Use the new struct temp_slot_list to - prevent connections made during an emittion from being called in the - same emittion (which has the potential of causing things like - infinite loops). This guarantees an emittion will be finite, as well - as maintaining any order of emittion guarantees that may have already - been in place. - -2.0.9: - -2005-02-02 Murray Cumming <murrayc@murrayc.com> - - * sigc++/visit_each.h: visit_each_type(): Reverted the change, so that - we do not specify the template types ot visit_each<>(), because it - crashes on g++ 3.3.4 (but not g++ 3.4.2). Added a comment telling users - of AIX (and maybe IRIX MipsPro and Tru64) to use the alternative version - if they have compilation problems. - -2005-02-01 Murray Cumming <murrayc@murrayc.com> - - * sigc++/adapators/macros/base.h.m4: Add sigc::var<>() documentation, - from Roger Ferrer Ibáñez in bug #149483. - -2005-02-01 Murray Cumming <murrayc@murrayc.com> - - * sigc++/adaptors/macros/compose.h.m4: In the template specializations - of visit_each(): As before, specify the specific other template - specializations of visit_each that we use. Needed by AIX. - * tests/Makefile.am: Reenabled most tests, because AIX can now - build them. - -2005-02-01 Murray Cumming <murrayc@murrayc.com> - - * sigc++/visit_each.h: visit_each_type(): Specify the specific - template specialization of visit_each<>() to use. The AIX compiler, - and possibly the Tru64 compiler, need this extra hint. - -2005-02-01 Murray Cumming <murrayc@murrayc.com> - - * bind.h.m4: Define bind_functor::operator() inline because the AIX - compiler/linker sometimes fails to find it when it is defined - outside of the class. - -2.0.8: - -2005-01-30 Murray Cumming <murrayc@murrayc.com> - - * sigc++/type_traits.h: is_base_and_derived: Added - avoid_gcc3_warning_(), to avoid an incorrect warning when using - g++ 3.3.5 - -2005-01-28 Liza Klerck <liza@trdlnk.com> - - * sigc++/functors/macros/mem_fun.h.m4: Add a sigc:: namespace - prefix to the nested use of visit_each(), to avoid ambiguity when - using 2 versions of the libsigc++ API inside different namespace. - -2005-01-27 Murray Cumming <murrayc@murrayc.com> - - * sigc++/adaptors/macros/adaptor_trait.h.m4: Add a sigc:: namespace - prefix to the nested use of visit_each(), to avoid ambiguity when - using 2 versions of the libsigc++ API inside different namespace, - which is not very advisable anyway. Bug #165222 from - liza at trdlnk.com. - -2.0.7: - -2005-01-24 Cedric Gustin <cedric.gustin@swing.be> - - * sigc++config.h.in : Moved the SIGC_USING_STD macro definition - out of the SIGC_CONFIGURE section. We also need it for MSVC. - * MSVC_Net2003/.cvsignore : Added .def and .aps files - * MSVC_Net2003/Makefile.am: Rewrote rule for local copy of - sigc++config.h (required for 'make distcheck'). - * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Added test_retype and - test_disconnect_during_emit tests. - * MSVC_Net2003/tests/test_disconnect_during_emit/*, - MSVC_Net2003/tests/test_retype/*: Initial commit. - -2005-01-21 Murray Cumming <murrayc@murrayc.com> - - * tests/: Disabled the test_accumulator, test_bind, and test_compose - tests, and part of test_mem_fun because the AIX xlC compiler can not - build them, but it can still do most things, including the examples. - See the comments in tests/Makefile.am. - -2005-01-21 Murray Cumming <murrayc@murrayc.com> - - * sigc++/adaptors/bind.h.m4: non-member operator()(): Specify the - extra nil arguments in the templated class name prefix. Oddly, the - AIX xlC compiler says that the type of the first parameter does not - match the template if you don't do this. - -2005-01-21 Murray Cumming <murrayc@murrayc.com> - - * sigc++/type_traits.h: is_base_and_derived struct: Move the - is_base_class_() functions out of the inner class, because the AIX - xlC compiler does not like that - see the comments in the code. - * sigc++/adaptors/bind.h.m4: Add the extra nil template types to - the template specializations, as in slot and signal. - -2005-01-21 Murray Cumming <murrayc@murrayc.com> - - * sigc++/functors/macros/slot.h.m4, sigc++/macros/signal.h.m4: - slot and signal template specialization for - various numbers of template args: In the class slot line, specify - all the remaining template types as null, instead of expecting the - compiler to guess them in itself. This partly fixes the build on - AIX with the xlC compiler. Bug #164685. - -2005-01-19 Murray Cumming <murrayc@murrayc.com> - - * sigc++/type_traits: struct is_base_and_derived: Make the test inner - struct a friend, so that it can use the big inner struct. This is - required by the Tru64 compiler. - * sigc++/adaptors/lambda/base.h: Put the unwrap_lambda_value() - definitions at the top, because Tru64 (understandably) needs them to - be declared before use. - -2005-01-19 Murray Cumming <murrayc@murrayc.com> - - * scripts/: Added cxx_std.m4, with a test copied from - glibmm/scripts/cxx_std.m4 to check if the compiler has the std:: - namespace. - * sigcconfig.h: #undef the new #define and add SIGC_USING_STD(), - like GLIBMM_USING_STD, to put stuff in the std:: namespace when it - is not there already, - * configure.in: Used the new test. - * tests/*: Uses SIG_USING_STD() for every std:: thing that we use. - This is needed by the Tru64 and HP-UX compilers when using their - defaults. - -2005-01-19 Murray Cumming <murrayc@murrayc.com> - - * configure.in: AC_INIT(): Provide the extra tarball name parameter, - so that it does not create a libsigc--- tarball. - -2005-01-19 Murray Cumming <murrayc@murrayc.com> - - * configure.in: AC_INIT(): Use libsigc++ instead of sigc++, attempting - to get the correct tarball name. - -2005-01-18 Murray Cumming <murrayc@murrayc.com> - - * configure.in: Used the autoconf 2.93 and AM_INIT_AUTOMAKE() - technique to specify ustar format for the tarball, to prevent files - with long file names from appearing at the top of the tarball. - Based on the same fix in gtkmm 2.6. - -2005-01-18 Murray Cumming <murrayc@murrayc.com> - - * sigc++/functors/macros/slot_h.m4: Specify the base class when - using the rep_ member variable. This stops the HP-UX aCC compiler - from saying that a Nonstatic member is referenced in a nested class, - local class or static member initializer. Bug #150719. - -2005-01-18 Murray Cumming <murrayc@murrayc.com> - - * Bug #159597 - patch from e97_far at e.kth.se to replace C-style - casts with reinterpret_cast<> and static_cast<> to avoid warnings. - -2005-01-17 Murray Cumming <murrayc@murrayc.com> - - * docs/manual/Makefile.am: Specifying html/index.html instead of - just the html directory as a target seems to fix distcheck problems. - I can also now confirm that the install works on solaris, when using - gmake, though not when using make. - -2005-01-17 Murray Cumming <murrayc@murrayc.com> - - * MSVC_Net2004/Makefile.am: Add built files to DISTCLEANFILES to fix - the distcheck. - * docs/reference/Makefile.am, manual/Makefile.am: Specify $srcdir in - paths, to fix distcheck of the manual, and maybe fix install problems - on Solaris. - -2005-01-11 Murray Cumming <murrayc@murrayc.com> - - * docs/website/stable.html: Updated the text about binary packages. - * docs/website/docs.html: Link to the 2.0 documentation instead of the - 1.2 documentation. - -2004-12-17 GregSchussman <schussman@slac.stanford.edu> - - * glossary.shtml: Clean up punctuation, make definitions complete - sentences, and add clarifications for certain definitions according to - what Murray Cumming's suggestions and answers to my questions. - Bug #161580. - -2005-01-11 Murray Cumming <murrayc@murrayc.com> - - * docs/: Added manual, copied from the libsigc++-1.2 cvs module, - and updated it for the new 2.0 API. - -2005-01-11 Murray Cumming <murrayc@murrayc.com> - - * docs/: Added website, copied from the libsigc++-1.2 cvs module. - We will use it from here from now on. - -2004-12-11 Cedric Gustin <cedric.gustin@swing.be> - - * configure.ac : parse version tags at configure time (for - sigc-2.0.rc). - * MSVC_Net2003/sigc-2.0.rc.in : New resource file. - * MSVC_Net2003/Makefile.am: include sigc-2.0.rc in distribution. - -2004-12-08 Cedric Gustin <cedric.gustin@swing.be> - - * MSVC_Net2003/Makefile.am: get sigc++config.h from $(top_builddir) - instead of $(top_srcdir). - -2004-12-08 Cedric Gustin <cedric.gustin@swing.be> - - * MSVC_Net2003/*/*.vcproj: Renamed libsigc++ target to - sigc-2.0d.dll (Debug) and sigc-2.0.dll (Release). Added - $(SolutionDir) and $(SolutionDir)\.. to "Additional Include - Directories" in tests projects. - * sigc++config.h.in: Rewrote dllexport/dllimport macros for - MSVC, for better consistency with glibmm/gtkmm. - * MSVC_Net2003/Makefile.am: copy sigc++config.h from $(top_srcdir) - at build time. - -2004-11-27 Murray Cumming <murrayc@murrayc.com> - - * configure.in: Revert the AC_PROG_LIBTOOL change, so that this builds - with actually released libtool versions, and in jhbuild, so that it - gets testing. - -2004-11-06 Martin Schulze <mschulze@cvs.gnome.org> - - * sigc++/adaptors/macros/exception_catch.h.m4: Make catcher_ member - public so that it can be accessed by visit_each() (bug reported on - ml by Philip Langdale <plangdale@vmware.com>). - -2004-10-24 Martin Schulze <mschulze@cvs.gnome.org> - - * MSVC_Net2003/*/*.vcproj: Link with the "multithreaded DLL" runtime - libraries and enable RTTI for the MSVC build - (patch from Timothy M. Shead <tshead@k-3d.com>). - * MSVC_Net2003/*/.cvsignore: Hide generated build files from cvs - (patch from Timothy M. Shead <tshead@k-3d.com>). - -2.0.6: - -2004-10-12 Martin Schulze <mschulze@cvs.gnome.org> - - * MSVC_Net2003/*/*.vcproj, MSVC_Net2003/blank.cpp: Fix project files - to compile out-of-the-box and add dummy file so that .cc files get - recognized as c++ code files (patch from Timothy M. Shead). - -2004-10-10 Martin Schulze <mschulze@cvs.gnome.org> - - * sigc++/signal_base.{h,cc}, sigc++/functors/slot_base.{h,cc}, - sigc++/functors/macros/slot.h.m4: If SIGC_NEW_DELETE_IN_LIBRARY_ONLY - is defined, implement signal_base::operator new/delete and - slot_rep::operator new/delete (suggested by Timothy M. Shead). - Remove old work-around from 2004-10-02 since it didn't work. - -2004-10-07 Martin Schulze <mschulze@cvs.gnome.org> - - * configure.ac: Update for libtool 1.5a (with support for Intel C++). - * MSVC_Net2003/sigc++config.h: Remove bogus '#define' - (reported by Timothy M. Shead <tshead@k-3d.com>). - -2004-10-02 Martin Schulze <mschulze@cvs.gnome.org> - - * configure.ac: Bump version number to 2.0.6. - * NEWS: Add ChangeLog summary for version 2.0.6. - -2004-10-02 Martin Schulze <mschulze@cvs.gnome.org> - - * sigc++/functors/slot_base.{h,cc}, sigc++/functors/macros/slot.h.m4: - Rename (typed_)slot_rep::detach to (typed_)slot_rep::destroy. - Call the dtor of the functor stored in typed_slot_rep from destroy(). - A cleaner solution would be to add an additional "virtual" function - that calls 'delete' or a real virtual dtor. However, this would be - less efficient and might break the ABI. (Fixes #152323.) - -2004-10-02 Martin Schulze <mschulze@cvs.gnome.org> - - * sigc++config.h.in, MSVC_Net2003/sigc++config.h, - sigc++/signal_base.cc, sigc++/functors/slot_base.{h,cc}, - sigc++/functors/macros/slot.h.m4: Define and use new macro - SIGC_NEW_DELETE_IN_LIBRARY_ONLY to ABI-compatibly move - all calls to new and delete into non-inline library code. - -2004-09-26 Martin Schulze <mschulze@cvs.gnome.org> - - * sigc++/adaptors/lambda/macros/group.h.m4: Add a missing - template keyword in the definition of deduce_result_type::type - (hopefully fixes #152327). - -2004-09-26 Martin Schulze <mschulze@cvs.gnome.org> - - * sigc++/macros/object_slot.h.m4: Use correct bound_mem_functor - variants for const (volatile) methods (fixes #148744). - -2004-09-01 Martin Schulze <mschulze@cvs.gnome.org> - - * docs/index.html: Correct link to lambda module. - -2004-09-01 Martin Schulze <mschulze@cvs.gnome.org> - - * README: Update compatibility section. - -2.0.5: - -2004-09-01 Martin Schulze <mschulze@cvs.gnome.org> - - * MSVC_Net2003/Makefile.am: Add sigc++config.h to EXTRA_DIST. - * configure.ac: Bump version number to 2.0.5. - * NEWS: Add ChangeLog summary for version 2.0.5. - -2.0.4: - -2004-08-21 Martin Schulze <mschulze@cvs.gnome.org> - - * tests/test_lambda.cc: Use sigc::var("\n") instead of sigc::ref("\n"). - Comment out the affected lines, nevertheless. - Sun FORTE and Compaq C++ can handle neither sigc::ref("\n") nor - sigc::var("\n"). I see more chances fixing sigc::var("\n"). - * sigc++/adaptors/lambda/macros/base.h.m4: Add a comment about a - possible work around for sigc::var("\n") compiler problems. - * tests/test_compatibility.cc: Remove a 'const' keyword that prevents - the test case from compiling with the Sun FORTE. - * tests/test_trackable.cc: Remove a 'virtual' keyword and an unused - variable to avoid compiler warnings. - * NEWS: Add ChangeLog summary for version 2.0.4. - -2004-08-03 Martin Schulze <mschulze@cvs.gnome.org> - - * scripts/cxx.m4, sigc++config.h.in, configure.ac, - sigc++/adaptors/lambda/macros/operator.h.m4, tests/test_lambda.cc: - Rollback change from 2004-07-15: configure check - SIGC_OPERATOR_OVERLOAD_AMBIGUITY is not needed - the overload - ambiguity doesn't occur if the lambda operators take all arguments - as const reference. - * configure.ac: Bump version number to 2.0.4. - -2004-08-03 James Lin <slimjimmy@mail.com> - - * Added SIGC_API qualifier to all externally-visible non-template - classes/structs. - * Added #include <sigc++config.h> to the files that use SIGC_API. - * Added empty SIGC_API definition to sigc++config.h.in for non-MSVC - compilers. I'm not sure if this is the right place to put this - (probably not). - * Added MSVC-specific sigc++config.h to the MSVC project directory. - (The comment in it probably should be edited.) - * Changed MSVC project settings to output a multi-threaded DLL, set - the include paths to work (hopefully) out-of-the-box. Disabled - precompiled headers, since they just complicate things and - shouldn't be necessary for such a relatively project. - -2004-08-01 Martin Schulze <mschulze@cvs.gnome.org> - - * sigc++/type_traits.h: Remove type_trait<>::instance() - (was unimplemented and unused; caused problems with the MSVC). - -2004-07-23 Martin Schulze <mschulze@cvs.gnome.org> - - * Makefile.am: Fix typo concerning distribution of libsigc++-2.0.spec. - * AUTHORS: Mention our contributors for platforms Sun FORTE and Intel C++. - -2004-07-15 Martin Schulze <mschulze@cvs.gnome.org> - - * *.h.m4: Don't call operator()() in sun_forte_workaround(); rather copy - operator()(). Calling operator()() makes a copy of the arguments causing - wrong results if an argument type is a reference. Hopefully fixes #147311. - -2004-07-15 Martin Schulze <mschulze@cvs.gnome.org> - - * tests/test_lambda.cc: Break "std::cout << [expr] << a << std::endl;" - into "std::cout << [expr]; std::cout << a << std::endl;". - I hope this fixes #147313 where the right values for "[expr]" but wrong - values for "a" were written to std::cout for some compiler with optimizations - turned off. - -2004-07-15 Martin Schulze <mschulze@cvs.gnome.org> - - * sigc++/adaptors/lambda/macros/operator.h.m4: Correct return type deduction - of lambda expressions in lambda_operator*::operator()(). Might be related to - bug #147313. - * sigc++/adaptors/lambda/macros/group.h.m4: Use m4 macro _P_(). - -2004-07-15 Martin Schulze <mschulze@cvs.gnome.org> - - * scripts/cxx.m4, sigc++config.h.in, configure.ac, - sigc++/adaptors/lambda/macros/operator.h.m4, tests/test_lambda.cc: - Add configure check SIGC_OPERATOR_OVERLOAD_AMBIGUITY for a SUN FORTE - compiler problem (bug #147391). Use it to decide whether the lambda - action operators may be overloaded (not doing so restricts the API slightly). - * sigc++/adaptors/lambda/macros/operator.h.m4: Add some doxygen comments - and remove attic code. - * sigc++/adaptors/lambda/macros/base.h.m4: - Add templates unwrap_lambda_type and unwrap_lambda_value() to support - the non-overloaded lambda action operators. Also add some doxygen comments - and remove attic code. - * sigc++/adaptors/lambda/macros/group.h.m4: Fix a bug that resulted in - gargabe values being passed on to the functor contained in the group adaptor - (partly fixes #147313). - -2004-07-11 Martin Schulze <mschulze@cvs.gnome.org> - - * scripts/cxx.m4, sigc++config.h.in, configure.ac, *.h.m4: - Split SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD - into SIGC_CXX_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD - and SIGC_CXX_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD. - Remove LIBSIGC_TEMPLATE_PREFIX. Add template keyword to - SIGC_WORKAROUND_OPERATOR_PARENTHESES depending on the configure checks. - Should fix the compiler problems with MSVC. - -2004-07-11 Martin Schulze <mschulze@cvs.gnome.org> - - * examples/hello_world.cc: Use sigc::ptr_fun instead of std::ptr_fun. - (fixes bug #144846) - -2004-07-11 Eric Bourque <ericb@computer.org> - - * libsigc++-2.0.spec.in: new file - * configure.ac : patched generate spec file - * .cvsignore: ignore generated file (Martin Schulze) - * Makefile.am: distribute spec file (Martin Schulze) - -2004-07-11 Murray Cumming <murrayc@murrayc.com> - - * sigc++/connection.cc: Added some comments. - * sigc++/trackable.cc: operator=(): Check for self-asignment, though I - do not know of any actual bug that this fixes. Added some comments. - * sigc++/trackable.h Added some doxygen documentation. - -2004-07-09 Murray Cumming <murrayc@murrayc.com> - - * tests/: Added test_disconnect_during_emit.cc, to prove that this - works. - -2004-07-08 Murray Cumming <murrayc@murrayc.com> - - * tests/test_retype_return.cc: foo::operator(int): return a - value. The SUN Forte 5.5 compiler complains about this, as it should. - -2004-07-08 Murray Cumming <murrayc@murrayc.com> - - * sigc++/macros/signal.h.m4: class signal*: Rename the slot_list - typedef to slot_list_type, because there is already a template class - called slot_type. SUN Forte 5.5 seems to complain about this and I am - not surprised. The old typdef is still there for backwards - compatibility, except when building with SUN Forte. - -2004-07-07 Murray Cumming <murrayc@murrayc.com> - - * scripts/cxx.m4: SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD(): - Don't define the SIGC_TEMPLATE_SPECIALIZATOIN_OPERATOR_OVERLOAD C - macro at all if the test fails. This might fix the build on SUN Forte. - * sigc++/functors/macros/mem_fun.h.m4: Default constructor: Initialize - the func_ptr_ member variable. I have no evidence that this solves any - problems, but it worried me. - * sigc++/functors/slot_base.h: operator bool(): Correct documentation, - to use @code instead of <code> - * sigc++/macros/signal.h.m4: Remove the documentation for the - parameters named first and last, because they do not exist. - -2004-05-31 Martin Schulze <mschulze@cvs.gnome.org> - - * autogen.sh: Add '--force'-flag to the 'libtoolize'-command (bug #143425). - -2.0.3: - -2004-05-30 Martin Schulze <mschulze@cvs.gnome.org> - - * configure.ac: Bump version number to 2.0.3. - * NEWS: Add ChangeLog summary for version 2.0.3. - * sigc++/macros/signal.h.m4: Fix segfault on emission of unconnected signal. - * tests/test_signal.cc, tests/test_accumulated.cc: Emit unconnected signal. - * sigc++/macros/object_slot.h.m4: Suppress compiler warning at - dynamic_cast<>-test (tested by Christof Petig/Timothy M. Shead). - -2.0.2: - -2004-05-22 Martin Schulze <mschulze@cvs.gnome.org> - - * configure.ac: Bump version number to 2.0.2. - * NEWS: Add ChangeLog summary for version 2.0.2. - -2004-05-20 Martin Schulze <mschulze@cvs.gnome.org> - - * sigc++/macros/signal.h.m4: If a custom accumulator is specified - invoke it on signal emission even if the signal's slot list is empty. - (This used to be the case in libsigc++-1.2 as pointed out by Timothy.) - -2004-05-20 Martin Schulze <mschulze@cvs.gnome.org> - - * sigc++/macros/object_slot.h.m4: Suppress compiler warning at - dynamic_cast<>-test (suggested by Timothy M. Shead). - -2004-05-01 Martin Schulze <mschulze@cvs.gnome.org> - - * README: Updated for libsigc++-2.0. - -2.0.1: - -2004-04-27 Martin Schulze <mschulze@cvs.gnome.org> - - * configure.ac: Bump version number to 2.0.1. - * NEWS: Add ChangeLog summary for version 2.0.1. - * sigc++/adaptors/lambda/macros/base.h.m4: Fixed documentation. - * sigc++/adaptors/macros/bind.h.m4: Hide work-arounds from doxygen. - * scripts/cxx.m4, sigc++config.h.in, configure.ac, - sigc++/adaptors/macros/bind.h.m4: Removed configure check. It - showed that the Apple gcc can also compile the sophisticated version - of the work-around. - -2004-04-26 Martin Schulze <mschulze@cvs.gnome.org> - - * sigc++/macros/object_slot.h.m4: Modified test for SigC::Object - inheritance so that it also works if SigC::Object is virtual base. - (Fixes bug 141094 reported by Jonathan Brandmeyer) - -2004-04-26 Martin Schulze <mschulze@cvs.gnome.org> - - * scripts/cxx.m4: Updated the configure check. It would probably - have succeeded on the Apple. - -2004-04-26 Martin Schulze <mschulze@cvs.gnome.org> - - * sigc++/adaptors/macros/bind.h.m4: Add work-arounds for - bind<-1>::deduce_result_type compilation error on Apple gcc 3.3. - * scripts/cxx.m4, sigc++config.h.in, configure.ac: Add configure - check for the compilation error above. - * sigc++/adaptors/lambda/macros/operator.h.m4: Replace _A with - _Aa. _A is a reserved keyword on Apple gcc 3.3 (Spundun Bhatt). - (fixes bug #10444 reported by Spundun Bhatt) - -2004-04-19 Martin Schulze <mschulze@cvs.gnome.org> - - * sigc++/signal_base.cc: Fixed serious bug in signal_base::impl(): - Only reference a newly created object (initial reference). - (This fixes bug #140269 reported by Andris.) - -2004-04-19 Murray Cumming <murrayc@murrayc.com> - - * scripts/cxx.m4: Updated the operator() template check, because it - failed with gcc 3.4 (from cvs). Apparently the template keyword can - only be used from another template. - -2.0.0: - -2004-04-06 Martin Schulze <mschulze@cvs.gnome.org> - - * configure.ac: Bump version number to 2.0.0. - * NEWS: Add ChangeLog summary for version 2.0.0. - * TODO, AUTHORS: Bring up to date. - * sigc++-2.0.pc.in, Makefile.am: 1.9 -> 2.0 - * Added more documentation. - -2004-04-10 Murray Cumming <murrayc@murrayc.com> - - * sigc++/connection.[h|cc]: Implement blocked() to avoid undefined - symbol linker error. - -2004-04-08 Murray Cumming <murrayc@murrayc.com> - - * dist the scripts directory. - -1.9.16: - -2004-04-06 Martin Schulze <teebaum@cvs.gnome.org> - - * configure.ac: Bump version number to 1.9.16. - * NEWS: Add ChangeLog summary for version 1.9.16. - -2004-04-02 Murray Cumming <murrayc@murrayc.com> - - * sigc++/connection.cc: Make block() and unblock() always return a - value, to fix compiler warnings. Patch from bug #138620 by - Alexander Nedotsukov. - -2004-04-02 Murray Cumming <murrayc@murrayc.com> - - * Fix the compile of examples/member_method.cc. Bug #131701 from - Kirill Smelkov. I also made the examples build as part of the regular - build. - -2004-04-02 Murray Cumming <murrayc@murrayc.com> - - * sigc++config.h.m4: Remove every undef apart from the one we need, to - avoid clashes, because we #include this in a public header. - -2004-03-25 Murray Cumming <murrayc@murrayc.com> - - * scripts/cxx.m4, configure.in, sigc++config.h.in: Rename the - template_keyword check to template_specialization, because the problem - is with or without the keyword. - * sigc++/adaptors/macros/adaptor_trait.h.m4: Define - SIGC_WORKAROUND_OPERATOR_PARENTHESES, which calls either operator() or - sun_forte_workaround() depending on the result of the compiler test. - * many .m4 files: Add sun_forte_workaround methods that call the - operator() methods. Put them in #ifdefs so that only SUN Forte C++ - sees them. - -2004-03-22 Murray Cumming <murrayc@murrayc.com> - - * Makefile.am, sigc++/Makfile.am: Fix the sigc++config.h.in disting, - to fix make distcheck. - -2004-03-21 Murray Cumming <murrayc@murrayc.com> - - * Rename config.h.in to sigc++config.h.in so that gtkmm does not - include some other config.h at strange times - fixes a problem in - the gtkmm demos. This should really be in the sigc++ directory, but - that seems to add that as an include path, which causes the STL - headers to include sigc++/signal.h instead of some STL signal.h header. - -2004-03-20 Murray Cumming <murrayc@murrayc.com> - - * Makefile.am: Install the config.h platform-specific header. - * sigc++-2.0.pc.in: Report the include path for config.h - -2004-03-20 Murray Cumming <murrayc@murrayc.com> - - * Added config.h.in, using autoheader, from which config.h will be - generated, so we can detect compiler features. - * configure.ac: Added AC_CONFIG_HEADER(config.h) to generate config.h - from config.h.in. - * scripts/cxx.m4: Added this directory and file, with a - SIGC_CXX_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD macro that defines - the SIGC_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD C macro. - * autogen.sh: Added -I scripts to the aclocal call, so that it finds - the m4 macro for configure.ac. - * sigc++/adapators/macros/adaptor_trait.h.m4: Include config.h and - use SIGC_TEMPLATE_KEYOWRD_OPERATOR_OVERLOAD. - -2004-03-18 Martin Schulze <mschulze@cvs.gnome.org> - - * tests/test_mem_fun.cc, tests/test_ptr_fun.cc: Don't test - making functors from overloaded methods with partial template - specialization. Not portable among different compilers (SUN FORTE). - * adaptors/macros/apdaptor_trait.h.m4: Only gcc seems to use the - notation A.template operator()<...>(...) => adapt preprocessor check - for #define LIBSIGC_TEMPLATE_PREFIX. TODO: replace with configure check. - -2004-03-13 Murray Cumming <murrayc@murrayc.com> - - * g++ 3.4 (pre-release) build fixes: - * sigc++/macros/signal.h.m4: slot_iterator_buf::operator*(): - Use blocked() and empty() instead of non-existant blocked_and_empty(). - * sigc++/functors/macros/mem_fun.h.m4: memfun_functor*::operator()(): - Use this->func_ptr_ instead of just func_ptr_. - * sigc++/adaptors/macros/deduce_result_type.h.m4: Use - T_functor::template deduce_result_type<> instead of just - T_functor::deduce_result_type<>. - * sigc++/adaptors/lambda/macros/base.h.m4, operator.h.m4, group.h.m4:: - Use template keyword again. operator[](): Use this->value_ instead of - just value_. - * sigc++/adaptors/lambda/macros/bind/m4: Use template keyword, and - this-> again. - * sigc++/adaptors/macros/compose.h.m4, hide.h.m4, bind_return.h.m4, - exception_catch.h.m4: - rettype.h.m4, rettype_return.h.m4: Use template keyword,and this-> again - -1.9.15: - -2004-02-27 Martin Schulze <teebaum@cvs.gnome.org> - - * configure.ac: Bump version number to 1.9.15. - * NEWS: Add ChangeLog summary for version 1.9.15. - -2004-02-27 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/functors/macros/slot.h.m4: Make the unnumbered slot templates' - copy ctors use the copy ctors of the base class. Fixes bug #24698. - * tests/test_slot.cc: Test copy ctor (Bryan Forbes). - -2004-02-27 Martin Schulze <teebaum@cvs.gnome.org> - - * tests/type_functor_trait.cc: Bring it up-to-date (use sigc::ref). - Make it work with the SUN Forte. - -2004-02-24 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/type_traits.h: Make is_base_and_derived<> work with the SUN Forte. - -2004-02-19 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/type_traits.h: Make is_base_and_derived<> platform independant. - * sigc++/adaptors/lambda/macros/base.h.m4: Make lambda_core<> ctors - explicit. Remove an unused ctor from lambda_core<T_type, true>. - -2004-02-14 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/functors/slot_base.h, sigc++/functors/macros/slot.h.m4: - Move some documentation to slot_base.h. - * sigc++/signal_base.h, sigc++/macros/signal.h.m4: - Move some documentation to signal_base.h. - - API addition: - * sigc++/functors/macros/slot.h.m4: Add numbered slot# templates. - Make unnumbered slot templates inherit from slot#. - - API change: - * sigc++/functors/macros/mem_fun.h.m4: Allow for methods of the object's - base types to be passed into sigc::mem_fun(). (Used to be the case in - libsigc++-1.2). - -2004-02-13 Murray Cumming <murrayc@usa.net> - - * sigc++/functors/slot_base.[h|cc], sigc++/trackable.[h|cc]: Create - and use a typedef for the destroy_notify callback functions, to avoid - confusion function pointer declaration syntax in the API. - -2004-02-13 Murray Cumming <murrayc@murrayc.com> - - * Moved implementation to .cc files: - * sigc++/functors/: Added slot_base.[h|cc] which contains non-template - code that was previsouly in the generated functors/slot.h and - non-generated slot.cc files. All non-inline implementation is now in - the .cc file. - * sigc++/functors/macros/slot.m4: Removed the code that has been moved - to slot_base.[h|cc]. - * sigc++/: Added signal_base.[h|cc] which contains non-template code - that was previously in the generated signal.h and non-generated - signal.cc file. All non-inline implementation is now in the .cc file. - * sigc++/macros/signal.m4: Removed the code that ahs been moved to - signal.cc - * sigc++/connector.[h|cc]: method implementation moved to the .cc file. - -1.9.14: - -2004-02-13 Martin Schulze <teebaum@cvs.gnome.org> - - * configure.ac: Bump version number to 1.9.14. - * NEWS: Add ChangeLog summary for version 1.9.14. - -2004-02-09 Murray Cumming <murrayc@usa.net> - - * sigc++/functors/macros/slot.h.m4: slot_base: Added operator bool(), needed to - check for a slot that is created with the default constructor. This was - present in libsigc++ 1.2 also. - -2004-02-06 Murray Cumming <murrayc@usa.net> - - * Makefile.am: Build the docs directory, by adding it to SUBDIRS. - * docs/Doxyfile.in: Updated to be more glibmm-like. - * Added some @deprecated doxygen bits. - * sigc++/macros/signal.h.m4: Call base constructor from signal_base - constructor - this is an error-as-warning when building gtkmm. - -1.9.13: - -2003-11-30 Martin Schulze <teebaum@cvs.gnome.org> - - * configure.ac: Bump version number to 1.9.13. - * NEWS: Add ChangeLog summary for version 1.9.13. - * Makefile.am, MSVC_Net2003/Makefile.am, configure.ac: - Distribute MS .Net project files. - * sigc++/adaptors/macros/[bind,hide].h.m4: Correct and add - documentation. Make hide_functor ctor explicit. - -2003-11-11 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/adaptors/macros/[bind,hide].h.m4: Change to zero-based - argument index in numbered bind() and hide() overload - (Agreement on the mailing list). - Support binding up to CALL_SIZE arguments with one bind adaptor. - (Requested by joey yandle and others). - Only support binding of multiple arguments in unnumberd overloads - to keep the API simple (Requested by Murray Cumming). - * tests/test_[bind,hide,functor_trait].cc, sigc++/bind.h: - Reflect API changes in compatibility module and test cases. - -2003-11-10 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/adaptors/macros/[bind,hide].h.m4: Add unnumbered - bind() and hide() overloads to make specifying the argument - position optional (Proposed by Jeff Franks). - * tests/test_[bind,hide].cc: Test unnumbered bind() and hide(). - * sigc++/adaptors/macros/adaptor_trait.h.m4: - Change "#ifdef MSVC" to "#ifdef _MSC_VER" (Roel Vanhout). - -2003-11-09 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/functors/macros/slot.h.m4: Change functor type in - typed_slot_rep to adaptor_trait::adaptor_type<T_functor> - and use explicit function template instantiation in - internal::slot_call::call_it(). Avoids copying of arguments - in call_it() and enables binding of object instances - to class methods through bind() (Reported by Jeff Franks). - * tests/test_bind.cc: Test binding object instances to - class methods through bind(). - * sigc++/adaptors/adaptors.h: Include retype[_result].h. - * sigc++/adaptors/macros/adaptor_trait.h.m4: - - Add documentation. - - Mark some c-tors as explicit. - - Remove ununsed operator T_functor&() from adaptor_functor. - * sigc++/adaptors/macros/deduce_result_type.h.m4: - Rewrite parts of the documentation. - * sigc++/adaptors/macros/bind.h.m4: Add documentation. - * sigc++/functors/macros/mem_fun.h.m4: Remove unnecessary - explicit markers. Minor fixes to documentation. - * sigc++/functors/macros/functor_trait.h.m4: - Minor fixes to documentation. - -1.9.12: - -2003-11-04 Martin Schulze <teebaum@cvs.gnome.org> - - * configure.ac: Bump version number to 1.9.12. - * NEWS: Add ChangeLog summary for version 1.9.12. - -2003-11-03 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/macros/signal.h.m4: Document accumulators. - Move slot_iterator_buf into namespace internal. Since - accumulators have the iterator type as a template argument - there is no need to expose this very internal type. - * sigc++/functors/macros/*.m4: Regroup documentation. - Documentation of the core parts of the library should be - complete by now. - -2003-11-02 Martin Schulze <teebaum@cvs.gnome.org> - - * Improve documentation of the core parts of the library. - * tests/test_ptr_fun.cc: Test ptr_fun() with static - member functions. - -2003-11-02 Martin Schulze <teebaum@cvs.gnome.org> - - * Move all .m4 files into new subdirectories - sigc++/[...]/macros. Install the .m4 files on - "make install" (Reported by Ron Steinke). - -2003-11-01 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/[class,method,object]_slot.h.m4: Include - sigc++/functors/mem_fun.h (Reported by Ron Steinke). - -2003-11-01 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/adaptors/lambda/operator.h.m4: Add negation - operator I have completely overlooked until now. - * sigc++/tests/test_lambda.cc: Test negation operator. - -2003-11-01 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/[class_slot,method_slot,object_slot,hide].h.m4, - sigc++/signal.h.m4, sigc++/functors/mem_fun.h.m4: - - Use a shorter notation for ..._mem_function variants. - - Change order of mem_funcotr<>'s template arguments to - match std::mem_fun_t and to be more consistent with adaptors. - - Use ::sigc::slot's implicit ctor in compatibility module. - * sigc++/adaptors/lambda/operator.h.m4: Change some - lambda action names to match action names in std. - - API addition: - * sigc++/adaptors/retype.h.m4: New file adding - adaptor retype. - * sigc++/Makefile.am: Build and distribute new file. - * tests/test_retype.cc: New file testing adaptor retype. - * MSVC_Net2003/tests/test_retype/test_reytype.vcproj, - tests/Makefile.am: Build and distribute new test case. - -2003-11-01 Martin Schulze <teebaum@cvs.gnome.org> - - * MSVC_Net2003: New directory containing project - files for Visual Studio .Net 2003. - Credits to Roel Vanhout <roel@riks.nl>! - -2003-11-01 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/retype.h.m4: Use LIBSIGC_TEMPLATE_PREFIX - in explicit function template instantiations. - * sigc++/type_traits.h: Add template specialization - for arrays (T_type[N]) to disable non-working member - type_trait<T_type[N]>::instance(). - * sigc++/visit_each.h: Remove more disturbing - limit_derived_target<>::operator() overloads. - (Should have noticed earlier that they are unnecessary.) - * sigc++/adaptors/deduce_result_type.h.m4, - sigc++/adaptors/lambda/operator.h.m4, - sigc++/functors/functor_trait.h.m4, - tests/test_[bind,compose,exception_catch,hide,lambda].cc: - Completely removed support for typeof(). We don't need - it any more and it is completely non-standard! - -2003-10-30 Cedric Gustin <cedric.gustin@swing.be> - - * configure.ac: Added test of win32 platform. Commented - out AM_DISABLE_SHARED (DLLs are shared libraries). - * sigc++/Makefile.am: added a few LDFLAGS for win32 - DLLs. - -2003-10-30 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/signal.h.m4: Add SigC::Signal#<>::slot(). - * sigc++/slot.h.m4: Comment out make_slot() work-around. - * sigc++/adaptors/bind.h.m4: Remove unnecessary brackets - in template argument lists. They are confusing MSVC. - * sigc++/adaptors/*.h.m4, sigc++/adaptors/lambda/*.h.m4: - Use LIBSIGC_TEMPLATE_PREFIX in explicit function - template instantiations. - * sigc++/tests/test_*.cc: - - Include <string> where std::string is used. - - Use double instead of float. - -2003-10-27 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/retype.h.m4: Cleanup. - * TODO: Bring it up to date. - -1.9.11: - -2003-10-26 Martin Schulze <teebaum@cvs.gnome.org> - - * configure.ac: Bump version number to 1.9.11. - * NEWS: Add ChangeLog summary for version 1.9.11. - -2003-10-26 Martin Schulze <teebaum@cvs.gnome.org> - - Compatiblity module: - * sigc++/signal.h.m4: Move definition of compatiblity - classes SigC::SignalN to here. - * sigc++/connection.h: - - Add connection::connected(). - - Add compatibility typedef SigC::Connection. - * sigc++/bind.h, sigc++/bind_return.h, - sigc++/class_slot.h.m4, sigc++/hide.h.m4, - sigc++/method_slot.h.m4, sigc++/object.h, - sigc++/object_slot.h.m4, sigc++/retype.h.m4, - sigc++/retype_return.h sigc++/slot.h.m4, - sigc++/compatibility.h: - New files to complete compatibility module. - Split content of compatibility.h.m4 among the new files. - * sigc++/compatibility.h.m4: Removed. - * Makefile.am: Build and distribute new files. - * tests/test_compatibility.cc: Test new stuff. - - Fixes: - * sigc++/functors/slot.h.m4: Fix copy constructor and - operator=() of slot template. - * sigc++/adaptors/bind.h.m4: Fix deduce_result_type - template specializations. bind<0>() probably compiles - with gcc-3.3, now. - -2003-10-26 Martin Schulze <teebaum@cvs.gnome.org> - - Fixes: - * sigc++/functors/slot.{cc,h.m4}: - - Fix notification process: don't defer detaching of a - slot from all referred trackables during signal emission! - - Size optimization: replace virtual functions from - struct typed_slot_rep with function pointers in slot_rep - (reduces size of a typical typed_slot_rep instantiation - by 30% !!!). - * tests/test_slot.cc: Test sigc::slot more thoroughly. - * sigc++/functors/mem_fun.h.m4: Fix visit_each(). - * sigc++/adaptos/bind_return.h.m4: Add support for - sigc::ref(). - * tests/test_bind_return.cc: Use sigc::ref(). - * sigc++/signal.h.m4: Avoid compiler warning about - uninitialized variable r_ in emit(). - * sigc++/visit_each.h: Cleanup. - - API additions: - * sigc++/adpators/lambda/operators.h.m4: Add - lambda actions sigc::{reinterpret,static,dynamic}_cast_ - to support explicit parameter conversion. - * tests/test_lambda.cc: Test sigc::static_cast_. - * sigc++/adaptors/retype_return.h.m4: New file adding - adaptor retype_return (and hide_return). - * sigc++/Makefile.am: Build and distribute new file. - * tests/test_retype_return.cc: New file testing - adaptor retype_return (and hide_return). - * tests/Makefile.am: Build and distribute new test case. - -2003-10-25 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/visit_each.h: Remove disturbing - limit_derived_target<>::operator() overloads. - * sigc++/adaptors/bind.h.m4: Add support for sigc::ref(). - * tests/test_bind.cc: Test sigc::ref(). - * sigc++/adaptors/lambda/{operator,group,base}.h.m4: - - Move support for sigc::ref() from lambda_core<> into - lambda operator and lambda group creator functions. - - Add missing visit_each() overload for lambda<> template. - * tests/test_lambda.cc: Test auto-disconnection. - TODO: Fix a strange bug that leads to "Bus error" - during auto-disconnection. - -1.9.10: - -2003-10-23 Martin Schulze <teebaum@cvs.gnome.org> - - * configure.ac: Bump version number to 1.9.10. - * NEWS: Add ChangeLog summary for version 1.9.10. - -2003-10-23 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/functors/{functor_trait,slot}.h.m4: - Move definition of struct nil into functor_trait.h. - -2003-10-23 Martin Schulze <teebaum@cvs.gnome.org> - - * configure.ac: Disable typeof() compiler checks. - * sigc++/adaptors/bind.h.m4: Remove unnecessary - deduce_result_type<> template specializations. - -2003-10-20 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/adaptors/compose.h.m4: - Correct order of typedefs for good. (Patch from Jeff Franks.) - -1.9.9: - -2003-10-20 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/connection.h: Add constructor that takes - a sigc::slot_base& to support 3rd-party slot lists - like they are used in glibmm/gtkmm. - * sigc++/functors/slot.h.m4: Make sigc::slot::call_type public. - (Fixes compile problems reported by Jeff Franks.) - * sig++/type_traits.h: Don't use long long in - sigc::is_base_and_derived. - (Fixes compile problems reported by Jeff Franks.) - * sigc++/adaptors/{bind,compose,hide,exception_catch}.h.m4: - Correct order of typedefs. (Repoted by Jeff Franks.) - * configure.ac: Bump version number to 1.9.9. - * NEWS: Add ChangeLog summary for version 1.9.9. - -1.9.8: - -2003-10-19 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/functors/slot.h.m4: Define doxygen group functors. - * configure.ac: Bump version number to 1.9.8. - * NEWS: Add ChangeLog summary for version 1.9.8. - -2003-10-19 Martin Schulze <teebaum@cvs.gnome.org> - - * NEWS: Add announces of versions 1.9.6 and 1.9.7. - * sigc++/compatibility.h.m4: New file. Defines namespace SigC. - namespace SigC should be API compatible to libsigc++-1.2. - * sigc++/Makefile.am: Build compatibility.h. - * tests/test_compatibility.cc, tests/Makefile.am: - Add test case for compatibility module. - * docs/index.html: Change group names. - * sigc++/sigc++.h: Include connection.h. - * sigc++/connection.{cc,h}: - - Rename dependency to destroy_notify_callback. - - Change parameter name in set_slot() from d to data. - - Fix operator=(): Add "return *this;" - - Get rid of namespace functor. - - Corrections in documentation. - * sigc++/signal.{cc,h.m4}: - - Add reference counter to signal_impl. Replaces "bool destroy_". - - Move signal_base, slot_iterator[_buf], slot_list out of - namespace internal. They are part of the public API. - - Add convenience function signal#::make_slot(). - - Get rid of namespace functor. - - Corrections in documentation. - * sigc++/trackable.{cc,h}: - - Rename dependency to destroy_notify_callback. - - Rename trackable::clear() to trackable::notify_callbacks(). - - Corrections in documentation. - * sigc++/type_traits.h: Add documentation. - * sigc++/visit_each.h: - - Get rid of namespace functor. - - Add documentation. - * sigc++/adaptors[/lambda]/*: Get rid of namespace functor. - * sigc++/functors/{functor_trait.h,ptr_fun.h.m4,mem_fun.h.m4}: - - Get rid of namespace functor. - - Corrections in documentation / add documentation. - * sigc++/functors/slot.{cc,h.m4}: - - Move slot_base out of namespace internal. It's public API. - - Get rid of one-letter-parameter-names. - - Get rid of namespace functor. - - Corrections in documentation. - * tests/*.cc: Get rid of "using namespace ...". - -2003-09-10 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/adaptors/lambda/{base,operators}.h.m4: - Add subscript ([]) and assign (=) operator. I think there are now - enough operators available to make any future power user happy. - The only one missing is the comma operator and if we added it - the logical consequence would be to also add if(), switch(), do(), - etc. lambda expressions which are really out of place in libsigc++. - * sigc++/type_traits.h: Fix is_base_and_derived<> for const types. - * tests/test_lambda.cc: Test new operators. - -1.9.7: - -2003-09-05 Martin Schulze <teebaum@cvs.gnome.org> - - * configure.ac: Bump version number to 1.9.7. - -2003-09-03 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/adaptors/lambda/operator.h.m4: - - Restructure so that the size of the generated source file stays - reasonable for 34 operators: There are only two lambda templates - lambda_operator and lambda_operator_unary. The action is an additional - template parameter. A small template lambda_action[_unary] is specialized - for all actions. - - Add most operators that boost::lambda supports. Missing operators are - "=", "[]", "," and support for pointer arithmetic. I don't know if it's - worth adding these. In libsigc++, the purpose of lambda operators is to - provide some extra functionality for the group adaptor. - * tests/test_lambda.cc: - Test pre-increment, address and dereference operator. - -2003-08-31 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/reference_wrapper.h, sigc++/type_traits.h, sigc++/Makefile.am: - New file reference_wrapper.h provides ref() to specify that adaptors/lambdas - should take a reference to the object passed into ref() instead of a copy. - * tests/test_lambda.cc: - - Test group() with mem_fun(). - - Use ref() where lambdas should store references to objects. - - Test var() and constant(). - * sigc++/adaptors/lambda/base.h.m4: - - Support ref() in return type deduction. - - Add var() and constant() which create lambdas for usage with lambda operators. - * sigc++/adaptors/lambda/operator.h.m4: - - Fix return type deduction. - - Remove operator{+,-,*,...} overloads added on 2003-08-29. ref() is way cleaner. - * sigc++/adaptors/lambda/group.h.m4, - sigc++/adaptors/bind.h.m4, sigc++/adaptors/compose.h.m4, - sigc++/adaptors/exception_catch.h.m4, sigc++/adaptors/hide.h.m4: - Fix return type deduction. - -2003-08-29 Martin Schulze <teebaum@cvs.gnome.org> - - * tests/test_lambda.cc: Add more tests. - * sigc++/adaptors/lambda/select.h.m4, sigc++/adaptors/lambda/lambda.cc.m4: - Make _1, _2, ... constant. - * sigc++/adaptors/lambda/operator.h.m4: - Add operator{+,-,*,...} overloads to distinguish between const and non-const objects. - Store references to non-const objects rather than copies. - This allows expressions like e.g. std::cout << _1. - * sigc++/adaptors/lambda/base.h.m4, sigc++/adaptors/lambda/group.h.m4: - Remove void specializations. Functors returning void are tested and work fine. - -2003-08-27 Martin Schulze <teebaum@cvs.gnome.org> - - * tests/test_callof.cc, tests/test_deduce_result_type.cc: - Rename, correct and improve this test case. - * tests/Makefile.am: Build and run test_deduce_result_type - instead of test_callof. - -2003-08-27 Martin Schulze <teebaum@cvs.gnome.org> - - * Update TODO. - -2003-08-27 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/adaptors/hide.h.m4: Remove usage of callof_ignore_arg<>. - * sigc++/callof.h.m4, sigc++/adaptors/deduce_result_type.h.m4, - sigc++/functors/functor_trait.h.m4: - Remove the first and move deduce_result_type templates from - functor_trait.h.m4 into new file deduce_result_type.h.m4. - * sigc++/Makefile.am, sigc++/sigc++.h, sigc++/adaptors/adaptor_trait.h.m4: - Build and include sigc++/adaptors/deduce_result_type.h instead of callof.h. - * sigc++/functors/slot.h.m4: Document struct nil. - -2003-08-24 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/functors/functor_trait.h.m4: Simplify usage of convenience - macro SIGC_FUNCTORS_HAVE_RESULT_TYPE: - namespace sigc{ namespace functor{ SIGC_FUNCTORS_HAVE_RESULT_TYPE }} - -2003-08-24 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/functors/functor_trait.h,m4, sigc++/adaptors[/lambda]/*.h.m4: - Merge adaptor return type deduction and typeof() into - sigc::functor::deduce_result_type. Use it for all adaptors. - * tests/test_compose.cc: Only test multi-type get-functor if - typeof() if supported. - -2003-08-24 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/adaptors[/lambda]/*.h.m4: - - Remove unnecessary void specializations. In fact, only the one - for sigc::functor::exception_catch<> is needed and I don't really - understand why. For the lambda stuff the void specializatoins are - just commented out at the moment. - - Make typeof() optional. Surprisingly, I got the lambda stuff working - without typeof()! The test suite doesn't catch all cases yet, so maybe - some thing are still not working. - TODO: Implement configure check. - * tests/test_bind.cc, tests/test_compose.cc tests/test_exception_catch.cc, - tests/test_hide.cc, tests/test_lambda.cc: - Only test multiple functor return types if typeof() is supported. - -2003-08-06 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/trackable.{cc,h}: Add function trackable::clear(). - -2003-06-24 Andreas Rottmann <rottmann@users.sourceforge.net> - - * TODO: Minor tweaks. - -2003-06-23 Andreas Rottmann <rottmann@users.sourceforge.net> - - * docs/reference/Doxyfile.in: Use these variables. - * docs/reference/Makefile.am (html/index.html): Provide doxygen - with SRCDIR and TOP_SRCDIR environment variables. - - * sigc++/functors/slot.h.m4: Make slot::call_type typedef public; - this fixes a g++ 3.3 error in signal.h. - - * sigc++/signal.h.m4: Make the signal::accumulated class public; - this fixes a g++ 3.3 error in test_accumulated.cc. - -2003-06-15 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/functor/slot.h.m4: Correct typing error in docs. - * sigc++/functor/ptr_fun.h.m4: Document the whole thing. - -2003-05-31 Murray Cumming <murrayc@usa.net> - - * Reference documentation: Rearranged the groups to make it all - a bit more like the libsigc++ 1.2 reference documentation. - Corrected some spelling and grammar too. - This needs a lot of work. The text is very hard to read and it's - generally not appropriate for a user of the code who doesn't - care about the internals. But it's not impossible - our examples - should show us what we need to say in the documentation. - We probably need some more groups for the extra stuff, like we do - in libsigc++ 1.2. - -2003-05-29 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/signal.h.m4: Fix documentation. - * sigc++/connection.h, sigc++/functor/slot.h.m4: - Document the whole thing. - -2003-05-29 Martin Schulze <teebaum@cvs.gnome.org> - - * sigc++/signal.h.m4: - - Remove bogus operator() from unnumbered signal<> and - signal<>::accumulated templates. - - Document the whole thing. - - * docs/index.html: Fix some links. - -2003-04-06 Martin Schulze <MHL.Schulze@t-online.de> - - * TODO, configure.ac, Makefile.am, docs/*: - Add Doxygen framework. - -2003-04-06 Martin Schulze <MHL.Schulze@t-online.de> - - * sigc++/callof.h.m4, sigc++/adaptors/*, tests/test_callof.cc: - Move sigc::callof<> to sigc::functor::internal::callof<>. - - * sigc++/functors/mem_fun.h.m4, tests/test_mem_fun.cc: - Add new types [bound_][const_]volatile_mem_functor, visit_each() - and mem_fun() overloads for volatile qualifier. - Add ctor overloads in bound_*mem_functor and mem_fun() overloads - that take reference instead of pointer. - -2003-03-26 Martin Schulze <MHL.Schulze@t-online.de> - - * Change "closure" to "slot" throughout sigc++2 (file names, - class names, member variables, documentation, etc.). - -2003-03-26 Martin Schulze <MHL.Schulze@t-online.de> - - * TODO: Rewrite to reflect recent changes as well as recent discussions. - -2003-03-24 Martin Schulze <MHL.Schulze@t-online.de> - - * sigc++/adaptors/bind_return.h.m4: Make the adaptor's data member - public so that visit_each() can access it. - - * sigc++/adaptors/lambda/*.h.m4: More fixes. Add a note about - malfunctioning typeof() (probably compiler bug in gcc-3.2). - - * tests/*.cc: Test references. Fix compose equivalent in test_lambda. - -2003-03-24 Martin Schulze <MHL.Schulze@t-online.de> - - * sigc++/Makefile.am, sigc++/functors/functor_trait.h[.m4], - sigc++/adaptors/adaptor_trait.h.m4: Move detection of function - and member method pointers' return types from adaptor_trait into - functor_trait. (We'll use functor_trait rather than adaptor_trait for - our lambda stuff.) functor_trait.h needs to be generated from .m4 now. - - * sigc++/functors/functor_trait.h.m4: Add convenience macros: - - SIGC_FUNCTORS_HAVE_RESULT_TYPE indicates that the existance of - T_functor::result_type should be assumed for all unknown functors. - - SIGC_FUNCTOR_TRAIT(T_functor, T_result) explicitly specifies the - result type of a functor. - ("typename functor_trait<T_functor>::result_type") is used to - determine the return type of our adaptors' operator()() overloads. - - * sigc++/adaptors/[lambda/]*.h.m4: Various fixes in visit_each() and - operator()() overloads to make these operator()() overloads usable. - Most of them were just commented out before. Some adaptor types also - have void specializations, now. - - * sigc++/adaptors/lambda/group.h.m4: Change syntax from - "[some_functor] % grp([args])" to "group([some_functor], [args])" - like we agreed on the ml some time ago. - - * sigc++/tests/test_[all adaptors].cc: Test stuff that didn't work - before. - -2003-03-22 Murray Cumming <murrayc@usa.net> - - * Added pgk-config file, from a mystery person in bug #108857 - -2003-03-22 Martin Schulze <MHL.Schulze@t-online.de> - - * tests/test_bind.cc: Test and show how to use functor_trait - for user defined or 3rd-party functors so that a - bind<0>([functor],[arg1])() call with no arguments can return a value. - -2003-03-20 Martin Schulze <MHL.Schulze@t-online.de> - - * sigc++/callof.h.m4: Add explanations. Comment in / create templates - callof_safe[#]. Unfortunately they don't work for functors with overloaded - operator() so we don't use it for now. At least everything is documented. - - * sigc++/functors/functor_trait.h, sigc++/functors/*.h.m4: Add back - functor_base compiler hint. We're using it now in adaptor_functor<>. - - * sigc++/adaptors/{adaptor_trait,bind}.h.m4: Make operator() overloads - with no arguments return the result of the functor invocation. - Fix multiple bind<0>(). - * tests/test_bind.cc: Test the stuff that's working now. - -2003-03-16 Murray Cumming <murrayc@usa.net> - - * Added sigc++/sigc++.h, like in libsigc++ 1.2 - * examples: Added member_method example, which uses a class method - and which demonstrates disconnection. - -1.9.6: - -2003-03-11 Andreas Rottmann <rottmann@users.sourceforge.net> - - * sigc++/Makefile.am: Use substitution references instead of - $(patsubst). Is shorter and fixes the strange-dirs-in-dist-tarball - bug. - -2003-03-09 Martin Schulze <MHL.Schulze@t-online.de> - - * sigc++/connection.h: Add block() capability. - -2003-03-09 Martin Schulze <MHL.Schulze@t-online.de> - - * sigc++/signal.{cc,h.m4}: Add flag signal_impl::destroy_ - and function signal_impl::destroy(). Use them to defer - the destruction of the signal_impl object during signal - emission. - - * tests/test_disconnect.cc: Add tests for the connection - class and for deleting signals during emission. - -2003-03-09 Martin Schulze <MHL.Schulze@t-online.de> - - * sigc++/connection.{cc,h}, sigc++/Makefile.am: - - New files that add a connection class. Objects of this - class are constructed from closure list iterators and can - be used to disconnect the refered closure. As opposed to - iterators they stay valid beyond the lifetime of the closure. - -2003-03-09 Martin Schulze <MHL.Schulze@t-online.de> - - * sigc++/functors/closure.{cc,h.m4}, sigc++/signal.cc: - - Rename closure_{base,rep}::[set_]dependency_ -> [set_]parent_. - - Make closure_rep inherit trackable. This allows for - connection objects that stay valid beyond the life time - of the refered closure. - - Make some one-line-functions inline again. - -2003-03-08 Martin Schulze <MHL.Schulze@t-online.de> - - * sigc++/trackable.cc: BUGFIX in trackable_dep_list::clear() - -2003-03-08 Andreas Rottmann <rottmann@users.sourceforge.net> - - * sigc++/Makefile.am: Rewritten so we can build lambda cleanly. - * sigc++/Makefile.am_fragment: Removed. - - * sigc++/functors/Makfile.am: Removed. - * sigc++/adaptors/Makefile.am: Removed. - * sigc++/adaptors/lambda/Makefile.am: Removed. - * configure.ac (AC_OUTPUT): Remove the above Makefiles. - - * tests/Makefile.am: Re-included lambda test. - -2003-03-07 Martin Schulze <MHL.Schulze@t-online.de> - - * sigc++/signal.{cc,h.m4}: - - signal_emit#<>: New templates replacing signal#<>::caller. - The purpose of these templates is implementing the emit - function and optimizing signal emission for the case that - no accumulator is used via template specializations. - - default_accumulator<>: Removed. The default for T_accumulator - in signal#<> now is nil. An example how to use accumulators - is available in tests/test_accumulator.cc. - - signal_{base,impl}: Move the implementation of signal_base's - interface to signal_impl. An object of this class is - dynamically allocated when first connecting a closure to - the signal. This drastically reduces the size of empty signals - and allows for future addition of a reference counter to make - it safe to delete a signal during emission. - - Directly work on closure_rep during signal emission. This - seems to be quicker than using the closure templates. - - Document the classes. Restructure the header file a bit. - - * sigc++/functors/closure.h.m4: Make closure_base::rep_ data - member public, so that signal emission can directly work on it. - - * tests/test_size.cc: Add an entry for signal_impl. - -2003-03-07 Martin Schulze <MHL.Schulze@t-online.de> - - * sigc++/functors/closure.{cc,h.m4}: - - closure_base: BUGFIXES in ~closure_base() and operator=(). - - Mark some functions with the inline keyword. This seems to - help gcc 3.2 to optimize signal emission and (dis)connection. - - Document the classes. Restructure the header file a bit. - -2003-03-07 Martin Schulze <MHL.Schulze@t-online.de> - - * sigc++/trackable.{cc,h}: Make trackable allocate a - trackable_dep_list object dynamically when adding the first - dependency. (This reduces the size of objects, that are not - refered by a closure by 4 bytes (50%) and increases the size - of objects that are refered by a closure by 4 bytes (50%) - on a 32 bit architecture => This reduces total memory use - when >50% of the trackables are not refered by a closure.) - Document the classes. - -2003-03-05 Martin Schulze <MHL.Schulze@t-online.de> - - * tests/Makefile.am, tests/test_size.cc, tests/test_accumulated.cc: - Add two test cases. test_size is showing the size of public and - internal structures. (Which apart from empty signals are smaller - than the sizes of the equivalent libsigc++-1.2 structures.) - test_accumulated is a test for the template signal<>::accumulated<> - at the same time showing the use of accumulators in libsigc++2. - - * Offtopic: My note about binary sizes from 2003-02-10 is wrong. - Stripped libsigc++2 test binaries are about 8-10k in size. - -2003-03-05 Martin Schulze <MHL.Schulze@t-online.de> - - * sigc++/visit_each.h: BUGFIX in template specialization - limit_derive_target<T_Target*,T_action>::with_type<false,T_type>: - Add non-const overloads for static void execute_() avoiding - compile time errors. - -2003-02-16 Martin Schulze <MHL.Schulze@t-online.de> - - * tests/Makefile.am, tests/test_disconnect.cc: - Add testcase with a mixed connection & disconnection sequence. - -2003-02-16 Martin Schulze <MHL.Schulze@t-online.de> - - * sigc++/signal.cc: Bugfix in signal_base::insert(): - Set notification function in the newly created copy of - slot_ rather than in slot_ itself. - -2003-02-10 Martin Schulze <MHL.Schulze@t-online.de> - - * sigc++/signal.h.m4: Comment in typedefs for iterator types in - the signal#<> class template. Make signal#<>::connect() return an - iterator for convenience. - (Note that the first change increases the binary size of - tests/test_signal from 201k to 204k, the second change to 206k.) - -2003-01-23 Murray Cumming <murrayc@usa.net> - - * sigc++/adaptors/lambda is disable temporarily (not built and - not distributed) because it gets built before its parent - directory, but #includes generated sources in the parent directory. - -2003-01-22 Murray Cumming <murrayc@usa.net> - - * Added Andreas Rottman's example. - -2003-01-22 Murray Cumming <murrayc@usa.net> - - * Applied Andreas Rottman's make dist fixes. - -2003-01-14 Murray Cumming <murrayc@usa.net> - - * Added whitespace to make the code more readable. +The ChangeLog is auto-generated when releasing. If you +are seeing this, use 'git log' for a detailed list of changes. diff --git a/ChangeLog.pre-2-3-1 b/ChangeLog.pre-2-3-1 new file mode 100644 index 0000000..5cdd5f4 --- /dev/null +++ b/ChangeLog.pre-2-3-1 @@ -0,0 +1,2759 @@ +2.3.1: + +2012-10-18 Murray Cumming <murrayc@murray.com> + + Update the Doxyfile.in syntax. + + * docs/reference/Doxyfile.in: By running doxygen -u + on it. + +2012-10-17 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> + + Add some missing newin{}. + + * docs/reference/Doxyfile.in: Add ALIASES newin. + * sigc++/functors/macros/functor_trait.h.m4: Add newin{2,2,11} to + SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE. + * sigc++/signal_base.h: Add newin{2,4} to signal_impl::blocked(), block() and + signal_base::blocked(), block(), unblock(). Bug #153780. + +2012-10-12 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> + + signal_base: Add blocked(), block(), unblock(). + + * sigc++/signal_base.[h|cc]: Add signal_impl::blocked(), block() and + signal_base::blocked(), block(), unblock(). Bug #153780. + +2.2.11: + +2012-09-20 Andris Pavenis <andris.pavenis@iki.fi> + + Fix comma operator in lambda expressions. + + * sigc++/adaptors/lambda/macros/operator.h.m4: Add lambda_action<> + specialization for comma operator (operator,()). + * tests/test_cpp11_lambda.cc: + * tests/test_lambda.cc: Add a test case for the comma operator. Bug #342911. + +2012-09-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> + + Add SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE. + + * sigc++/adaptors/lambda/macros/base.h.m4: + * sigc++/adaptors/lambda/macros/group.h.m4: + * sigc++/functors/macros/functor_trait.h.m4: + * tests/test_cpp11_lambda.cc: Replace the preprocessor macro + SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH(C_keyword) with + SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE. Bug #672555. + +2012-09-10 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> + + Use std::size_t and std::ptrdiff_t. + + * sigc++/macros/signal.h.m4: Use std::size_t and std::ptrdiff_t instead + of ::size_t and ::ptrdiff_t. Only the std versions are required to be + declared in <cstddef>. + * sigc++/signal_base.h: Use std::size_t instead of ::size_t. (I did not change + MSVC++-only code in this file and other files.) + +2012-09-07 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> + + Fix 'make check' with gcc 4.7. + + * sigc++/adaptors/lambda/macros/base.h.m4: Define sigc::unwrap_lambda_value() + before it's used in sigc::lambda::operator[]() and operator=(). + * sigc++/adaptors/lambda/macros/group.h.m4: Fix the C++11 examples in the + documentation as in test_cpp11_lambda.cc. + * tests/test_cpp11_lambda.cc: Only variables with automatic storage duration + shall be captured in C++11 lambda expressions. + +2012-08-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> + + Update .gitignore and tests/.gitignore + + * .gitignore: Add *~ (gedit's backup files). + * tests/.gitignore: Add missing executable test files. + +2012-08-28 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> + + Add SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH for C++11 lambda expressions. + + * sigc++/functors/macros/functor_trait.h.m4: Add the preprocessor macro + SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH(C_keyword), which makes it possible to + assign C++11 lambda expressions with any return type to slots. + Thanks to Chow Loong Jin, who posted similar code on libsigc-list. + * sigc++/adaptors/lambda/macros/base.h.m4: + * sigc++/adaptors/lambda/macros/group.h.m4: Add information on C++11 lambda + expressions to the documentation of lambda expressions and sigc::group(). + * tests/Makefile.am: Add test_cpp11_lambda.cc. + * tests/test_cpp11_lambda.cc: New test case, showing that most uses of + libsigc++'s lambda expressions can be replaced by standard C++11 lambda + expressions. Bug #672555. + +2012-03-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> + + Enable test_lambda in 'make check'. + + * tests/Makefile.am: Enable test_lambda in 'make check'. + * tests/test_lambda.cc: Comment out the tests with sigc::ref() in lambda + functions' parameter lists. See Bug #669128. + +2.2.10: + +2011-07-21 Thomas Rydzynski <qsorix@rydznet.pl> + + Mention visit_each() in the documentation of sigc::adapts. + + * sigc++/adaptors/macros/adaptor_trait.h.m4: Mention that a user-supplied + adaptor must be accompanied by a specialization of template function + visit_each(). Correct some minor errors in the example of a user-supplied + adaptor. Bug #486373. + +2011-07-19 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> + + Add a test case for the previous commit. + + * tests/Makefile.am: + * tests/test_bind_refptr.cc: A version of this test is also in glibmm. + Note that this includes a copy/paste of RefPtr. + See Bug #564005#14 (Alexander Shaduri) + +2011-07-14 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> + + slot_rep: Avoid access to deleted object in notify(). + + * sigc++/functors/slot_base.cc: slot_rep::notify() calls disconnect() before + destroy(). If disconnect() has deleted the slot_rep object, destroy() is not + called. Bug #564005. + +2.2.9: + +2011-02-22 Kjell Ahlstedt <kjell.ahlstedt@bredband.net> + + trackable: Avoid calling the same callback function twice + + * sigc++/trackable.cc: Invalidate a callback function entry in + trackable_callback_list::remove_callback() when the list is being cleared. + Bug 589202. + +2011-02-04 Kalev Lember <kalev@smartlink.ee> + + Fix the build with GCC 4.6 + + * sigc++/signal_base.h: Include <cstddef> for size_t. + +2010-10-12 David King <davidk@openismus.com> + + Documentation changes + + * *.h.m4: Minor changes to documentation to fix up code example + formatting, by removing the additional two spaces of indentation. + Additionally, fix some spelling and grammar mistakes and typos. + +2010-09-27 Armin Burgmeier <armin@arbur.net> + + * MSVC_Net2005/libsigc++2.sln: + * MSVC_Net2005/libsigc++2.vcproj: + * MSVC_Net2005/tests/test_accumulated/test_accumulated.vcproj: + * MSVC_Net2005/tests/test_bind/test_bind.vcproj: + * MSVC_Net2005/tests/test_bind_return/test_bind_return.vcproj: + * MSVC_Net2005/tests/test_compose/test_compose.vcproj: + * MSVC_Net2005/tests/test_deduce_result_type/test_deduce_result_type.vcproj: + * MSVC_Net2005/tests/test_disconnect/test_disconnect.vcproj: + * MSVC_Net2005/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj: + * MSVC_Net2005/tests/test_exception_catch/test_exception_catch.vcproj: + * MSVC_Net2005/tests/test_functor_trait/test_functor_trait.vcproj: + * MSVC_Net2005/tests/test_hide/test_hide.vcproj: + * MSVC_Net2005/tests/test_mem_fun/test_mem_fun.vcproj: + * MSVC_Net2005/tests/test_ptr_fun/test_ptr_fun.vcproj: + * MSVC_Net2005/tests/test_retype/test_retype.vcproj: + * MSVC_Net2005/tests/test_retype_return/test_retype_return.vcproj: + * MSVC_Net2005/tests/test_signal/test_signal.vcproj: + * MSVC_Net2005/tests/test_size/test_size.vcproj: + * MSVC_Net2005/tests/test_slot/test_slot.vcproj: + * MSVC_Net2005/tests/test_trackable/test_trackable.vcproj: + * MSVC_Net2008/libsigc++2.sln: + * MSVC_Net2008/libsigc++2.vcproj: + * MSVC_Net2008/tests/test_accumulated/test_accumulated.vcproj: + * MSVC_Net2008/tests/test_bind/test_bind.vcproj: + * MSVC_Net2008/tests/test_bind_return/test_bind_return.vcproj: + * MSVC_Net2008/tests/test_compose/test_compose.vcproj: + * MSVC_Net2008/tests/test_deduce_result_type/test_deduce_result_type.vcproj: + * MSVC_Net2008/tests/test_disconnect/test_disconnect.vcproj: + * MSVC_Net2008/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj: + * MSVC_Net2008/tests/test_exception_catch/test_exception_catch.vcproj: + * MSVC_Net2008/tests/test_functor_trait/test_functor_trait.vcproj: + * MSVC_Net2008/tests/test_hide/test_hide.vcproj: + * MSVC_Net2008/tests/test_mem_fun/test_mem_fun.vcproj: + * MSVC_Net2008/tests/test_ptr_fun/test_ptr_fun.vcproj: + * MSVC_Net2008/tests/test_retype/test_retype.vcproj: + * MSVC_Net2008/tests/test_retype_return/test_retype_return.vcproj: + * MSVC_Net2008/tests/test_signal/test_signal.vcproj: + * MSVC_Net2008/tests/test_size/test_size.vcproj: + * MSVC_Net2008/tests/test_slot/test_slot.vcproj: + * MSVC_Net2008/tests/test_trackable/test_trackable.vcproj: + * MSVC_Net2010/libsigc++2.vcxproj: + * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj: + * MSVC_Net2010/tests/test_bind/test_bind.vcxproj: + * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj: + * MSVC_Net2010/tests/test_compose/test_compose.vcxproj: + * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj: + * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj: + * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj: + * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj: + * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj: + * MSVC_Net2010/tests/test_hide/test_hide.vcxproj: + * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj: + * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj: + * MSVC_Net2010/tests/test_retype/test_retype.vcxproj: + * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj: + * MSVC_Net2010/tests/test_signal/test_signal.vcxproj: + * MSVC_Net2010/tests/test_size/test_size.vcxproj: + * MSVC_Net2010/tests/test_slot/test_slot.vcxproj: + * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj: Add 64 + bit support to MSVC project files. + +2010-09-27 Armin Burgmeier <armin@arbur.net> + + * MSVC_Net2005/libsigc++2.sln: + * MSVC_Net2005/tests/test_accumulated/test_accumulated.vcproj: + * MSVC_Net2008/libsigc++2.sln: + * MSVC_Net2008/tests/test_accumulated/test_accumulated.vcproj: Add + test_accumulated to the MSVC projects. + +2010-09-19 Armin Burgmeier <armin@arbur.net> + + * MSVC_Net2010/filelist.am: + * MSVC_Net2010/libsigc++2.sln: + * MSVC_Net2010/libsigc++2.vcxproj: + * MSVC_Net2010/libsigc++2.vcxproj.filters: + * MSVC_Net2010/sigc.rc.in: + * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj: + * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj.filters: + * MSVC_Net2010/tests/test_bind/test_bind.vcxproj: + * MSVC_Net2010/tests/test_bind/test_bind.vcxproj.filters: + * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj: + * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj.filters: + * MSVC_Net2010/tests/test_compose/test_compose.vcxproj: + * MSVC_Net2010/tests/test_compose/test_compose.vcxproj.filters: + * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj: + * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj.filters: + * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj: + * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj.filters: + * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj: + * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj.filters: + * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj: + * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj.filters: + * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj: + * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj.filters: + * MSVC_Net2010/tests/test_hide/test_hide.vcxproj: + * MSVC_Net2010/tests/test_hide/test_hide.vcxproj.filters: + * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj: + * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj.filters: + * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj: + * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj.filters: + * MSVC_Net2010/tests/test_retype/test_retype.vcxproj: + * MSVC_Net2010/tests/test_retype/test_retype.vcxproj.filters: + * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj: + * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj.filters: + * MSVC_Net2010/tests/test_signal/test_signal.vcxproj: + * MSVC_Net2010/tests/test_signal/test_signal.vcxproj.filters: + * MSVC_Net2010/tests/test_size/test_size.vcxproj: + * MSVC_Net2010/tests/test_size/test_size.vcxproj.filters: + * MSVC_Net2010/tests/test_slot/test_slot.vcxproj: + * MSVC_Net2010/tests/test_slot/test_slot.vcxproj.filters: + * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj: + * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj.filters: + + * Makefile.am: + * configure.ac: Added project files for Visual Studio 2010. + +2010-06-05 David King <davidk@openismus.com> + + Small website updates + + * docs/index.html: Remove broken namespace links. + * docs/website/doc.shtml: Link to library.gnome.org tutorial and API + reference. + +2.2.8: + +2010-06-04 Murray Cumming <murrayc@murrayc.com> + + Manual: Add an id="index" attribute in case that helps library.gnome.org. + + * docs/manual/libsigc_manual.xml: Add it to the <book> tag. + +2.2.7: + +2010-05-04 Murray Cumming <murrayc@murrayc.com> + + Documentation improvements. + + * docs/manual/libsigc_manual.xml: Remove Marshallers section because + it is apparently outdated and there is no example code to test it. + This fixes bug #417924 (Michael Ekstrand) + * sigc++/sigc++.h: Main page text: Rearranged slightly. + +2010-04-27 David King <davidk@openismus.com> + + Improvements to main page documentation + + * sigc++/sigc++.h: Minor improvements. + +2010-04-23 David King <davidk@openismus.com> + + Add main page to Doxygen documentation + + * docs/Makefile.am: Parse sigc++/sigc++.h for documentation. + * sigc++/sigc++.h: Add main page to Doxygen documentation. + +2010-04-23 David King <davidk@openismus.com> + + Fix the functors Doxygen group in the m4 files + + * sigc++/functors/macros/functor_trait.h.m4: + * sigc++/functors/macros/mem_fun.h.m4: + * sigc++/functors/macros/ptr_fun.h.m4: Rename functors to + sigcfunctors. + +2.2.6: + +2010-04-16 Murray Cumming <murrayc@murrayc-desktop> + + Docs: Fix the functors group and the link from the overview. + + * docs/website/doc.shtml: Revert this to point to the overview page at + docs/indeex.html, which I have manually uploaded to the website, until + we add this overview to the doxygen-generated documentation itself. + * sigc++/functors/slot_base.h: + * sigc++/visit_each.h: Rename the functors doxygen group to sigcfunctors, + because doxygen seems to confuse it with the one in libstdc++. + * docs/index.html: Update the links. + +2010-04-16 Murray Cumming <murrayc@murrayc.com> + + Website: Fix the Makefile so upload works with sourceforge again. + +2010-04-06 Murray Cumming <murrayc@murrayc.com> + + Website: Update the reference API link. + + * docs/website/doc.shtml: Update the reference API link to use + library.gnome.org. We should make sure that the tutorial docbook is there + too. + * docs/website/devel.shtml: Remove CVS-specific instructions, quickly + mentioning the git module instead. + However, the Makefile must be updated to cope with sourceforge's changes. + I was not able to upload this yet. + +2.2.5: + +2010-01-05 Daniel Elstner <daniel.kitta@gmail.com> + + Use non-blurry font for dot graph labels + + * docs/reference/Doxyfile.in (SHOW_INCLUDE_FILES): Enable. + (SHOW_USED_FILES): Disable. + (DOT_FONTNAME): Change from FreeSans to Sans, as the hinting for the + former appears to be rather bad. + (TEMPLATE_RELATIONS): Disable to reduce noise. + +2009-12-29 Krzysztof Kosiński <tweenk.pl@gmail.com> + + Accumulators: Allow return types that are different to the signal's. + + * sigc++/macros/signal.h.m4: signal_emit*: Correct the slot_iterator_buf_type + and slot_reverse_iterator_buf_type typedefs to allow accumulators with + return types that are different to the signal's return type. + * tests/Makefile.am: Reenable test_accumulated, so we can test the fix. + It should be manually disabled if building on AIX (if the AIX problem cannot + be fixed properly). + * tests/test_accumulated.cc: Add an accumulator with a return type that is + different to the signal's return type. In this case it's a vector listing + all results. + Bug #586436. + +2009-12-27 Daniel Elstner <daniel.kitta@gmail.com> + + Disable collaboration graphs in documentation + + * docs/reference/Doxyfile.in (CLASS_DIAGRAMS): Enable. Contrary to + what the Doxygen documentation says, no dot class inheritance graphs + will be generated if both CLASS_DIAGRAMS and COLLABORATION_GRAPH are + set to NO. + (COLLABORATION_GRAPH), (GROUP_GRAPHS): Turn off additional graphs to + reduce the noise. + +2009-10-26 Armin Burgmeier <armin@arbur.net> + + * sigc++config.h: Move the first five definitions to the !SIGC_MSC + ifdef block, so MSVC does not see them and only uses the definitions + from the SIGC_MSC block. This fixes the build with MSVC. + +2009-09-19 Daniel Elstner <daniel.kitta@gmail.com> + + Support Automake silent rules + + * configure.ac: Call the AM_SILENT_RULES macro if it is defined. + * docs/doc-manual.am, sigc++/Makefile.am: Prefix the commands of + custom rules with $(AM_V_GEN) or $(AM_V_at) in order to support + the silent rules feature of Automake. + +2009-09-17 Michael Hasselmann <michaelh@openismus.com> + + Documentation cleanup: sigc::hide() always only hides one signal argument + + * sigc++/adaptors/macros/hide.h.m4: The documentation stated that sigc::hide() + could discard multiple signal arguments when in fact the whole API only allows + control over one (dummy) signal argument at a time. The "multiple argument + hiding" example lives in it own section now to make it clearer you have to nest + sigc::hide() for that. + +2009-09-13 Daniel Elstner <daniel.kitta@gmail.com> + + Enable verbose output of autoreconf + + * autogen.sh: Pass --verbose option to autoreconf. + +2.2.4.2: + +2009-09-02 Daniel Elstner <danielk@openismus.com> + + Bump version to 2.2.4.2 and update NEWS + + * configure.ac (AC_INIT): Increment version number to 2.2.4.2. + (MM_PREREQ): Require mm-common 0.7.2. + * NEWS: Write news entry for libsigc++ 2.2.4.2. + +2009-09-02 Daniel Elstner <danielk@openismus.com> + + Document namespace sigc briefly + + * sigc++/signal_base.h (sigc): Prepend documentation comment to + provide a brief description of namespace sigc, so that Doxygen + will recognize the namespace as documented. + +2009-08-31 Daniel Elstner <danielk@openismus.com> + + Update Doxygen configuration for Doxygen 1.6.1 + + * docs/reference/Doxyfile.in: Update configuration template using + Doxygen 1.6.1. + (SORT_MEMBERS_CTORS_1ST): Enable. + +2009-08-31 Daniel Elstner <danielk@openismus.com> + + Protect space after comma in M4 output + + * sigc++/macros/template.macros.m4 (_LOOP_SEP): Triple-quote the + list separator in this hairy construct, since the macro definition + itself is not quoted at all and the space after the comma got lost + in the output. This, in turn, produced overlong lines in the HTML + reference documentation. + +2.2.4.1: + +2009-08-28 Daniel Elstner <danielk@openismus.com> + + Update news entry for libsigc++ 2.2.4.1 release + + * NEWS: Update top entry for release 2.2.4.1 of libsigc++. + (2.2.4): Correct spelling of Frédéric Péters' name. + +2009-08-27 Daniel Elstner <danielk@openismus.com> + + Use shared mm-common Doxygen style sheet + + * configure.ac (MM_PREREQ): Require mm-common 0.7. + * docs/Makefile.am (dist_noinst_DATA): List doxygen.css. + * docs/reference/Doxyfile.in (HTML_STYLESHEET): Assign path + to the shared doxygen.css provided by mm-common. + +2009-08-27 Daniel Elstner <danielk@openismus.com> + + Remove header and footer HTML fragments + + * docs/reference/libsigc_{header,footer}.html_fragment: Delete + files. These custom fragments were an unnecessary maintenance + hassle. Also, the files were out of date with respect to the + encoding and CSS classes used by Doxygen. + * docs/reference/Doxyfile.in (HTML_HEADER), (HTML_FOOTER): Set + to the empty string. + (PROJECT_NAME): Substitute @PACKAGE_NAME@. + (PROJECT_NUMBER): Substitute @PACKAGE_VERSION@. It does look + nicer in the generated HTML pages, and is probably also less + confusing. + (SORT_GROUP_NAMES): Enable for predictability. + +2009-08-26 Daniel Elstner <danielk@openismus.com> + + Bump version to 2.2.4.1 and update NEWS + + * configure.ac (AC_INIT): Increment version number to 2.2.4.1. + * NEWS: Write news entry for libsigc++ 2.2.4.1. + +2009-08-26 Daniel Elstner <danielk@openismus.com> + + Reenable hierarchy graphs for each class + + * docs/reference/Doxyfile.in (COLLABORATION_GRAPH): Set option + to YES to enable the per-class inheritance graphs. + +2009-08-25 Daniel Elstner <danielk@openismus.com> + + Have Automake check NEWS and use bzip2 + + * configure.ac (AM_INIT_AUTOMAKE): Add options check-news and + dist-bzip2. + +2009-08-25 Daniel Elstner <danielk@openismus.com> + + Update NEWS for libsigc++ 2.2.4 release + +2009-08-25 Daniel Elstner <danielk@openismus.com> + + Bump version to 2.2.4 and require mm-common 0.6.1 + + * configure.ac (AC_INIT): Increase version number to 2.2.4. + (MM_PREREQ): Require mm-common 0.6.1 for the updated default + location of the reference documentation. + +2009-08-25 Daniel Elstner <danielk@openismus.com> + + Change documentation host to library.gnome.org + + * README, docs/manual/libsigc_manual.xml: Adjust links to the + reference documentation in the text. + * docs/Makefile.am (pubdocbase), (htmlrefpub): Remove override + and use the updated mm-common default values. + * sigc++{,-uninstalled}.pc.in (htmlrefpub): Adjust link. + +2009-08-24 Daniel Elstner <danielk@openismus.com> + + Add id="content" element to documentation index + + * docs/reference/libsigc_header.html_fragment: Start <div> element + with attribute id="content" to match the other C++ binding modules. + * docs/reference/libsigc_footer.html_fragment: Close <div> element. + +2009-08-20 Daniel Elstner <danielk@openismus.com> + + Use new version component substitutions + + * MSVC_Net200[58]/sigc.rc.in: Replace the no longer defined + @FP_*_VERSION@ substitutions by the new @SIGCXX_*_VERSION@ + substitutions for the version number components. These are + defined by MM_INIT_MODULE() from mm-common. + +2009-08-20 Daniel Elstner <danielk@openismus.com> + + Substitute API version in filenames dynamically + + * sigc++.pc.in: Rename file from sigc++-2.0.pc.in. + * sigc++-uninstalled.pc.in: Rename file from + sigc++-2.0-uninstalled.pc.in. + * MSVC_Net200[58]/sigc.rc.in: Rename files from sigc-2.0.rc.in + and use @SIGCXX_API_VERSION@ substitution for the API version. + Also replace @VERSION@ with @PACKAGE_VERSION@. + * MSVC_Net200[58]/libsigc++2.{sln,vcproj}: Remove version from + the project name and filenames. + * MSVC_Net200[58]/filelist.am: Remove version from filenames. + * configure.ac (AC_CONFIG_FILES): Insert ${SIGCXX_MODULE_NAME} + into output filenames and remove the version from the input + filenames. + * Makefile.am: Use $(SIGCXX_MODULE_NAME) in pkg-config file + names instead of hard-coding the API version. + * sigc++/Makefile.am (lib_LTLIBRARIES): Instead of hard-coding + the libtool archive name, substitute @SIGCXX_API_VERSION@ into + it, as well as into the derived variable names. + +2009-08-17 Daniel Elstner <danielk@openismus.com> + + Set libtool version information + + * sigc++/Makefile.am (libsigc_2_0_la_LDFLAGS): Add libtool option + -version-info 0:0:0 to specify the version information explicitly. + +2009-08-16 Daniel Elstner <daniel.kitta@gmail.com> + + Remove unused parameter names for correctness + + * tests/test_copy_invalid_slot.cc, tests/test_custom.cc, + tests/test_deduce_result_type.cc, tests/test_functor_trait.cc, + tests/test_limit_reference.cc: Remove the names of unused function + parameters from the prototype, in order to get libsigc++ to build + with fatal compiler warnings. + +2009-08-16 Daniel Elstner <daniel.kitta@gmail.com> + + Rename scripts/ to build/ for consistency + + * build/: Rename directory from scripts/ for consistency with most + of the other modules that switched to the new build infrastructure. + * Makefile.am (ACLOCAL_AMFLAGS): Adjust M4 include directory. + * README: Adjust a reference to scripts/ in the text. + * configure.ac (AC_CONFIG_AUX_DIR): Copy auxiliary files to build/. + (AC_CONFIG_MACRO_DIR): Place Autoconf M4 files into build/. + * docs/Makefile.am: Include $(top_srcdir)/build/doc-reference.am. + +2009-08-16 Daniel Elstner <danielk@openismus.com> + + Update for latest mm-common 0.4 + + * configure.ac (MM_PREREQ): Require mm-common 0.4. + (MM_INIT_MODULE): Omit now optional version number argument. + (MM_CONFIG_DOCTOOL_DIR): Copy the documentation utilities into docs/ + instead of scripts/. + * Makefile.am (dist_noinst_DATA): Remove documentation utilities. + * sigc++-2.0.pc.in (htmlrefpub): Append trailing slash. + * sigc++-2.0-uninstalled.pc.in (htmlrefpub): ditto, + * docs/Makefile.am (htmlrefpub): ditto. + (doc_input): Perform a VPATH search for each input file, to correctly + handle the case of rebuilding the documentation of a tarball release + which includes the generated sources. + (dist_noinst_DATA): List documentation utilities. + +2009-08-11 Daniel Elstner <danielk@openismus.com> + + Do not recurse into MSVC subdirectories + + * MSVC_Net200[58]/filelist.am: New Automake include files, defining + the lists of files to ship from the MSVC project directories. + * MSVC_Net200[58]/Makefile.am: Delete recursive Makefile.am files. + * Makefile.am: Include MSVC_Net200[58]/filelist.am. + (dist_noinst_DATA): Distribute MSVC project files. + (SUBDIRS): Do not recurse into the MSVC_Net200[58] subdirectories. + * configure.ac (AC_CONFIG_FILES): Remove the output files + MSVC_Net200[58]/Makefile.am from the list. + (AC_CONFIG_COMMANDS): Copy sigc++config.h into the MSVC project + directories at the end of config.status. + +2009-08-11 Daniel Elstner <danielk@openismus.com> + + Remove now superfluous doctool overrides + + * docs/Makefile.am: Remove overrides for the documentation + utilities, since MM_CONFIG_DOCTOOL_DIR() already takes care + of setting MMDOCTOOLDIR to the local directory. + * sigc++-2.0.pc.in (datadir): Substitute value, just in case. + +2009-08-10 Daniel Elstner <danielk@openismus.com> + + Have mm-common-prepare install the doc utils + + * configure.ac: Call MM_CONFIG_DOCTOOL_DIR([scripts]) to set + up the destination directory for mm-common-prepare to copy + the documentation utilities to. + * scripts/doc-install.pl: Delete file. + * scripts/doc-postprocess.pl: ditto, + * scripts/tagfile-to-devhelp2.xsl: ditto. + +2009-08-09 Daniel Elstner <danielk@openismus.com> + + Refresh doc-install and doc-postprocess copies + + * scripts/doc-install.pl, scripts/doc-postprocess.pl: Copy + latest versions from the mm-common module. + * docs/Makefile.am (doc_install), (doc_postprocess): Include + $(PERL) interpreter command in front of the script name. + +2009-08-08 Daniel Elstner <danielk@openismus.com> + + Disable extraction of undocumented identifiers + + * docs/reference/Doxyfile.in (EXTRACT_ALL): Change setting to + NO, and adapt a number of related options accordingly. The + result is a net loss of about 300 generated .html files. The + roughly 450 files which remain now are still an insanely high + number, though. + (PREDEFINED): Predefine the Autoconf configuration defines to + nudge Doxygen towards documenting the canonical code paths. + +2009-08-07 Daniel Elstner <danielk@openismus.com> + + Use #error explicitly instead of broken code + + * sigc++config.h.in: Do use the #error preprocessor directive, + instead of an errornous piece of code. This code does not need + the same level of obfuscation as an Autoconf feature test. + +2009-08-07 Daniel Elstner <danielk@openismus.com> + + Change bug report URL to point to Bugzilla + + * configure.ac (AC_INIT): Change the bug-report argument to the + URL for filing a new libsigc++ bug on bugzilla.gnome.org. Also + name the website URL as fifth argument. It will simply be ignored + if the installed Autoconf does not support this new feature. + +2009-08-07 Daniel Elstner <danielk@openismus.com> + + Do not enable -pedantic mode by default + + * configure.ac (MM_ARG_ENABLE_WARNINGS): Remove -pedantic from the + list of compiler flags to use at warning level "min" (the default). + +2009-08-07 Daniel Elstner <danielk@openismus.com> + + Correct M4 forbidden tokens pattern + + * configure.ac (m4_pattern_forbid): Take into account that the + pattern is applied to tokens, not lines. Also catch unexpanded + calls to underscore-prefixed private macros. + +2009-08-06 Daniel Elstner <danielk@openismus.com> + + Transition to new mm-common build infrastructure + + * autogen.sh: Replace with a minimal script that simply executes + mm-common-prepare, autoreconf and configure. + * configure.ac: Get rid of an enormous amount of old cruft. Use + macros from the new mm-common module to set up Doxygen for building + the documentation. Add option to enable more compiler warnings. + * sigc++-2.0-uninstalled.pc.in: New pkg-config data file to allow + linking to an uninstalled libsigc++. + * sigc++-2.0.pc.in: Modernize. Provide the location of the + installed reference documentation and the Doxygen tag file. + * sigc++config.h.in: Modernize and update for new build + infrastructure. + * Makefile.am, */Makefile.am: Modernize and adapt to the new C++ + binding build infrastructure in the mm-common module. + * sigc++/filelist.am: New Automake include file. Defines lists + of C++ and M4 source files. + * docs/Makefile.am: Rewrite using doc-reference.am from the + mm-common module. + * docs/doc-manual.am: New Automake include file for building the + libsigc++ Docbook manual. + * docs/images/Makefile.am: Remove file. + * docs/manual/Makefile.am: ditto, + * docs/reference/Makefile.am: ditto. + * docs/Makefile_web.am_fragment: Remove for now, to be taken care + of later. + * docs/reference/Doxyfile.in: Modernize and adapt to new build + infrastructure. + * docs/reference/beautify_docs.pl: Remove and use the more recent + scripts/doc-postprocess.pl instead. + * libsigc++-2.0.spec.in: Remove, to be resurrected only if someone + complains. + * scripts/Makefile.am: Remove file. Distribute the files from the + toplevel Makefile.am instead. + * scripts/cxx_std.m4: Add missing third argument to AC_DEFINE(). + * scripts/doc-install.pl: New file, copied from mm-common. + * scripts/doc-postprocess.pl: ditto, + * scripts/tagfile-to-devhelp2.xsl: ditto. + +2008-11-13 Murray Cumming <murrayc@murrayc.com> + + * docs/website/stable.shtml: Correct the download link so it shows all + versions, not just 2.0. + +2.2.3: + +2008-10-08 Armin Burgmeier <armin@arbur.net> + + * MSVN_Net2005/libsigc++2.vcproj: Changed output name to match the new + naming convention. + + * MSVC_Net2008/: Added MSVC 2008 project files. These are basically + the same as for MSVC 2005, but converted to MSVC 2008 projects. + + * configure.ac: + * Makefile.am: Added the new files to the build. + +2008-08-08 Armin Burgmeier <armin@arbur.net> + + * MSVC_Net2005/libsigc++2.sln: Enable the disconnect_during_emit test + by default. + + * MSVC_Net2005/libsigc++2.vcproj: Renamed the generated debug database + file to sigc-2.0d.pdb (the default), to stay consistent with the *mm + wrapper libraries. + +2008-08-08 Armin Burgmeier <armin@arbur.net> + + * MSVC_Net2005/: Moved from MSVC_Net2003. + + * MSVC_Net2005/libsigc++2.sln: + * MSVC_Net2005/libsigc++2.vcproj: + * MSVC_Net2005/tests/*/*.vcproj: Converted the Visual Studio 2003 + project files to 2005 ones. + + * MSVC_Net2005/Makefile.am: + * Makefile.am: + * configure.ac: Adapted build files accordingly. + +2008-04-06 Cedric Gustin <cedric.gustin@gmail.com> + + * MSVC_Net2003/sigc-2.0.rc.in: Removed ATL/MFC header files + dependency as afxres.h is not part of the Microsoft Platform + SDK provided with Visual C++ Express 2008. + Bug #503933. + +2.2.2: + +2008-03-10 Deng Xiyue <manphiz@gmail.com + + * sigc++/macros/slot.h.m4: + Added an include of functors/slot.h that was mistakenly removed + during the 2.1 series, apparently breaking API slightly. + Bug #521418. + +2.2.1: + +2008-02-28 Elaine Xiong <elaine.xiong@sun.com> + + * sigc++/macros/signal.h.m4: + * tests/test_accum_iter.cc: Add ifdefs around uses of + reverse_iterator to really fix the build with recent + versions of Sun CC. + Bug #302098. + +2.2.0: + +2008-01-01 Ryan Hill <dirtyepic@gentoo.> + + * tests/test_copy_invalid_slot.cc: Include the cstdlib + and cstring headers to fix the build with the gcc 4.3 + pre-release. Bug #454882. + +2007-08-31 Murray Cumming <murrayc@murrayc.com> + + * tests/test_copy_invalid_slot.cc: Added some includes to + fix the build in some environments, such as when using Sun CC. + Thanks to Vladimir Marek in bug #469872. + +2.1.1: + +2007-08-14 Murray Cumming <murrayc@murrayc.com> + + * sigc++/Makefile.am: + * sigc++/compatibility.h: Removed this header. + * sigc++/bind.h: + * sigc++/bind_return.h: + * sigc++/connection.h: + * sigc++/macros/class_slot.h.m4: + * sigc++/macros/hide.h.m4: + * sigc++/macros/method_slot.h.m4: + * sigc++/macros/object_slot.h.m4: + * sigc++/macros/retype.h.m4: + * sigc++/macros/signal.h.m4: + * sigc++/macros/slot.h.m4: + * sigc++/object.h: + * sigc++/retype_return.h: Removed deprecated + compatibility API, to probably fix the build with + some compilers, such as some versions of the Sun Forte C++ + CC compiler. Some of these headers are now mostly empty and + should be removed later. + This API has been deprecated April 2004, and + is not widely used, so it seems safe to do this now. + + * tests/Makefile.am: + * tests/test_compatibility.cc: Removed this test. + +2007-07-28 Michael Elkstrand <michael@elehack.net> + + * sigc++/macros/signal.h.m4: slot_iterator_buf, + slot_reverse_iterator_buf: Added typedefs for + value_type, reference, and pointer, so that these + iterators are more like standard C++ iterators, so they can + be used with standard C++ algorithms. + * tests/Makefile.am: + * tests/test_accum_iter.cc: Added a test for this. + Bug #417926. + +2006-11-14 Daniel Elstner <daniel.kitta@gmail.com> + + * autogen.sh: Wholly replace this script with a critter from one + of my personal projects, with slight modifications. This one does + some sophisticated stuff like probing version numbers of available + automake and aclocal executables, in order to choose the right one + accordingly. All this is necessary to make the build system work + robustly in custom environments such as Maemo where automake-1.9 + doesn't come preinstalled. + +2006-06-20 Murray Cumming <murrayc@murrayc.com> + + * sigc++/adaptors/macros/bind.h.m4: + * sigc++/adaptors/macros/retype.h.m4: + * sigc++/functors/macros/functor_trait.h.m4: + * sigc++/functors/macros/slot.h.m4: + * sigc++/macros/retype.h.m4: + * sigc++/macros/signal.h.m4: Revert the previous changes, because none is + used in the exported symbol names from gtkmm, so this would break the ABI + of gtkmm. + +2006-05-26 Régis Duchesne <hpreg@vmware.com> + + * sigc++/adaptors/macros/bind.h.m4: + * sigc++/adaptors/macros/retype.h.m4: + * sigc++/functors/macros/functor_trait.h.m4: + * sigc++/functors/macros/slot.h.m4: + * sigc++/macros/retype.h.m4: + * sigc++/macros/signal.h.m4: + Renamed 'nil' to 'none' to allow an Objective-C++ compiler to compile + the library header files. + +2005-12-21 Murray Cumming <murrayc@murrayc.com> + + * sigc++/macros/signal.h.m4: Make remaining + reverse_iterator_buf operator--() methods + return by reference, like the operator++() methods. + Bug #304402 from John Profic. + +2005-12-20 Murray Cumming <murrayc@murrayc.com> + + * sigc++/macros/signal.h.m4: Make all operator--() methods + return by reference, like the operator++() methods. + Bug #304402 from John Profic. + +2005-12-14 John Profic <profic@kursknet.ru> + + * sigc++/macros/signal.h.m4: Fix compilation problem in + the last patch. + +2005-12-14 John Profic <profic@kursknet.ru> + + * sigc++/macros/signal.h.m4: Added emit_reverse(). + +This is the HEAD branch, for API/ABI-compatible API additions. +See also the libsigc-2-0 branch. + +2005-12-01 Murray Cumming <murrayc@murrayc.com> + + * sigc++/functors/slot_base.cc: + slot_base::disconnect(): Set call_ to 0, + to invalidate the slot, even if parent_ is 0. + I think parent_ is, for instance, a signal, but + disconnect should still work on a slot that is not + connected to a signal, because a slot can be invoked + directly. + Fixes bug #311057 from James Lin. + +2005-12-01 Murray Cumming <murrayc@murrayc.com> + + * tests/Makefile.am: + * tests/test_slot_disconnect.cc: Added test + case from bug #311057. + +2005-11-16 Philipp Berndt <philipp.berndt@gmx.net> + + * sigc++/adaptors/macros/exception_catch.h.m4: Make member + exception_catch_functor<T_functor, T_catcher, void>::catcher_ + public so that it can be accessed by visit_each() + (bug fixed for generalization on 2004-11-06) + +2.0.16: + +2005-08-01 Neal E. Coombes <nealc@trdlnk.com> + + * sigc++/signal_base.h: Updated the documentation for temp_slot_list + as requested in bug #303896. + +2005-08-01 Murray Cumming <murrayc@murrayc.com> + + * sigc++/adaptors/hide.h.m4: Added missing + ) in call to sun_forte_workaround(), fixing + build on SUN Forte 5.5. Bug #312020. + +2005-08-19 Bruno Martinez <brunom@fing.edu.uy> + + * sigc++/type_traits.h: Renamed + ::sigc::is_base_and_derived::internal to + ::sigc::is_base_and_derived::internal_class + in order to avoid conflict with + namespace internal. + +2005-07-13 Murray Cumming <murrayc@murrayc.com> + + * docs/manual/libsigc_manual.xml: Correct mentions of + 1.2 stuff instead of 2.0. Patch in bug #310213 from + pebble.org.uk. + +2005-07-13 Murray Cumming <murrayc@murrayc.com> + + * docs/manual/libsigc_manual.xml: Fixed typo + found by Antonio Coralles. + +2005-07-09 Murray Cumming <murrayc@murrayc.com> + + * sigc++/macros/signal.h.m4: Did the same (see + last commit) for slot_const_iterator and + slot_iterator_buf. + +2005-07-09 Murray Cumming <murrayc@murrayc.com> + + * sigc++/macros/signal.h.m4: slot_iterator: + operator--() now returns value, not reference, like + operator++() already did. This caused crashes when + using --no-inline with g++. Bug #308651 by + Michael Andres. + +2.0.15: + +2005-07-04 Philip Langdale <plangdale@vmware.com> + + * sigc++/adaptors/macros/compose.h.m4: Add a setter typedef to + compose*_functor and use it instead of the (incorrect) getter + typedef in the compose* specialization of visit_each<>(). + This corrects the lifetime management of slots created with + compose(). Bug #308433. + +2005-06-13 Marek Rouchal <marek.rouchal@infineon.com> + + * tests/test_deduce_result_type.cc: Specify int return type + for main(), to be more ISO C++ compliant. Bug #307478. + +2005-06-11 Andris Pavenis <pavenis@latnet.lv> + + * sigc++/adaptors/lambda/macros/base.h.m4: + * sigc++/adaptors/lambda/macros/select.h.m4 + * sigc++/adaptors/macros/hide.h.m4: Specify only a type (not a + parameter name) for unused member function parameters + +2005-06-12 Paul Pogonyshev <pogonyshev@gmx.net> + + * configure.ac: + * scripts/cxx.m4: + * sigc++config.h.in: Add test for whether the compiler allows + referencing to member functions of the class/structure being + declared from a definition of a static member variable. + Supposedly a generic solution for GCC 3.2 compilation problems. + + * sigc++/type_traits.h: Define SIGC_WRAP_IS_BASE_CLASS_ based on + results of the above test. + (struct is_base_and_derived): Wrap up is_base_class_() functions + in an internal class if SIGC_WRAP_IS_BASE_CLASS_ is defined. + +2005-06-10 Murray Cumming <murrayc@murrayc.com> + + * sigc++/adaptors/macros/bind.h.m4: + * sigc++/functors/macros/slot.h.m4: + * sigc++/macros/signal.h.m4: Use CALL_SIZE instead of + hard-coded 7s and 6s. + +2.0.14: + +2005-06-10 Murray Cumming <murrayc@murrayc.com> + + * sigc++/visit_each.h: Make the + limit_derived_target::with_type inner class an outer class, + to satisfy the SUN CC 5.7 compiler, though I think it is a + compiler bug. Bug #302098 has the test case. + +2.0.13: + +2005-06-07 Murray Cumming <murrayc@murrayc.com> + + * tests/test_compatibility.cc: Specify the actual class when + using test_int(), instead of the derived class, to fix the build + on SUN Forte CC 5.5. Patch from Friedemann Kleint in + Bug #305647 + +2005-06-07 Murray Cumming <murrayc@murrayc.com> + + * sigc++/macros/signal.h.m4: signal_emit::emit(): Use scope to + ensure a certain order of destruction of the member variables, to + avoid a leak on MSVC++. Patch by Andreas Ames in Bug #306249. + +2005-06-07 Murray Cumming <murrayc@murrayc.com> + + * sigc++/macros/signal.h.m4: Added comments about commenting-out + SIGC_TYPEDEF_REDEFINE_ALLOWED when using SUN Forte CC 5.7, + because I can not seem to create a test for it. + +2005-06-07 Murray Cumming <murrayc@murrayc.com> + + * configure.ac: + * scripts/cxx_std.m4: + * sigc++/macros/signal.h.m4: + * sigc++config.h.in: Added check for + the non-standard SUN Forte reverse_iterator<>, + and used it. This is based on the same stuff in + gtkmm. + +2005-06-07 Murray Cumming <murrayc@murrayc.com> + + * sigc++/visit_each.h: limit_derived_target(): Just some whitespace + changes. + +2005-05-16 Neal E. Coombes <nealc@trdlnk.com> + + * sigc++/signal_base.h: Modified temp_slot_list to be a temporary view + into a slot list. Instead of emptying the original it now simply tacks + a placeholder to the end of the original. It then uses this as it's + 'end' iterator. This should allow for conscious recursiveness, as well + as inserting a slot to any position in the slot list during emittion. + See bug #303896. + +2005-06-04 Friedemann Kleint <kleint@bifab.de> + + * sigc++/macros/limit_reference.h.m4: + visit_each() template specializations: + Mention the bool I_derives_trackable + template type, to fix the build on Solaris + Forte 5.5. + +2.0.12: + +2005-05-06 Régis Duchesne <hpreg@vmware.com> + + * sigc++/macros/limit_reference.h.m4 (added): + * sigc++/Makefile.am: + New class that just stores a reference, and makes sure that if the + reference derives from trackable, then the trackable reference will be + used instead of the derived reference in visit_each(). + * sigc++/functors/macros/mem_fun.h.m4: Better fix for bug #169225 by + Régis Duchesne and Christian Hammond, based on the new limit_reference + class. + * sigc++/adaptors/bound_argument.h (added): New class (built upon the + new limit_reference class) that handles all 3 kinds of bound arguments: + by value, by reference, and by constant reference. References are + unwrapped in the bound_argument's constructor. + * sigc++/adaptors/macros/bind.h.m4: Fix for bug #302327 by Régis + Duchesne. Bound arguments now need to know whether they are passed by + reference or not. So bind() now builds bind_functor instances using + 'reference_wrapper<Foo>' types, instead of 'Foo &' types. The + bind_functor code is modified to compensate. + * sigc++/adaptors/macros/bind_return.h.m4: Similar fix for a similar + bug (unfiled) with bound return arguments. + * sigc++/reference_wrapper.h: + * sigc++/type_traits.h: + The reference_wrapper class is only used in bound_argument.h. Put + correct but unused code under #if 0. + * sigc++/adaptors/lambda/base.h: This file needs reference_wrapper.h, + but was incorrectly relying on type_traits.h to include it. + * tests/Makefile.am: + * tests/test_virtualbase_delete.cc (deleted): + * tests/test_virtualbase_delete_ref_param.cc (deleted): + * tests/test_limit_reference.cc (added): + Replaced test_virtualbase_delete*.cc with a simpler + test_limit_reference.cc which checks for all 3 aspects of the same bug + in one file. + * tests/test_bind_ref.cc: Slots must use 'Foo &' types. We were lucky + this broken usage worked before this change. The change in + type_traits.h made this bug obvious, by preventing the code to compile. + * tests/test_bind_return.cc: After my change, bind() and bind_return() + must use 'reference_wrapper<Foo>' types. + * tests/test_custom.cc: Made this test a no-op (so it does not perturb + 'make check' on released versions of the library) and made it a + template ready to be modified by hackers. + +2005-05-01 Murray Cumming <murrayc@murrayc.com> + + * sigc++/functors/slot_base.cc: + slot_base::slot_base(src): If the source + slot_base has a null rep->call_, meaning that the + slot is invalid, just return a default-constructed + slot, to prevent the crash shown in + tests/tests_copy_invalid_slot.cc. Bug #302515 by + Régis Duchesne. + +2005-05-01 Murray Cumming <murrayc@murrayc.com> + + * sigc++/functors/macros/mem_fun.h.m4: bound_*<>: + Add a new is_base_and_derived<sigc::trackable> + parameter to the template and thereby provide a + specialization for T_Obj types that derive from + sigc::trackable. This prevents a crash when casting + from the derived type to sigc::trackable after the + derived destructor has run. This cast can sometimes + fail when using multiple inheritance, at least with + g++. Bug #169225 by Régis Duchesne and Christian + Hammond. + * sigc++/type_traits.h: Add documenation for + the internal is_base_and_derived<> template, which + allows us to specialize other templates for certain + template types. + +2005-04-28 Murray Cumming <murrayc@murrayc.com> + + * sigc++/type_traits.h: Added comments for users of + g++ 3.2. + +2005-04-28 Murray Cumming <murrayc@murrayc.com> + + * tests/Makefile.am: + * tests/test_virtualbase_delete.cc: Added + simplified test case from bug #169225. We have a patch + to make this succeed but I am not ready to commit it + just yet. + +2005-04-27 Murray Cumming <murrayc@murrayc.com> + + * tests/Makefile.am: + * tests/test_custom.cc: + Added a place to put extra test code, so I don't have + to keep installing my crazy libsigc++ versions. + +2005-04-27 Murray Cumming <murrayc@murrayc.com> + + * sigc++/visit_each.h: Revert back to the non-explicit + template call, because we can not specify the + template specialization so easily, because the + specializations have different numbers of types. + * tests/Makefile/am: + * tests/test_bind_ref.cc: Add a simple test only for + sigc::ref disconnection. + +2005-04-26 Murray Cumming <murrayc@murrayc.com> + + * sigc++/visit_each.h: Use the explicit template + specialization, needed for Tru64 and AIX compilers. + This causes a crash in some uses of sigc::ref() + (when using g++ 3.3.4 or 3.3.5 , but not with 3.4) but + seems to fix a crash in some uses of multiple inheritance + (bug #169225). + * tests/test_bind.cc: Comment out the crashing (not with + g++ 3.4) use of sigc::ref() with an explanatory comment. + +2.0.11: + +2005-03-09 Cedric Gustin <cedric.gustin@swing.be> + + * Makefile.am: Moved MSVC_Net2003 directory to SUBDIRS. + * MSVC_Net2003/Makefile.am: Added blank.cpp to EXTRA_DIST. + * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Removed + test_accumulated and test_lambda projects as the tests are + disabled in the standard, configure-based build. + * MSVC_Net2003/MSVC_Net2003/libsigc++2_msvcNet2003.vcproj: + Generate a PDB file in the Debug target. + +2005-03-05 Murray Cumming <murrayc@murrayc.com> + + * docs/website/stable.html: Mention actual supported compilers. + * docs/website/docs.html: Removed broken examples links. Change + reference link to the reference overview page. + +2005-02-23 Murray Cumming <murrayc@murrayc.com> + + * sigc++/functors/slot_base.h: Make slot_base::operator=() public, to + fix the build with SUN Forte C++ 5.5 and Tru64. + +2.0.10: + +2005-02-20 Murray Cumming <murrayc@murrayc.com> + + * tests/test_slot.cc, test_disconnect.cc: #included <new> to avoid + an unresolved symbol error with the Tru64 compiler. Solution found by + Tim Mooney in bug #161503. + +2005-02-20 Martin Schulze <mschulze@cvs.gnome.org> + + * sigc++/signal_base.h: Add some documentation. + +2005-02-20 Martin Schulze <mschulze@cvs.gnome.org> + + * sigc++/signal_base.cc: Reset deferred_ flag to false in + signal_impl::sweep() (Neal E. Coombes). Partly fixes bug #167714. + +2005-02-11 Martin Schulze <mschulze@cvs.gnome.org> + + * docs/manual/Makefile.am: Set the correct group in post-html. + +2005-02-11 Murray Cumming <murrayc@murrayc.com> + + * docs/website/doc.shtml: Fix typo in url for reference docs. Found by + James Lin. + +2005-02-06 Murray Cumming <murrayc@murrayc.com> + + * sigc++/signal_base.h: temp_slot_list::begin(), end(): Actually + return the iterators. + +2005-02-03 Neal E. Coombes <nealc@trdlnk.com> + + * sigc++/signal_base.h: Add temp_slot_list struct to facilitate + allowing new connections to a signal during an emittion without + affecting that emittion. + * sigc++/macros/signal.h.m4: Use the new struct temp_slot_list to + prevent connections made during an emittion from being called in the + same emittion (which has the potential of causing things like + infinite loops). This guarantees an emittion will be finite, as well + as maintaining any order of emittion guarantees that may have already + been in place. + +2.0.9: + +2005-02-02 Murray Cumming <murrayc@murrayc.com> + + * sigc++/visit_each.h: visit_each_type(): Reverted the change, so that + we do not specify the template types ot visit_each<>(), because it + crashes on g++ 3.3.4 (but not g++ 3.4.2). Added a comment telling users + of AIX (and maybe IRIX MipsPro and Tru64) to use the alternative version + if they have compilation problems. + +2005-02-01 Murray Cumming <murrayc@murrayc.com> + + * sigc++/adapators/macros/base.h.m4: Add sigc::var<>() documentation, + from Roger Ferrer Ibáñez in bug #149483. + +2005-02-01 Murray Cumming <murrayc@murrayc.com> + + * sigc++/adaptors/macros/compose.h.m4: In the template specializations + of visit_each(): As before, specify the specific other template + specializations of visit_each that we use. Needed by AIX. + * tests/Makefile.am: Reenabled most tests, because AIX can now + build them. + +2005-02-01 Murray Cumming <murrayc@murrayc.com> + + * sigc++/visit_each.h: visit_each_type(): Specify the specific + template specialization of visit_each<>() to use. The AIX compiler, + and possibly the Tru64 compiler, need this extra hint. + +2005-02-01 Murray Cumming <murrayc@murrayc.com> + + * bind.h.m4: Define bind_functor::operator() inline because the AIX + compiler/linker sometimes fails to find it when it is defined + outside of the class. + +2.0.8: + +2005-01-30 Murray Cumming <murrayc@murrayc.com> + + * sigc++/type_traits.h: is_base_and_derived: Added + avoid_gcc3_warning_(), to avoid an incorrect warning when using + g++ 3.3.5 + +2005-01-28 Liza Klerck <liza@trdlnk.com> + + * sigc++/functors/macros/mem_fun.h.m4: Add a sigc:: namespace + prefix to the nested use of visit_each(), to avoid ambiguity when + using 2 versions of the libsigc++ API inside different namespace. + +2005-01-27 Murray Cumming <murrayc@murrayc.com> + + * sigc++/adaptors/macros/adaptor_trait.h.m4: Add a sigc:: namespace + prefix to the nested use of visit_each(), to avoid ambiguity when + using 2 versions of the libsigc++ API inside different namespace, + which is not very advisable anyway. Bug #165222 from + liza at trdlnk.com. + +2.0.7: + +2005-01-24 Cedric Gustin <cedric.gustin@swing.be> + + * sigc++config.h.in : Moved the SIGC_USING_STD macro definition + out of the SIGC_CONFIGURE section. We also need it for MSVC. + * MSVC_Net2003/.cvsignore : Added .def and .aps files + * MSVC_Net2003/Makefile.am: Rewrote rule for local copy of + sigc++config.h (required for 'make distcheck'). + * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Added test_retype and + test_disconnect_during_emit tests. + * MSVC_Net2003/tests/test_disconnect_during_emit/*, + MSVC_Net2003/tests/test_retype/*: Initial commit. + +2005-01-21 Murray Cumming <murrayc@murrayc.com> + + * tests/: Disabled the test_accumulator, test_bind, and test_compose + tests, and part of test_mem_fun because the AIX xlC compiler can not + build them, but it can still do most things, including the examples. + See the comments in tests/Makefile.am. + +2005-01-21 Murray Cumming <murrayc@murrayc.com> + + * sigc++/adaptors/bind.h.m4: non-member operator()(): Specify the + extra nil arguments in the templated class name prefix. Oddly, the + AIX xlC compiler says that the type of the first parameter does not + match the template if you don't do this. + +2005-01-21 Murray Cumming <murrayc@murrayc.com> + + * sigc++/type_traits.h: is_base_and_derived struct: Move the + is_base_class_() functions out of the inner class, because the AIX + xlC compiler does not like that - see the comments in the code. + * sigc++/adaptors/bind.h.m4: Add the extra nil template types to + the template specializations, as in slot and signal. + +2005-01-21 Murray Cumming <murrayc@murrayc.com> + + * sigc++/functors/macros/slot.h.m4, sigc++/macros/signal.h.m4: + slot and signal template specialization for + various numbers of template args: In the class slot line, specify + all the remaining template types as null, instead of expecting the + compiler to guess them in itself. This partly fixes the build on + AIX with the xlC compiler. Bug #164685. + +2005-01-19 Murray Cumming <murrayc@murrayc.com> + + * sigc++/type_traits: struct is_base_and_derived: Make the test inner + struct a friend, so that it can use the big inner struct. This is + required by the Tru64 compiler. + * sigc++/adaptors/lambda/base.h: Put the unwrap_lambda_value() + definitions at the top, because Tru64 (understandably) needs them to + be declared before use. + +2005-01-19 Murray Cumming <murrayc@murrayc.com> + + * scripts/: Added cxx_std.m4, with a test copied from + glibmm/scripts/cxx_std.m4 to check if the compiler has the std:: + namespace. + * sigcconfig.h: #undef the new #define and add SIGC_USING_STD(), + like GLIBMM_USING_STD, to put stuff in the std:: namespace when it + is not there already, + * configure.in: Used the new test. + * tests/*: Uses SIG_USING_STD() for every std:: thing that we use. + This is needed by the Tru64 and HP-UX compilers when using their + defaults. + +2005-01-19 Murray Cumming <murrayc@murrayc.com> + + * configure.in: AC_INIT(): Provide the extra tarball name parameter, + so that it does not create a libsigc--- tarball. + +2005-01-19 Murray Cumming <murrayc@murrayc.com> + + * configure.in: AC_INIT(): Use libsigc++ instead of sigc++, attempting + to get the correct tarball name. + +2005-01-18 Murray Cumming <murrayc@murrayc.com> + + * configure.in: Used the autoconf 2.93 and AM_INIT_AUTOMAKE() + technique to specify ustar format for the tarball, to prevent files + with long file names from appearing at the top of the tarball. + Based on the same fix in gtkmm 2.6. + +2005-01-18 Murray Cumming <murrayc@murrayc.com> + + * sigc++/functors/macros/slot_h.m4: Specify the base class when + using the rep_ member variable. This stops the HP-UX aCC compiler + from saying that a Nonstatic member is referenced in a nested class, + local class or static member initializer. Bug #150719. + +2005-01-18 Murray Cumming <murrayc@murrayc.com> + + * Bug #159597 - patch from e97_far at e.kth.se to replace C-style + casts with reinterpret_cast<> and static_cast<> to avoid warnings. + +2005-01-17 Murray Cumming <murrayc@murrayc.com> + + * docs/manual/Makefile.am: Specifying html/index.html instead of + just the html directory as a target seems to fix distcheck problems. + I can also now confirm that the install works on solaris, when using + gmake, though not when using make. + +2005-01-17 Murray Cumming <murrayc@murrayc.com> + + * MSVC_Net2004/Makefile.am: Add built files to DISTCLEANFILES to fix + the distcheck. + * docs/reference/Makefile.am, manual/Makefile.am: Specify $srcdir in + paths, to fix distcheck of the manual, and maybe fix install problems + on Solaris. + +2005-01-11 Murray Cumming <murrayc@murrayc.com> + + * docs/website/stable.html: Updated the text about binary packages. + * docs/website/docs.html: Link to the 2.0 documentation instead of the + 1.2 documentation. + +2004-12-17 GregSchussman <schussman@slac.stanford.edu> + + * glossary.shtml: Clean up punctuation, make definitions complete + sentences, and add clarifications for certain definitions according to + what Murray Cumming's suggestions and answers to my questions. + Bug #161580. + +2005-01-11 Murray Cumming <murrayc@murrayc.com> + + * docs/: Added manual, copied from the libsigc++-1.2 cvs module, + and updated it for the new 2.0 API. + +2005-01-11 Murray Cumming <murrayc@murrayc.com> + + * docs/: Added website, copied from the libsigc++-1.2 cvs module. + We will use it from here from now on. + +2004-12-11 Cedric Gustin <cedric.gustin@swing.be> + + * configure.ac : parse version tags at configure time (for + sigc-2.0.rc). + * MSVC_Net2003/sigc-2.0.rc.in : New resource file. + * MSVC_Net2003/Makefile.am: include sigc-2.0.rc in distribution. + +2004-12-08 Cedric Gustin <cedric.gustin@swing.be> + + * MSVC_Net2003/Makefile.am: get sigc++config.h from $(top_builddir) + instead of $(top_srcdir). + +2004-12-08 Cedric Gustin <cedric.gustin@swing.be> + + * MSVC_Net2003/*/*.vcproj: Renamed libsigc++ target to + sigc-2.0d.dll (Debug) and sigc-2.0.dll (Release). Added + $(SolutionDir) and $(SolutionDir)\.. to "Additional Include + Directories" in tests projects. + * sigc++config.h.in: Rewrote dllexport/dllimport macros for + MSVC, for better consistency with glibmm/gtkmm. + * MSVC_Net2003/Makefile.am: copy sigc++config.h from $(top_srcdir) + at build time. + +2004-11-27 Murray Cumming <murrayc@murrayc.com> + + * configure.in: Revert the AC_PROG_LIBTOOL change, so that this builds + with actually released libtool versions, and in jhbuild, so that it + gets testing. + +2004-11-06 Martin Schulze <mschulze@cvs.gnome.org> + + * sigc++/adaptors/macros/exception_catch.h.m4: Make catcher_ member + public so that it can be accessed by visit_each() (bug reported on + ml by Philip Langdale <plangdale@vmware.com>). + +2004-10-24 Martin Schulze <mschulze@cvs.gnome.org> + + * MSVC_Net2003/*/*.vcproj: Link with the "multithreaded DLL" runtime + libraries and enable RTTI for the MSVC build + (patch from Timothy M. Shead <tshead@k-3d.com>). + * MSVC_Net2003/*/.cvsignore: Hide generated build files from cvs + (patch from Timothy M. Shead <tshead@k-3d.com>). + +2.0.6: + +2004-10-12 Martin Schulze <mschulze@cvs.gnome.org> + + * MSVC_Net2003/*/*.vcproj, MSVC_Net2003/blank.cpp: Fix project files + to compile out-of-the-box and add dummy file so that .cc files get + recognized as c++ code files (patch from Timothy M. Shead). + +2004-10-10 Martin Schulze <mschulze@cvs.gnome.org> + + * sigc++/signal_base.{h,cc}, sigc++/functors/slot_base.{h,cc}, + sigc++/functors/macros/slot.h.m4: If SIGC_NEW_DELETE_IN_LIBRARY_ONLY + is defined, implement signal_base::operator new/delete and + slot_rep::operator new/delete (suggested by Timothy M. Shead). + Remove old work-around from 2004-10-02 since it didn't work. + +2004-10-07 Martin Schulze <mschulze@cvs.gnome.org> + + * configure.ac: Update for libtool 1.5a (with support for Intel C++). + * MSVC_Net2003/sigc++config.h: Remove bogus '#define' + (reported by Timothy M. Shead <tshead@k-3d.com>). + +2004-10-02 Martin Schulze <mschulze@cvs.gnome.org> + + * configure.ac: Bump version number to 2.0.6. + * NEWS: Add ChangeLog summary for version 2.0.6. + +2004-10-02 Martin Schulze <mschulze@cvs.gnome.org> + + * sigc++/functors/slot_base.{h,cc}, sigc++/functors/macros/slot.h.m4: + Rename (typed_)slot_rep::detach to (typed_)slot_rep::destroy. + Call the dtor of the functor stored in typed_slot_rep from destroy(). + A cleaner solution would be to add an additional "virtual" function + that calls 'delete' or a real virtual dtor. However, this would be + less efficient and might break the ABI. (Fixes #152323.) + +2004-10-02 Martin Schulze <mschulze@cvs.gnome.org> + + * sigc++config.h.in, MSVC_Net2003/sigc++config.h, + sigc++/signal_base.cc, sigc++/functors/slot_base.{h,cc}, + sigc++/functors/macros/slot.h.m4: Define and use new macro + SIGC_NEW_DELETE_IN_LIBRARY_ONLY to ABI-compatibly move + all calls to new and delete into non-inline library code. + +2004-09-26 Martin Schulze <mschulze@cvs.gnome.org> + + * sigc++/adaptors/lambda/macros/group.h.m4: Add a missing + template keyword in the definition of deduce_result_type::type + (hopefully fixes #152327). + +2004-09-26 Martin Schulze <mschulze@cvs.gnome.org> + + * sigc++/macros/object_slot.h.m4: Use correct bound_mem_functor + variants for const (volatile) methods (fixes #148744). + +2004-09-01 Martin Schulze <mschulze@cvs.gnome.org> + + * docs/index.html: Correct link to lambda module. + +2004-09-01 Martin Schulze <mschulze@cvs.gnome.org> + + * README: Update compatibility section. + +2.0.5: + +2004-09-01 Martin Schulze <mschulze@cvs.gnome.org> + + * MSVC_Net2003/Makefile.am: Add sigc++config.h to EXTRA_DIST. + * configure.ac: Bump version number to 2.0.5. + * NEWS: Add ChangeLog summary for version 2.0.5. + +2.0.4: + +2004-08-21 Martin Schulze <mschulze@cvs.gnome.org> + + * tests/test_lambda.cc: Use sigc::var("\n") instead of sigc::ref("\n"). + Comment out the affected lines, nevertheless. + Sun FORTE and Compaq C++ can handle neither sigc::ref("\n") nor + sigc::var("\n"). I see more chances fixing sigc::var("\n"). + * sigc++/adaptors/lambda/macros/base.h.m4: Add a comment about a + possible work around for sigc::var("\n") compiler problems. + * tests/test_compatibility.cc: Remove a 'const' keyword that prevents + the test case from compiling with the Sun FORTE. + * tests/test_trackable.cc: Remove a 'virtual' keyword and an unused + variable to avoid compiler warnings. + * NEWS: Add ChangeLog summary for version 2.0.4. + +2004-08-03 Martin Schulze <mschulze@cvs.gnome.org> + + * scripts/cxx.m4, sigc++config.h.in, configure.ac, + sigc++/adaptors/lambda/macros/operator.h.m4, tests/test_lambda.cc: + Rollback change from 2004-07-15: configure check + SIGC_OPERATOR_OVERLOAD_AMBIGUITY is not needed - the overload + ambiguity doesn't occur if the lambda operators take all arguments + as const reference. + * configure.ac: Bump version number to 2.0.4. + +2004-08-03 James Lin <slimjimmy@mail.com> + + * Added SIGC_API qualifier to all externally-visible non-template + classes/structs. + * Added #include <sigc++config.h> to the files that use SIGC_API. + * Added empty SIGC_API definition to sigc++config.h.in for non-MSVC + compilers. I'm not sure if this is the right place to put this + (probably not). + * Added MSVC-specific sigc++config.h to the MSVC project directory. + (The comment in it probably should be edited.) + * Changed MSVC project settings to output a multi-threaded DLL, set + the include paths to work (hopefully) out-of-the-box. Disabled + precompiled headers, since they just complicate things and + shouldn't be necessary for such a relatively project. + +2004-08-01 Martin Schulze <mschulze@cvs.gnome.org> + + * sigc++/type_traits.h: Remove type_trait<>::instance() + (was unimplemented and unused; caused problems with the MSVC). + +2004-07-23 Martin Schulze <mschulze@cvs.gnome.org> + + * Makefile.am: Fix typo concerning distribution of libsigc++-2.0.spec. + * AUTHORS: Mention our contributors for platforms Sun FORTE and Intel C++. + +2004-07-15 Martin Schulze <mschulze@cvs.gnome.org> + + * *.h.m4: Don't call operator()() in sun_forte_workaround(); rather copy + operator()(). Calling operator()() makes a copy of the arguments causing + wrong results if an argument type is a reference. Hopefully fixes #147311. + +2004-07-15 Martin Schulze <mschulze@cvs.gnome.org> + + * tests/test_lambda.cc: Break "std::cout << [expr] << a << std::endl;" + into "std::cout << [expr]; std::cout << a << std::endl;". + I hope this fixes #147313 where the right values for "[expr]" but wrong + values for "a" were written to std::cout for some compiler with optimizations + turned off. + +2004-07-15 Martin Schulze <mschulze@cvs.gnome.org> + + * sigc++/adaptors/lambda/macros/operator.h.m4: Correct return type deduction + of lambda expressions in lambda_operator*::operator()(). Might be related to + bug #147313. + * sigc++/adaptors/lambda/macros/group.h.m4: Use m4 macro _P_(). + +2004-07-15 Martin Schulze <mschulze@cvs.gnome.org> + + * scripts/cxx.m4, sigc++config.h.in, configure.ac, + sigc++/adaptors/lambda/macros/operator.h.m4, tests/test_lambda.cc: + Add configure check SIGC_OPERATOR_OVERLOAD_AMBIGUITY for a SUN FORTE + compiler problem (bug #147391). Use it to decide whether the lambda + action operators may be overloaded (not doing so restricts the API slightly). + * sigc++/adaptors/lambda/macros/operator.h.m4: Add some doxygen comments + and remove attic code. + * sigc++/adaptors/lambda/macros/base.h.m4: + Add templates unwrap_lambda_type and unwrap_lambda_value() to support + the non-overloaded lambda action operators. Also add some doxygen comments + and remove attic code. + * sigc++/adaptors/lambda/macros/group.h.m4: Fix a bug that resulted in + gargabe values being passed on to the functor contained in the group adaptor + (partly fixes #147313). + +2004-07-11 Martin Schulze <mschulze@cvs.gnome.org> + + * scripts/cxx.m4, sigc++config.h.in, configure.ac, *.h.m4: + Split SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD + into SIGC_CXX_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD + and SIGC_CXX_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD. + Remove LIBSIGC_TEMPLATE_PREFIX. Add template keyword to + SIGC_WORKAROUND_OPERATOR_PARENTHESES depending on the configure checks. + Should fix the compiler problems with MSVC. + +2004-07-11 Martin Schulze <mschulze@cvs.gnome.org> + + * examples/hello_world.cc: Use sigc::ptr_fun instead of std::ptr_fun. + (fixes bug #144846) + +2004-07-11 Eric Bourque <ericb@computer.org> + + * libsigc++-2.0.spec.in: new file + * configure.ac : patched generate spec file + * .cvsignore: ignore generated file (Martin Schulze) + * Makefile.am: distribute spec file (Martin Schulze) + +2004-07-11 Murray Cumming <murrayc@murrayc.com> + + * sigc++/connection.cc: Added some comments. + * sigc++/trackable.cc: operator=(): Check for self-asignment, though I + do not know of any actual bug that this fixes. Added some comments. + * sigc++/trackable.h Added some doxygen documentation. + +2004-07-09 Murray Cumming <murrayc@murrayc.com> + + * tests/: Added test_disconnect_during_emit.cc, to prove that this + works. + +2004-07-08 Murray Cumming <murrayc@murrayc.com> + + * tests/test_retype_return.cc: foo::operator(int): return a + value. The SUN Forte 5.5 compiler complains about this, as it should. + +2004-07-08 Murray Cumming <murrayc@murrayc.com> + + * sigc++/macros/signal.h.m4: class signal*: Rename the slot_list + typedef to slot_list_type, because there is already a template class + called slot_type. SUN Forte 5.5 seems to complain about this and I am + not surprised. The old typdef is still there for backwards + compatibility, except when building with SUN Forte. + +2004-07-07 Murray Cumming <murrayc@murrayc.com> + + * scripts/cxx.m4: SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD(): + Don't define the SIGC_TEMPLATE_SPECIALIZATOIN_OPERATOR_OVERLOAD C + macro at all if the test fails. This might fix the build on SUN Forte. + * sigc++/functors/macros/mem_fun.h.m4: Default constructor: Initialize + the func_ptr_ member variable. I have no evidence that this solves any + problems, but it worried me. + * sigc++/functors/slot_base.h: operator bool(): Correct documentation, + to use @code instead of <code> + * sigc++/macros/signal.h.m4: Remove the documentation for the + parameters named first and last, because they do not exist. + +2004-05-31 Martin Schulze <mschulze@cvs.gnome.org> + + * autogen.sh: Add '--force'-flag to the 'libtoolize'-command (bug #143425). + +2.0.3: + +2004-05-30 Martin Schulze <mschulze@cvs.gnome.org> + + * configure.ac: Bump version number to 2.0.3. + * NEWS: Add ChangeLog summary for version 2.0.3. + * sigc++/macros/signal.h.m4: Fix segfault on emission of unconnected signal. + * tests/test_signal.cc, tests/test_accumulated.cc: Emit unconnected signal. + * sigc++/macros/object_slot.h.m4: Suppress compiler warning at + dynamic_cast<>-test (tested by Christof Petig/Timothy M. Shead). + +2.0.2: + +2004-05-22 Martin Schulze <mschulze@cvs.gnome.org> + + * configure.ac: Bump version number to 2.0.2. + * NEWS: Add ChangeLog summary for version 2.0.2. + +2004-05-20 Martin Schulze <mschulze@cvs.gnome.org> + + * sigc++/macros/signal.h.m4: If a custom accumulator is specified + invoke it on signal emission even if the signal's slot list is empty. + (This used to be the case in libsigc++-1.2 as pointed out by Timothy.) + +2004-05-20 Martin Schulze <mschulze@cvs.gnome.org> + + * sigc++/macros/object_slot.h.m4: Suppress compiler warning at + dynamic_cast<>-test (suggested by Timothy M. Shead). + +2004-05-01 Martin Schulze <mschulze@cvs.gnome.org> + + * README: Updated for libsigc++-2.0. + +2.0.1: + +2004-04-27 Martin Schulze <mschulze@cvs.gnome.org> + + * configure.ac: Bump version number to 2.0.1. + * NEWS: Add ChangeLog summary for version 2.0.1. + * sigc++/adaptors/lambda/macros/base.h.m4: Fixed documentation. + * sigc++/adaptors/macros/bind.h.m4: Hide work-arounds from doxygen. + * scripts/cxx.m4, sigc++config.h.in, configure.ac, + sigc++/adaptors/macros/bind.h.m4: Removed configure check. It + showed that the Apple gcc can also compile the sophisticated version + of the work-around. + +2004-04-26 Martin Schulze <mschulze@cvs.gnome.org> + + * sigc++/macros/object_slot.h.m4: Modified test for SigC::Object + inheritance so that it also works if SigC::Object is virtual base. + (Fixes bug 141094 reported by Jonathan Brandmeyer) + +2004-04-26 Martin Schulze <mschulze@cvs.gnome.org> + + * scripts/cxx.m4: Updated the configure check. It would probably + have succeeded on the Apple. + +2004-04-26 Martin Schulze <mschulze@cvs.gnome.org> + + * sigc++/adaptors/macros/bind.h.m4: Add work-arounds for + bind<-1>::deduce_result_type compilation error on Apple gcc 3.3. + * scripts/cxx.m4, sigc++config.h.in, configure.ac: Add configure + check for the compilation error above. + * sigc++/adaptors/lambda/macros/operator.h.m4: Replace _A with + _Aa. _A is a reserved keyword on Apple gcc 3.3 (Spundun Bhatt). + (fixes bug #10444 reported by Spundun Bhatt) + +2004-04-19 Martin Schulze <mschulze@cvs.gnome.org> + + * sigc++/signal_base.cc: Fixed serious bug in signal_base::impl(): + Only reference a newly created object (initial reference). + (This fixes bug #140269 reported by Andris.) + +2004-04-19 Murray Cumming <murrayc@murrayc.com> + + * scripts/cxx.m4: Updated the operator() template check, because it + failed with gcc 3.4 (from cvs). Apparently the template keyword can + only be used from another template. + +2.0.0: + +2004-04-06 Martin Schulze <mschulze@cvs.gnome.org> + + * configure.ac: Bump version number to 2.0.0. + * NEWS: Add ChangeLog summary for version 2.0.0. + * TODO, AUTHORS: Bring up to date. + * sigc++-2.0.pc.in, Makefile.am: 1.9 -> 2.0 + * Added more documentation. + +2004-04-10 Murray Cumming <murrayc@murrayc.com> + + * sigc++/connection.[h|cc]: Implement blocked() to avoid undefined + symbol linker error. + +2004-04-08 Murray Cumming <murrayc@murrayc.com> + + * dist the scripts directory. + +1.9.16: + +2004-04-06 Martin Schulze <teebaum@cvs.gnome.org> + + * configure.ac: Bump version number to 1.9.16. + * NEWS: Add ChangeLog summary for version 1.9.16. + +2004-04-02 Murray Cumming <murrayc@murrayc.com> + + * sigc++/connection.cc: Make block() and unblock() always return a + value, to fix compiler warnings. Patch from bug #138620 by + Alexander Nedotsukov. + +2004-04-02 Murray Cumming <murrayc@murrayc.com> + + * Fix the compile of examples/member_method.cc. Bug #131701 from + Kirill Smelkov. I also made the examples build as part of the regular + build. + +2004-04-02 Murray Cumming <murrayc@murrayc.com> + + * sigc++config.h.m4: Remove every undef apart from the one we need, to + avoid clashes, because we #include this in a public header. + +2004-03-25 Murray Cumming <murrayc@murrayc.com> + + * scripts/cxx.m4, configure.in, sigc++config.h.in: Rename the + template_keyword check to template_specialization, because the problem + is with or without the keyword. + * sigc++/adaptors/macros/adaptor_trait.h.m4: Define + SIGC_WORKAROUND_OPERATOR_PARENTHESES, which calls either operator() or + sun_forte_workaround() depending on the result of the compiler test. + * many .m4 files: Add sun_forte_workaround methods that call the + operator() methods. Put them in #ifdefs so that only SUN Forte C++ + sees them. + +2004-03-22 Murray Cumming <murrayc@murrayc.com> + + * Makefile.am, sigc++/Makfile.am: Fix the sigc++config.h.in disting, + to fix make distcheck. + +2004-03-21 Murray Cumming <murrayc@murrayc.com> + + * Rename config.h.in to sigc++config.h.in so that gtkmm does not + include some other config.h at strange times - fixes a problem in + the gtkmm demos. This should really be in the sigc++ directory, but + that seems to add that as an include path, which causes the STL + headers to include sigc++/signal.h instead of some STL signal.h header. + +2004-03-20 Murray Cumming <murrayc@murrayc.com> + + * Makefile.am: Install the config.h platform-specific header. + * sigc++-2.0.pc.in: Report the include path for config.h + +2004-03-20 Murray Cumming <murrayc@murrayc.com> + + * Added config.h.in, using autoheader, from which config.h will be + generated, so we can detect compiler features. + * configure.ac: Added AC_CONFIG_HEADER(config.h) to generate config.h + from config.h.in. + * scripts/cxx.m4: Added this directory and file, with a + SIGC_CXX_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD macro that defines + the SIGC_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD C macro. + * autogen.sh: Added -I scripts to the aclocal call, so that it finds + the m4 macro for configure.ac. + * sigc++/adapators/macros/adaptor_trait.h.m4: Include config.h and + use SIGC_TEMPLATE_KEYOWRD_OPERATOR_OVERLOAD. + +2004-03-18 Martin Schulze <mschulze@cvs.gnome.org> + + * tests/test_mem_fun.cc, tests/test_ptr_fun.cc: Don't test + making functors from overloaded methods with partial template + specialization. Not portable among different compilers (SUN FORTE). + * adaptors/macros/apdaptor_trait.h.m4: Only gcc seems to use the + notation A.template operator()<...>(...) => adapt preprocessor check + for #define LIBSIGC_TEMPLATE_PREFIX. TODO: replace with configure check. + +2004-03-13 Murray Cumming <murrayc@murrayc.com> + + * g++ 3.4 (pre-release) build fixes: + * sigc++/macros/signal.h.m4: slot_iterator_buf::operator*(): + Use blocked() and empty() instead of non-existant blocked_and_empty(). + * sigc++/functors/macros/mem_fun.h.m4: memfun_functor*::operator()(): + Use this->func_ptr_ instead of just func_ptr_. + * sigc++/adaptors/macros/deduce_result_type.h.m4: Use + T_functor::template deduce_result_type<> instead of just + T_functor::deduce_result_type<>. + * sigc++/adaptors/lambda/macros/base.h.m4, operator.h.m4, group.h.m4:: + Use template keyword again. operator[](): Use this->value_ instead of + just value_. + * sigc++/adaptors/lambda/macros/bind/m4: Use template keyword, and + this-> again. + * sigc++/adaptors/macros/compose.h.m4, hide.h.m4, bind_return.h.m4, + exception_catch.h.m4: + rettype.h.m4, rettype_return.h.m4: Use template keyword,and this-> again + +1.9.15: + +2004-02-27 Martin Schulze <teebaum@cvs.gnome.org> + + * configure.ac: Bump version number to 1.9.15. + * NEWS: Add ChangeLog summary for version 1.9.15. + +2004-02-27 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/functors/macros/slot.h.m4: Make the unnumbered slot templates' + copy ctors use the copy ctors of the base class. Fixes bug #24698. + * tests/test_slot.cc: Test copy ctor (Bryan Forbes). + +2004-02-27 Martin Schulze <teebaum@cvs.gnome.org> + + * tests/type_functor_trait.cc: Bring it up-to-date (use sigc::ref). + Make it work with the SUN Forte. + +2004-02-24 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/type_traits.h: Make is_base_and_derived<> work with the SUN Forte. + +2004-02-19 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/type_traits.h: Make is_base_and_derived<> platform independant. + * sigc++/adaptors/lambda/macros/base.h.m4: Make lambda_core<> ctors + explicit. Remove an unused ctor from lambda_core<T_type, true>. + +2004-02-14 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/functors/slot_base.h, sigc++/functors/macros/slot.h.m4: + Move some documentation to slot_base.h. + * sigc++/signal_base.h, sigc++/macros/signal.h.m4: + Move some documentation to signal_base.h. + + API addition: + * sigc++/functors/macros/slot.h.m4: Add numbered slot# templates. + Make unnumbered slot templates inherit from slot#. + + API change: + * sigc++/functors/macros/mem_fun.h.m4: Allow for methods of the object's + base types to be passed into sigc::mem_fun(). (Used to be the case in + libsigc++-1.2). + +2004-02-13 Murray Cumming <murrayc@usa.net> + + * sigc++/functors/slot_base.[h|cc], sigc++/trackable.[h|cc]: Create + and use a typedef for the destroy_notify callback functions, to avoid + confusion function pointer declaration syntax in the API. + +2004-02-13 Murray Cumming <murrayc@murrayc.com> + + * Moved implementation to .cc files: + * sigc++/functors/: Added slot_base.[h|cc] which contains non-template + code that was previsouly in the generated functors/slot.h and + non-generated slot.cc files. All non-inline implementation is now in + the .cc file. + * sigc++/functors/macros/slot.m4: Removed the code that has been moved + to slot_base.[h|cc]. + * sigc++/: Added signal_base.[h|cc] which contains non-template code + that was previously in the generated signal.h and non-generated + signal.cc file. All non-inline implementation is now in the .cc file. + * sigc++/macros/signal.m4: Removed the code that ahs been moved to + signal.cc + * sigc++/connector.[h|cc]: method implementation moved to the .cc file. + +1.9.14: + +2004-02-13 Martin Schulze <teebaum@cvs.gnome.org> + + * configure.ac: Bump version number to 1.9.14. + * NEWS: Add ChangeLog summary for version 1.9.14. + +2004-02-09 Murray Cumming <murrayc@usa.net> + + * sigc++/functors/macros/slot.h.m4: slot_base: Added operator bool(), needed to + check for a slot that is created with the default constructor. This was + present in libsigc++ 1.2 also. + +2004-02-06 Murray Cumming <murrayc@usa.net> + + * Makefile.am: Build the docs directory, by adding it to SUBDIRS. + * docs/Doxyfile.in: Updated to be more glibmm-like. + * Added some @deprecated doxygen bits. + * sigc++/macros/signal.h.m4: Call base constructor from signal_base + constructor - this is an error-as-warning when building gtkmm. + +1.9.13: + +2003-11-30 Martin Schulze <teebaum@cvs.gnome.org> + + * configure.ac: Bump version number to 1.9.13. + * NEWS: Add ChangeLog summary for version 1.9.13. + * Makefile.am, MSVC_Net2003/Makefile.am, configure.ac: + Distribute MS .Net project files. + * sigc++/adaptors/macros/[bind,hide].h.m4: Correct and add + documentation. Make hide_functor ctor explicit. + +2003-11-11 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/adaptors/macros/[bind,hide].h.m4: Change to zero-based + argument index in numbered bind() and hide() overload + (Agreement on the mailing list). + Support binding up to CALL_SIZE arguments with one bind adaptor. + (Requested by joey yandle and others). + Only support binding of multiple arguments in unnumberd overloads + to keep the API simple (Requested by Murray Cumming). + * tests/test_[bind,hide,functor_trait].cc, sigc++/bind.h: + Reflect API changes in compatibility module and test cases. + +2003-11-10 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/adaptors/macros/[bind,hide].h.m4: Add unnumbered + bind() and hide() overloads to make specifying the argument + position optional (Proposed by Jeff Franks). + * tests/test_[bind,hide].cc: Test unnumbered bind() and hide(). + * sigc++/adaptors/macros/adaptor_trait.h.m4: + Change "#ifdef MSVC" to "#ifdef _MSC_VER" (Roel Vanhout). + +2003-11-09 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/functors/macros/slot.h.m4: Change functor type in + typed_slot_rep to adaptor_trait::adaptor_type<T_functor> + and use explicit function template instantiation in + internal::slot_call::call_it(). Avoids copying of arguments + in call_it() and enables binding of object instances + to class methods through bind() (Reported by Jeff Franks). + * tests/test_bind.cc: Test binding object instances to + class methods through bind(). + * sigc++/adaptors/adaptors.h: Include retype[_result].h. + * sigc++/adaptors/macros/adaptor_trait.h.m4: + - Add documentation. + - Mark some c-tors as explicit. + - Remove ununsed operator T_functor&() from adaptor_functor. + * sigc++/adaptors/macros/deduce_result_type.h.m4: + Rewrite parts of the documentation. + * sigc++/adaptors/macros/bind.h.m4: Add documentation. + * sigc++/functors/macros/mem_fun.h.m4: Remove unnecessary + explicit markers. Minor fixes to documentation. + * sigc++/functors/macros/functor_trait.h.m4: + Minor fixes to documentation. + +1.9.12: + +2003-11-04 Martin Schulze <teebaum@cvs.gnome.org> + + * configure.ac: Bump version number to 1.9.12. + * NEWS: Add ChangeLog summary for version 1.9.12. + +2003-11-03 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/macros/signal.h.m4: Document accumulators. + Move slot_iterator_buf into namespace internal. Since + accumulators have the iterator type as a template argument + there is no need to expose this very internal type. + * sigc++/functors/macros/*.m4: Regroup documentation. + Documentation of the core parts of the library should be + complete by now. + +2003-11-02 Martin Schulze <teebaum@cvs.gnome.org> + + * Improve documentation of the core parts of the library. + * tests/test_ptr_fun.cc: Test ptr_fun() with static + member functions. + +2003-11-02 Martin Schulze <teebaum@cvs.gnome.org> + + * Move all .m4 files into new subdirectories + sigc++/[...]/macros. Install the .m4 files on + "make install" (Reported by Ron Steinke). + +2003-11-01 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/[class,method,object]_slot.h.m4: Include + sigc++/functors/mem_fun.h (Reported by Ron Steinke). + +2003-11-01 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/adaptors/lambda/operator.h.m4: Add negation + operator I have completely overlooked until now. + * sigc++/tests/test_lambda.cc: Test negation operator. + +2003-11-01 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/[class_slot,method_slot,object_slot,hide].h.m4, + sigc++/signal.h.m4, sigc++/functors/mem_fun.h.m4: + - Use a shorter notation for ..._mem_function variants. + - Change order of mem_funcotr<>'s template arguments to + match std::mem_fun_t and to be more consistent with adaptors. + - Use ::sigc::slot's implicit ctor in compatibility module. + * sigc++/adaptors/lambda/operator.h.m4: Change some + lambda action names to match action names in std. + + API addition: + * sigc++/adaptors/retype.h.m4: New file adding + adaptor retype. + * sigc++/Makefile.am: Build and distribute new file. + * tests/test_retype.cc: New file testing adaptor retype. + * MSVC_Net2003/tests/test_retype/test_reytype.vcproj, + tests/Makefile.am: Build and distribute new test case. + +2003-11-01 Martin Schulze <teebaum@cvs.gnome.org> + + * MSVC_Net2003: New directory containing project + files for Visual Studio .Net 2003. + Credits to Roel Vanhout <roel@riks.nl>! + +2003-11-01 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/retype.h.m4: Use LIBSIGC_TEMPLATE_PREFIX + in explicit function template instantiations. + * sigc++/type_traits.h: Add template specialization + for arrays (T_type[N]) to disable non-working member + type_trait<T_type[N]>::instance(). + * sigc++/visit_each.h: Remove more disturbing + limit_derived_target<>::operator() overloads. + (Should have noticed earlier that they are unnecessary.) + * sigc++/adaptors/deduce_result_type.h.m4, + sigc++/adaptors/lambda/operator.h.m4, + sigc++/functors/functor_trait.h.m4, + tests/test_[bind,compose,exception_catch,hide,lambda].cc: + Completely removed support for typeof(). We don't need + it any more and it is completely non-standard! + +2003-10-30 Cedric Gustin <cedric.gustin@swing.be> + + * configure.ac: Added test of win32 platform. Commented + out AM_DISABLE_SHARED (DLLs are shared libraries). + * sigc++/Makefile.am: added a few LDFLAGS for win32 + DLLs. + +2003-10-30 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/signal.h.m4: Add SigC::Signal#<>::slot(). + * sigc++/slot.h.m4: Comment out make_slot() work-around. + * sigc++/adaptors/bind.h.m4: Remove unnecessary brackets + in template argument lists. They are confusing MSVC. + * sigc++/adaptors/*.h.m4, sigc++/adaptors/lambda/*.h.m4: + Use LIBSIGC_TEMPLATE_PREFIX in explicit function + template instantiations. + * sigc++/tests/test_*.cc: + - Include <string> where std::string is used. + - Use double instead of float. + +2003-10-27 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/retype.h.m4: Cleanup. + * TODO: Bring it up to date. + +1.9.11: + +2003-10-26 Martin Schulze <teebaum@cvs.gnome.org> + + * configure.ac: Bump version number to 1.9.11. + * NEWS: Add ChangeLog summary for version 1.9.11. + +2003-10-26 Martin Schulze <teebaum@cvs.gnome.org> + + Compatiblity module: + * sigc++/signal.h.m4: Move definition of compatiblity + classes SigC::SignalN to here. + * sigc++/connection.h: + - Add connection::connected(). + - Add compatibility typedef SigC::Connection. + * sigc++/bind.h, sigc++/bind_return.h, + sigc++/class_slot.h.m4, sigc++/hide.h.m4, + sigc++/method_slot.h.m4, sigc++/object.h, + sigc++/object_slot.h.m4, sigc++/retype.h.m4, + sigc++/retype_return.h sigc++/slot.h.m4, + sigc++/compatibility.h: + New files to complete compatibility module. + Split content of compatibility.h.m4 among the new files. + * sigc++/compatibility.h.m4: Removed. + * Makefile.am: Build and distribute new files. + * tests/test_compatibility.cc: Test new stuff. + + Fixes: + * sigc++/functors/slot.h.m4: Fix copy constructor and + operator=() of slot template. + * sigc++/adaptors/bind.h.m4: Fix deduce_result_type + template specializations. bind<0>() probably compiles + with gcc-3.3, now. + +2003-10-26 Martin Schulze <teebaum@cvs.gnome.org> + + Fixes: + * sigc++/functors/slot.{cc,h.m4}: + - Fix notification process: don't defer detaching of a + slot from all referred trackables during signal emission! + - Size optimization: replace virtual functions from + struct typed_slot_rep with function pointers in slot_rep + (reduces size of a typical typed_slot_rep instantiation + by 30% !!!). + * tests/test_slot.cc: Test sigc::slot more thoroughly. + * sigc++/functors/mem_fun.h.m4: Fix visit_each(). + * sigc++/adaptos/bind_return.h.m4: Add support for + sigc::ref(). + * tests/test_bind_return.cc: Use sigc::ref(). + * sigc++/signal.h.m4: Avoid compiler warning about + uninitialized variable r_ in emit(). + * sigc++/visit_each.h: Cleanup. + + API additions: + * sigc++/adpators/lambda/operators.h.m4: Add + lambda actions sigc::{reinterpret,static,dynamic}_cast_ + to support explicit parameter conversion. + * tests/test_lambda.cc: Test sigc::static_cast_. + * sigc++/adaptors/retype_return.h.m4: New file adding + adaptor retype_return (and hide_return). + * sigc++/Makefile.am: Build and distribute new file. + * tests/test_retype_return.cc: New file testing + adaptor retype_return (and hide_return). + * tests/Makefile.am: Build and distribute new test case. + +2003-10-25 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/visit_each.h: Remove disturbing + limit_derived_target<>::operator() overloads. + * sigc++/adaptors/bind.h.m4: Add support for sigc::ref(). + * tests/test_bind.cc: Test sigc::ref(). + * sigc++/adaptors/lambda/{operator,group,base}.h.m4: + - Move support for sigc::ref() from lambda_core<> into + lambda operator and lambda group creator functions. + - Add missing visit_each() overload for lambda<> template. + * tests/test_lambda.cc: Test auto-disconnection. + TODO: Fix a strange bug that leads to "Bus error" + during auto-disconnection. + +1.9.10: + +2003-10-23 Martin Schulze <teebaum@cvs.gnome.org> + + * configure.ac: Bump version number to 1.9.10. + * NEWS: Add ChangeLog summary for version 1.9.10. + +2003-10-23 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/functors/{functor_trait,slot}.h.m4: + Move definition of struct nil into functor_trait.h. + +2003-10-23 Martin Schulze <teebaum@cvs.gnome.org> + + * configure.ac: Disable typeof() compiler checks. + * sigc++/adaptors/bind.h.m4: Remove unnecessary + deduce_result_type<> template specializations. + +2003-10-20 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/adaptors/compose.h.m4: + Correct order of typedefs for good. (Patch from Jeff Franks.) + +1.9.9: + +2003-10-20 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/connection.h: Add constructor that takes + a sigc::slot_base& to support 3rd-party slot lists + like they are used in glibmm/gtkmm. + * sigc++/functors/slot.h.m4: Make sigc::slot::call_type public. + (Fixes compile problems reported by Jeff Franks.) + * sig++/type_traits.h: Don't use long long in + sigc::is_base_and_derived. + (Fixes compile problems reported by Jeff Franks.) + * sigc++/adaptors/{bind,compose,hide,exception_catch}.h.m4: + Correct order of typedefs. (Repoted by Jeff Franks.) + * configure.ac: Bump version number to 1.9.9. + * NEWS: Add ChangeLog summary for version 1.9.9. + +1.9.8: + +2003-10-19 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/functors/slot.h.m4: Define doxygen group functors. + * configure.ac: Bump version number to 1.9.8. + * NEWS: Add ChangeLog summary for version 1.9.8. + +2003-10-19 Martin Schulze <teebaum@cvs.gnome.org> + + * NEWS: Add announces of versions 1.9.6 and 1.9.7. + * sigc++/compatibility.h.m4: New file. Defines namespace SigC. + namespace SigC should be API compatible to libsigc++-1.2. + * sigc++/Makefile.am: Build compatibility.h. + * tests/test_compatibility.cc, tests/Makefile.am: + Add test case for compatibility module. + * docs/index.html: Change group names. + * sigc++/sigc++.h: Include connection.h. + * sigc++/connection.{cc,h}: + - Rename dependency to destroy_notify_callback. + - Change parameter name in set_slot() from d to data. + - Fix operator=(): Add "return *this;" + - Get rid of namespace functor. + - Corrections in documentation. + * sigc++/signal.{cc,h.m4}: + - Add reference counter to signal_impl. Replaces "bool destroy_". + - Move signal_base, slot_iterator[_buf], slot_list out of + namespace internal. They are part of the public API. + - Add convenience function signal#::make_slot(). + - Get rid of namespace functor. + - Corrections in documentation. + * sigc++/trackable.{cc,h}: + - Rename dependency to destroy_notify_callback. + - Rename trackable::clear() to trackable::notify_callbacks(). + - Corrections in documentation. + * sigc++/type_traits.h: Add documentation. + * sigc++/visit_each.h: + - Get rid of namespace functor. + - Add documentation. + * sigc++/adaptors[/lambda]/*: Get rid of namespace functor. + * sigc++/functors/{functor_trait.h,ptr_fun.h.m4,mem_fun.h.m4}: + - Get rid of namespace functor. + - Corrections in documentation / add documentation. + * sigc++/functors/slot.{cc,h.m4}: + - Move slot_base out of namespace internal. It's public API. + - Get rid of one-letter-parameter-names. + - Get rid of namespace functor. + - Corrections in documentation. + * tests/*.cc: Get rid of "using namespace ...". + +2003-09-10 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/adaptors/lambda/{base,operators}.h.m4: + Add subscript ([]) and assign (=) operator. I think there are now + enough operators available to make any future power user happy. + The only one missing is the comma operator and if we added it + the logical consequence would be to also add if(), switch(), do(), + etc. lambda expressions which are really out of place in libsigc++. + * sigc++/type_traits.h: Fix is_base_and_derived<> for const types. + * tests/test_lambda.cc: Test new operators. + +1.9.7: + +2003-09-05 Martin Schulze <teebaum@cvs.gnome.org> + + * configure.ac: Bump version number to 1.9.7. + +2003-09-03 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/adaptors/lambda/operator.h.m4: + - Restructure so that the size of the generated source file stays + reasonable for 34 operators: There are only two lambda templates + lambda_operator and lambda_operator_unary. The action is an additional + template parameter. A small template lambda_action[_unary] is specialized + for all actions. + - Add most operators that boost::lambda supports. Missing operators are + "=", "[]", "," and support for pointer arithmetic. I don't know if it's + worth adding these. In libsigc++, the purpose of lambda operators is to + provide some extra functionality for the group adaptor. + * tests/test_lambda.cc: + Test pre-increment, address and dereference operator. + +2003-08-31 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/reference_wrapper.h, sigc++/type_traits.h, sigc++/Makefile.am: + New file reference_wrapper.h provides ref() to specify that adaptors/lambdas + should take a reference to the object passed into ref() instead of a copy. + * tests/test_lambda.cc: + - Test group() with mem_fun(). + - Use ref() where lambdas should store references to objects. + - Test var() and constant(). + * sigc++/adaptors/lambda/base.h.m4: + - Support ref() in return type deduction. + - Add var() and constant() which create lambdas for usage with lambda operators. + * sigc++/adaptors/lambda/operator.h.m4: + - Fix return type deduction. + - Remove operator{+,-,*,...} overloads added on 2003-08-29. ref() is way cleaner. + * sigc++/adaptors/lambda/group.h.m4, + sigc++/adaptors/bind.h.m4, sigc++/adaptors/compose.h.m4, + sigc++/adaptors/exception_catch.h.m4, sigc++/adaptors/hide.h.m4: + Fix return type deduction. + +2003-08-29 Martin Schulze <teebaum@cvs.gnome.org> + + * tests/test_lambda.cc: Add more tests. + * sigc++/adaptors/lambda/select.h.m4, sigc++/adaptors/lambda/lambda.cc.m4: + Make _1, _2, ... constant. + * sigc++/adaptors/lambda/operator.h.m4: + Add operator{+,-,*,...} overloads to distinguish between const and non-const objects. + Store references to non-const objects rather than copies. + This allows expressions like e.g. std::cout << _1. + * sigc++/adaptors/lambda/base.h.m4, sigc++/adaptors/lambda/group.h.m4: + Remove void specializations. Functors returning void are tested and work fine. + +2003-08-27 Martin Schulze <teebaum@cvs.gnome.org> + + * tests/test_callof.cc, tests/test_deduce_result_type.cc: + Rename, correct and improve this test case. + * tests/Makefile.am: Build and run test_deduce_result_type + instead of test_callof. + +2003-08-27 Martin Schulze <teebaum@cvs.gnome.org> + + * Update TODO. + +2003-08-27 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/adaptors/hide.h.m4: Remove usage of callof_ignore_arg<>. + * sigc++/callof.h.m4, sigc++/adaptors/deduce_result_type.h.m4, + sigc++/functors/functor_trait.h.m4: + Remove the first and move deduce_result_type templates from + functor_trait.h.m4 into new file deduce_result_type.h.m4. + * sigc++/Makefile.am, sigc++/sigc++.h, sigc++/adaptors/adaptor_trait.h.m4: + Build and include sigc++/adaptors/deduce_result_type.h instead of callof.h. + * sigc++/functors/slot.h.m4: Document struct nil. + +2003-08-24 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/functors/functor_trait.h.m4: Simplify usage of convenience + macro SIGC_FUNCTORS_HAVE_RESULT_TYPE: + namespace sigc{ namespace functor{ SIGC_FUNCTORS_HAVE_RESULT_TYPE }} + +2003-08-24 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/functors/functor_trait.h,m4, sigc++/adaptors[/lambda]/*.h.m4: + Merge adaptor return type deduction and typeof() into + sigc::functor::deduce_result_type. Use it for all adaptors. + * tests/test_compose.cc: Only test multi-type get-functor if + typeof() if supported. + +2003-08-24 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/adaptors[/lambda]/*.h.m4: + - Remove unnecessary void specializations. In fact, only the one + for sigc::functor::exception_catch<> is needed and I don't really + understand why. For the lambda stuff the void specializatoins are + just commented out at the moment. + - Make typeof() optional. Surprisingly, I got the lambda stuff working + without typeof()! The test suite doesn't catch all cases yet, so maybe + some thing are still not working. + TODO: Implement configure check. + * tests/test_bind.cc, tests/test_compose.cc tests/test_exception_catch.cc, + tests/test_hide.cc, tests/test_lambda.cc: + Only test multiple functor return types if typeof() is supported. + +2003-08-06 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/trackable.{cc,h}: Add function trackable::clear(). + +2003-06-24 Andreas Rottmann <rottmann@users.sourceforge.net> + + * TODO: Minor tweaks. + +2003-06-23 Andreas Rottmann <rottmann@users.sourceforge.net> + + * docs/reference/Doxyfile.in: Use these variables. + * docs/reference/Makefile.am (html/index.html): Provide doxygen + with SRCDIR and TOP_SRCDIR environment variables. + + * sigc++/functors/slot.h.m4: Make slot::call_type typedef public; + this fixes a g++ 3.3 error in signal.h. + + * sigc++/signal.h.m4: Make the signal::accumulated class public; + this fixes a g++ 3.3 error in test_accumulated.cc. + +2003-06-15 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/functor/slot.h.m4: Correct typing error in docs. + * sigc++/functor/ptr_fun.h.m4: Document the whole thing. + +2003-05-31 Murray Cumming <murrayc@usa.net> + + * Reference documentation: Rearranged the groups to make it all + a bit more like the libsigc++ 1.2 reference documentation. + Corrected some spelling and grammar too. + This needs a lot of work. The text is very hard to read and it's + generally not appropriate for a user of the code who doesn't + care about the internals. But it's not impossible - our examples + should show us what we need to say in the documentation. + We probably need some more groups for the extra stuff, like we do + in libsigc++ 1.2. + +2003-05-29 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/signal.h.m4: Fix documentation. + * sigc++/connection.h, sigc++/functor/slot.h.m4: + Document the whole thing. + +2003-05-29 Martin Schulze <teebaum@cvs.gnome.org> + + * sigc++/signal.h.m4: + - Remove bogus operator() from unnumbered signal<> and + signal<>::accumulated templates. + - Document the whole thing. + + * docs/index.html: Fix some links. + +2003-04-06 Martin Schulze <MHL.Schulze@t-online.de> + + * TODO, configure.ac, Makefile.am, docs/*: + Add Doxygen framework. + +2003-04-06 Martin Schulze <MHL.Schulze@t-online.de> + + * sigc++/callof.h.m4, sigc++/adaptors/*, tests/test_callof.cc: + Move sigc::callof<> to sigc::functor::internal::callof<>. + + * sigc++/functors/mem_fun.h.m4, tests/test_mem_fun.cc: + Add new types [bound_][const_]volatile_mem_functor, visit_each() + and mem_fun() overloads for volatile qualifier. + Add ctor overloads in bound_*mem_functor and mem_fun() overloads + that take reference instead of pointer. + +2003-03-26 Martin Schulze <MHL.Schulze@t-online.de> + + * Change "closure" to "slot" throughout sigc++2 (file names, + class names, member variables, documentation, etc.). + +2003-03-26 Martin Schulze <MHL.Schulze@t-online.de> + + * TODO: Rewrite to reflect recent changes as well as recent discussions. + +2003-03-24 Martin Schulze <MHL.Schulze@t-online.de> + + * sigc++/adaptors/bind_return.h.m4: Make the adaptor's data member + public so that visit_each() can access it. + + * sigc++/adaptors/lambda/*.h.m4: More fixes. Add a note about + malfunctioning typeof() (probably compiler bug in gcc-3.2). + + * tests/*.cc: Test references. Fix compose equivalent in test_lambda. + +2003-03-24 Martin Schulze <MHL.Schulze@t-online.de> + + * sigc++/Makefile.am, sigc++/functors/functor_trait.h[.m4], + sigc++/adaptors/adaptor_trait.h.m4: Move detection of function + and member method pointers' return types from adaptor_trait into + functor_trait. (We'll use functor_trait rather than adaptor_trait for + our lambda stuff.) functor_trait.h needs to be generated from .m4 now. + + * sigc++/functors/functor_trait.h.m4: Add convenience macros: + - SIGC_FUNCTORS_HAVE_RESULT_TYPE indicates that the existance of + T_functor::result_type should be assumed for all unknown functors. + - SIGC_FUNCTOR_TRAIT(T_functor, T_result) explicitly specifies the + result type of a functor. + ("typename functor_trait<T_functor>::result_type") is used to + determine the return type of our adaptors' operator()() overloads. + + * sigc++/adaptors/[lambda/]*.h.m4: Various fixes in visit_each() and + operator()() overloads to make these operator()() overloads usable. + Most of them were just commented out before. Some adaptor types also + have void specializations, now. + + * sigc++/adaptors/lambda/group.h.m4: Change syntax from + "[some_functor] % grp([args])" to "group([some_functor], [args])" + like we agreed on the ml some time ago. + + * sigc++/tests/test_[all adaptors].cc: Test stuff that didn't work + before. + +2003-03-22 Murray Cumming <murrayc@usa.net> + + * Added pgk-config file, from a mystery person in bug #108857 + +2003-03-22 Martin Schulze <MHL.Schulze@t-online.de> + + * tests/test_bind.cc: Test and show how to use functor_trait + for user defined or 3rd-party functors so that a + bind<0>([functor],[arg1])() call with no arguments can return a value. + +2003-03-20 Martin Schulze <MHL.Schulze@t-online.de> + + * sigc++/callof.h.m4: Add explanations. Comment in / create templates + callof_safe[#]. Unfortunately they don't work for functors with overloaded + operator() so we don't use it for now. At least everything is documented. + + * sigc++/functors/functor_trait.h, sigc++/functors/*.h.m4: Add back + functor_base compiler hint. We're using it now in adaptor_functor<>. + + * sigc++/adaptors/{adaptor_trait,bind}.h.m4: Make operator() overloads + with no arguments return the result of the functor invocation. + Fix multiple bind<0>(). + * tests/test_bind.cc: Test the stuff that's working now. + +2003-03-16 Murray Cumming <murrayc@usa.net> + + * Added sigc++/sigc++.h, like in libsigc++ 1.2 + * examples: Added member_method example, which uses a class method + and which demonstrates disconnection. + +1.9.6: + +2003-03-11 Andreas Rottmann <rottmann@users.sourceforge.net> + + * sigc++/Makefile.am: Use substitution references instead of + $(patsubst). Is shorter and fixes the strange-dirs-in-dist-tarball + bug. + +2003-03-09 Martin Schulze <MHL.Schulze@t-online.de> + + * sigc++/connection.h: Add block() capability. + +2003-03-09 Martin Schulze <MHL.Schulze@t-online.de> + + * sigc++/signal.{cc,h.m4}: Add flag signal_impl::destroy_ + and function signal_impl::destroy(). Use them to defer + the destruction of the signal_impl object during signal + emission. + + * tests/test_disconnect.cc: Add tests for the connection + class and for deleting signals during emission. + +2003-03-09 Martin Schulze <MHL.Schulze@t-online.de> + + * sigc++/connection.{cc,h}, sigc++/Makefile.am: + - New files that add a connection class. Objects of this + class are constructed from closure list iterators and can + be used to disconnect the refered closure. As opposed to + iterators they stay valid beyond the lifetime of the closure. + +2003-03-09 Martin Schulze <MHL.Schulze@t-online.de> + + * sigc++/functors/closure.{cc,h.m4}, sigc++/signal.cc: + - Rename closure_{base,rep}::[set_]dependency_ -> [set_]parent_. + - Make closure_rep inherit trackable. This allows for + connection objects that stay valid beyond the life time + of the refered closure. + - Make some one-line-functions inline again. + +2003-03-08 Martin Schulze <MHL.Schulze@t-online.de> + + * sigc++/trackable.cc: BUGFIX in trackable_dep_list::clear() + +2003-03-08 Andreas Rottmann <rottmann@users.sourceforge.net> + + * sigc++/Makefile.am: Rewritten so we can build lambda cleanly. + * sigc++/Makefile.am_fragment: Removed. + + * sigc++/functors/Makfile.am: Removed. + * sigc++/adaptors/Makefile.am: Removed. + * sigc++/adaptors/lambda/Makefile.am: Removed. + * configure.ac (AC_OUTPUT): Remove the above Makefiles. + + * tests/Makefile.am: Re-included lambda test. + +2003-03-07 Martin Schulze <MHL.Schulze@t-online.de> + + * sigc++/signal.{cc,h.m4}: + - signal_emit#<>: New templates replacing signal#<>::caller. + The purpose of these templates is implementing the emit + function and optimizing signal emission for the case that + no accumulator is used via template specializations. + - default_accumulator<>: Removed. The default for T_accumulator + in signal#<> now is nil. An example how to use accumulators + is available in tests/test_accumulator.cc. + - signal_{base,impl}: Move the implementation of signal_base's + interface to signal_impl. An object of this class is + dynamically allocated when first connecting a closure to + the signal. This drastically reduces the size of empty signals + and allows for future addition of a reference counter to make + it safe to delete a signal during emission. + - Directly work on closure_rep during signal emission. This + seems to be quicker than using the closure templates. + - Document the classes. Restructure the header file a bit. + + * sigc++/functors/closure.h.m4: Make closure_base::rep_ data + member public, so that signal emission can directly work on it. + + * tests/test_size.cc: Add an entry for signal_impl. + +2003-03-07 Martin Schulze <MHL.Schulze@t-online.de> + + * sigc++/functors/closure.{cc,h.m4}: + - closure_base: BUGFIXES in ~closure_base() and operator=(). + - Mark some functions with the inline keyword. This seems to + help gcc 3.2 to optimize signal emission and (dis)connection. + - Document the classes. Restructure the header file a bit. + +2003-03-07 Martin Schulze <MHL.Schulze@t-online.de> + + * sigc++/trackable.{cc,h}: Make trackable allocate a + trackable_dep_list object dynamically when adding the first + dependency. (This reduces the size of objects, that are not + refered by a closure by 4 bytes (50%) and increases the size + of objects that are refered by a closure by 4 bytes (50%) + on a 32 bit architecture => This reduces total memory use + when >50% of the trackables are not refered by a closure.) + Document the classes. + +2003-03-05 Martin Schulze <MHL.Schulze@t-online.de> + + * tests/Makefile.am, tests/test_size.cc, tests/test_accumulated.cc: + Add two test cases. test_size is showing the size of public and + internal structures. (Which apart from empty signals are smaller + than the sizes of the equivalent libsigc++-1.2 structures.) + test_accumulated is a test for the template signal<>::accumulated<> + at the same time showing the use of accumulators in libsigc++2. + + * Offtopic: My note about binary sizes from 2003-02-10 is wrong. + Stripped libsigc++2 test binaries are about 8-10k in size. + +2003-03-05 Martin Schulze <MHL.Schulze@t-online.de> + + * sigc++/visit_each.h: BUGFIX in template specialization + limit_derive_target<T_Target*,T_action>::with_type<false,T_type>: + Add non-const overloads for static void execute_() avoiding + compile time errors. + +2003-02-16 Martin Schulze <MHL.Schulze@t-online.de> + + * tests/Makefile.am, tests/test_disconnect.cc: + Add testcase with a mixed connection & disconnection sequence. + +2003-02-16 Martin Schulze <MHL.Schulze@t-online.de> + + * sigc++/signal.cc: Bugfix in signal_base::insert(): + Set notification function in the newly created copy of + slot_ rather than in slot_ itself. + +2003-02-10 Martin Schulze <MHL.Schulze@t-online.de> + + * sigc++/signal.h.m4: Comment in typedefs for iterator types in + the signal#<> class template. Make signal#<>::connect() return an + iterator for convenience. + (Note that the first change increases the binary size of + tests/test_signal from 201k to 204k, the second change to 206k.) + +2003-01-23 Murray Cumming <murrayc@usa.net> + + * sigc++/adaptors/lambda is disable temporarily (not built and + not distributed) because it gets built before its parent + directory, but #includes generated sources in the parent directory. + +2003-01-22 Murray Cumming <murrayc@usa.net> + + * Added Andreas Rottman's example. + +2003-01-22 Murray Cumming <murrayc@usa.net> + + * Applied Andreas Rottman's make dist fixes. + +2003-01-14 Murray Cumming <murrayc@usa.net> + + * Added whitespace to make the code more readable. |