2014-07-31 Kjell Ahlstedt Remove .gitattributes * .gitattributes: Instructed git to use a custom merge function for merging ChangeLog. Might have been useful, but it's not any more. 2014-07-30 Olav Vitters doap category core 2014-07-29 Ryan Beasley Tests: Enable C++11 lambda expressions with MS Visual Studio 2012 and later * tests/test_cpp11_lambda.cc: * tests/test_track_obj.cc: Compile C++11 lambda expressions if _MSC_VER >= 1700. Bug #733752. 2014-07-28 Kjell Ahlstedt Documentation: Emphasize that signals are ref counted * sigc++/signal_base.h: Emphasize that a sigc::signal holds a pointer to a ref counted signal_impl. Bug #611941. 2014-07-27 Kjell Ahlstedt Add test_visit_each to MSVC_Net2010 * MSVC_Net2010/filelist.am: Add new project files. * MSVC_Net2010/libsigc++2.sln: Add new project. * MSVC_Net2010/tests/test_visit_each/: New test case. Bug #724496. 2014-07-27 Kjell Ahlstedt Tests: Add test_visit_each * tests/.gitignore: * tests/Makefile.am: Add test_visit_each. * tests/test_visit_each.cc: New file. Bug #724496. 2014-07-27 Kjell Ahlstedt Replace visit_each() overloads by struct visitor<> Note: This patch breaks API for some users, but it does not break ABI. Only users who have added their own visit_each() overloads are affected by the API break. Their programs will still compile, but there will be run-time errors, if they rely on auto-disconnection of slots. Updated instructions for users who implement their own adaptors are found in the description of sigc::adapts<>. * sigc++/adaptors/bound_argument.h: * 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/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++/adaptors/lambda/macros/base.h.m4: * sigc++/adaptors/lambda/macros/group.h.m4: * sigc++/adaptors/lambda/macros/operator.h.m4: * sigc++/functors/macros/mem_fun.h.m4: * sigc++/macros/limit_reference.h.m4: * sigc++/visit_each.h: Replace overloads of visit_each<>() by specializations of struct visitor<> with a specialized member function do_visit_each<>(). Qualify all calls to visit_each() with sigc:: to avoid argument-dependent lookup. * sigc++/functors/macros/slot.h.m4: Qualify the calls to visit_each_type() with sigc:: to avoid argument-dependent lookup. * tests/test_functor_trait.cc: Fix the expected result now when the test really works. Thanks to Ryan Beasley , bug #724496. 2014-07-25 Kjell Ahlstedt signal_impl::notify(): Don't delete signal_impl during erase() * sigc++/signal_base.cc: signal_impl::notify() and sweep(): Don't delete signal_impl while its slot list is being manipulated. Without this fix, tests/test_bind_refptr crashes in MS Visual C++ in debug mode. The behaviour without the fix is risky, and shall be avoided. Bug #564005. 2014-07-24 Kjell Ahlstedt Update the signal_impl::notify() documentation * sigc++/signal_base.h: Update the signal_impl::notify() documentation. It should have been updated when notify() was updated. Bug #167714. 2014-07-24 Kjell Ahlstedt Add a maintainer in the DOAP file 2014-07-18 Kjell Ahlstedt Update MSVC_Net2010 * MSVC_Net2010/filelist.am: Add new project files. * MSVC_Net2010/libsigc++2.sln: Add new projects. * MSVC_Net2010/libsigc++2.vcxproj.filters: * MSVC_Net2010/libsigc++2.vcxproj: Update the list of header files. * MSVC_Net2010/tests/test_*/test_*.vcxproj.filters: * MSVC_Net2010/tests/test_*/test_*.vcxproj: Add testutilities.[h|cc]. * MSVC_Net2010/tests/test_accum_iter/: * MSVC_Net2010/tests/test_bind_ref/: * MSVC_Net2010/tests/test_bind_refptr/: * MSVC_Net2010/tests/test_copy_invalid_slot/: * MSVC_Net2010/tests/test_cpp11_lambda/: * MSVC_Net2010/tests/test_custom/: * MSVC_Net2010/tests/test_lambda/: * MSVC_Net2010/tests/test_limit_reference/: * MSVC_Net2010/tests/test_slot_disconnect/: * MSVC_Net2010/tests/test_track_obj/: New test case projects. Bug #724496. 2014-07-14 Kjell Ahlstedt Fix 'make check' with clang++ and --enable-warnings=fatal * tests/test_cpp11_lambda.cc: * tests/test_deduce_result_type.cc: * tests/test_track_obj.cc: Don't define functions which are not used. The clang++ compiler considers unused functions an error, when libsigc++ is configured with --enable-warnings=fatal. Bug #724496. 2013-10-28 Kjell Ahlstedt Documentation: Talk less about std::function * sigc++/functors/macros/slot.h.m4: * sigc++/functors/slot_base.h: Remove the examples with std::function. Add an example with a C++11 lambda expression. https://mail.gnome.org/archives/libsigc-list/2013-October/msg00003.html 2013-10-27 Kjell Ahlstedt Update .gitignore files * build/.gitignore: * tests/.gitignore: Ignore files generated by automake 1.13 and 'make check'. 2013-10-26 Kjell Ahlstedt Documentation: Mention std::function and std::bind() in more comments * sigc++/functors/macros/functor_trait.h.m4: Mention that SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE does not support functors with overloaded operator()(). * sigc++/adaptors/macros/track_obj.h.m4: * sigc++/functors/macros/slot.h.m4: * sigc++/functors/slot_base.h: * sigc++/signal_base.h: Mention std::function as an alternative to sigc::slot. * sigc++/macros/signal.h.m4: connect(): Describe why the result of std::bind() can't be connected directly to a signal. 2013-10-26 Kjell Ahlstedt Fix test_cpp11_lambda for gcc 4.8 * tests/test_cpp11_lambda.cc: Remove an unneccesary std::ref(). Show that std::bind() can be assigned to a slot, if it's combined with std::function. 2013-07-30 Kjell Ahlstedt signal_base, signal_impl: Speed up disconnection of slots. * sigc++/signal_base.cc: Tell signal_impl::notify() which slot is being disconnected. Execution time is then usually O(1) instead of O(n), where n is the size of the slot list. Disconnect all connected slots when a signal is deleted. Disconnect slots before they are erased from a signal's slot list. Bug #167714. 2013-07-03 José Alburquerque Move to a generated ChangeLog. 2013-07-02 José Alburquerque Auto-generate the ChangeLog from the git log for 'make dist'. * Makefile.am: Include the dist-changelog.am file copied in build/ from mm-common so that the ChangeLog is automatically generated from the git commit messages on 'make dist'. 2013-05-01 Kjell Ahlstedt 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 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 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 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 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 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 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. 2012-10-18 Murray Cumming 2.3.1 2012-10-18 Murray Cumming