]> git.tdb.fi Git - ext/sigc++-2.0.git/blob - ChangeLog.pre-2-3-1
Adjust the name of the library to match upstream
[ext/sigc++-2.0.git] / ChangeLog.pre-2-3-1
1 2.3.1:
2
3 2012-10-18  Murray Cumming  <murrayc@murray.com>
4
5         Update the Doxyfile.in syntax.
6
7         * docs/reference/Doxyfile.in: By running doxygen -u
8         on it.
9
10 2012-10-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
11
12         Add some missing newin{}.
13
14         * docs/reference/Doxyfile.in: Add ALIASES newin.
15         * sigc++/functors/macros/functor_trait.h.m4: Add newin{2,2,11} to
16         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
17         * sigc++/signal_base.h: Add newin{2,4} to signal_impl::blocked(), block() and
18         signal_base::blocked(), block(), unblock(). Bug #153780.
19
20 2012-10-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
21
22         signal_base: Add blocked(), block(), unblock().
23
24         * sigc++/signal_base.[h|cc]: Add signal_impl::blocked(), block() and
25         signal_base::blocked(), block(), unblock(). Bug #153780.
26
27 2.2.11:
28
29 2012-09-20  Andris Pavenis  <andris.pavenis@iki.fi>
30
31         Fix comma operator in lambda expressions.
32
33         * sigc++/adaptors/lambda/macros/operator.h.m4: Add lambda_action<>
34         specialization for comma operator (operator,()).
35         * tests/test_cpp11_lambda.cc:
36         * tests/test_lambda.cc: Add a test case for the comma operator. Bug #342911.
37
38 2012-09-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
39
40         Add SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
41
42         * sigc++/adaptors/lambda/macros/base.h.m4:
43         * sigc++/adaptors/lambda/macros/group.h.m4:
44         * sigc++/functors/macros/functor_trait.h.m4:
45         * tests/test_cpp11_lambda.cc: Replace the preprocessor macro
46         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH(C_keyword) with
47         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE. Bug #672555.
48
49 2012-09-10  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
50
51         Use std::size_t and std::ptrdiff_t.
52
53         * sigc++/macros/signal.h.m4: Use std::size_t and std::ptrdiff_t instead
54         of ::size_t and ::ptrdiff_t. Only the std versions are required to be
55         declared in <cstddef>.
56         * sigc++/signal_base.h: Use std::size_t instead of ::size_t. (I did not change
57         MSVC++-only code in this file and other files.)
58
59 2012-09-07  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
60
61         Fix 'make check' with gcc 4.7.
62
63         * sigc++/adaptors/lambda/macros/base.h.m4: Define sigc::unwrap_lambda_value()
64         before it's used in sigc::lambda::operator[]() and operator=().
65         * sigc++/adaptors/lambda/macros/group.h.m4: Fix the C++11 examples in the
66         documentation as in test_cpp11_lambda.cc.
67         * tests/test_cpp11_lambda.cc: Only variables with automatic storage duration
68         shall be captured in C++11 lambda expressions.
69
70 2012-08-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
71
72         Update .gitignore and tests/.gitignore
73
74         * .gitignore: Add *~ (gedit's backup files).
75         * tests/.gitignore: Add missing executable test files.
76
77 2012-08-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
78
79         Add SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH for C++11 lambda expressions.
80
81         * sigc++/functors/macros/functor_trait.h.m4: Add the preprocessor macro
82         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH(C_keyword), which makes it possible to
83         assign C++11 lambda expressions with any return type to slots.
84         Thanks to Chow Loong Jin, who posted similar code on libsigc-list.
85         * sigc++/adaptors/lambda/macros/base.h.m4:
86         * sigc++/adaptors/lambda/macros/group.h.m4: Add information on C++11 lambda
87         expressions to the documentation of lambda expressions and sigc::group().
88         * tests/Makefile.am: Add test_cpp11_lambda.cc.
89         * tests/test_cpp11_lambda.cc: New test case, showing that most uses of
90         libsigc++'s lambda expressions can be replaced by standard C++11 lambda
91         expressions. Bug #672555.
92
93 2012-03-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
94
95         Enable test_lambda in 'make check'.
96
97         * tests/Makefile.am: Enable test_lambda in 'make check'.
98         * tests/test_lambda.cc: Comment out the tests with sigc::ref() in lambda
99         functions' parameter lists. See Bug #669128.
100
101 2.2.10:
102
103 2011-07-21  Thomas Rydzynski  <qsorix@rydznet.pl>
104
105         Mention visit_each() in the documentation of sigc::adapts.
106
107         * sigc++/adaptors/macros/adaptor_trait.h.m4: Mention that a user-supplied
108         adaptor must be accompanied by a specialization of template function
109         visit_each(). Correct some minor errors in the example of a user-supplied
110         adaptor. Bug #486373.
111
112 2011-07-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
113
114         Add a test case for the previous commit.
115
116         * tests/Makefile.am:
117         * tests/test_bind_refptr.cc: A version of this test is also in glibmm.
118         Note that this includes a copy/paste of RefPtr.
119         See Bug #564005#14 (Alexander Shaduri)
120
121 2011-07-14  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
122
123         slot_rep: Avoid access to deleted object in notify().
124
125         * sigc++/functors/slot_base.cc: slot_rep::notify() calls disconnect() before
126         destroy(). If disconnect() has deleted the slot_rep object, destroy() is not
127         called. Bug #564005.
128
129 2.2.9:
130
131 2011-02-22  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
132
133         trackable: Avoid calling the same callback function twice
134
135         * sigc++/trackable.cc: Invalidate a callback function entry in
136         trackable_callback_list::remove_callback() when the list is being cleared.
137         Bug 589202.
138
139 2011-02-04  Kalev Lember  <kalev@smartlink.ee>
140
141         Fix the build with GCC 4.6
142
143         * sigc++/signal_base.h: Include <cstddef> for size_t.
144
145 2010-10-12  David King  <davidk@openismus.com>
146
147         Documentation changes
148
149         * *.h.m4: Minor changes to documentation to fix up code example
150         formatting, by removing the additional two spaces of indentation.
151         Additionally, fix some spelling and grammar mistakes and typos.
152
153 2010-09-27  Armin Burgmeier  <armin@arbur.net>
154
155         * MSVC_Net2005/libsigc++2.sln:
156         * MSVC_Net2005/libsigc++2.vcproj:
157         * MSVC_Net2005/tests/test_accumulated/test_accumulated.vcproj:
158         * MSVC_Net2005/tests/test_bind/test_bind.vcproj:
159         * MSVC_Net2005/tests/test_bind_return/test_bind_return.vcproj:
160         * MSVC_Net2005/tests/test_compose/test_compose.vcproj:
161         * MSVC_Net2005/tests/test_deduce_result_type/test_deduce_result_type.vcproj:
162         * MSVC_Net2005/tests/test_disconnect/test_disconnect.vcproj:
163         * MSVC_Net2005/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj:
164         * MSVC_Net2005/tests/test_exception_catch/test_exception_catch.vcproj:
165         * MSVC_Net2005/tests/test_functor_trait/test_functor_trait.vcproj:
166         * MSVC_Net2005/tests/test_hide/test_hide.vcproj:
167         * MSVC_Net2005/tests/test_mem_fun/test_mem_fun.vcproj:
168         * MSVC_Net2005/tests/test_ptr_fun/test_ptr_fun.vcproj:
169         * MSVC_Net2005/tests/test_retype/test_retype.vcproj:
170         * MSVC_Net2005/tests/test_retype_return/test_retype_return.vcproj:
171         * MSVC_Net2005/tests/test_signal/test_signal.vcproj:
172         * MSVC_Net2005/tests/test_size/test_size.vcproj:
173         * MSVC_Net2005/tests/test_slot/test_slot.vcproj:
174         * MSVC_Net2005/tests/test_trackable/test_trackable.vcproj:
175         * MSVC_Net2008/libsigc++2.sln:
176         * MSVC_Net2008/libsigc++2.vcproj:
177         * MSVC_Net2008/tests/test_accumulated/test_accumulated.vcproj:
178         * MSVC_Net2008/tests/test_bind/test_bind.vcproj:
179         * MSVC_Net2008/tests/test_bind_return/test_bind_return.vcproj:
180         * MSVC_Net2008/tests/test_compose/test_compose.vcproj:
181         * MSVC_Net2008/tests/test_deduce_result_type/test_deduce_result_type.vcproj:
182         * MSVC_Net2008/tests/test_disconnect/test_disconnect.vcproj:
183         * MSVC_Net2008/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj:
184         * MSVC_Net2008/tests/test_exception_catch/test_exception_catch.vcproj:
185         * MSVC_Net2008/tests/test_functor_trait/test_functor_trait.vcproj:
186         * MSVC_Net2008/tests/test_hide/test_hide.vcproj:
187         * MSVC_Net2008/tests/test_mem_fun/test_mem_fun.vcproj:
188         * MSVC_Net2008/tests/test_ptr_fun/test_ptr_fun.vcproj:
189         * MSVC_Net2008/tests/test_retype/test_retype.vcproj:
190         * MSVC_Net2008/tests/test_retype_return/test_retype_return.vcproj:
191         * MSVC_Net2008/tests/test_signal/test_signal.vcproj:
192         * MSVC_Net2008/tests/test_size/test_size.vcproj:
193         * MSVC_Net2008/tests/test_slot/test_slot.vcproj:
194         * MSVC_Net2008/tests/test_trackable/test_trackable.vcproj:
195         * MSVC_Net2010/libsigc++2.vcxproj:
196         * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj:
197         * MSVC_Net2010/tests/test_bind/test_bind.vcxproj:
198         * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj:
199         * MSVC_Net2010/tests/test_compose/test_compose.vcxproj:
200         * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj:
201         * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj:
202         * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj:
203         * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj:
204         * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj:
205         * MSVC_Net2010/tests/test_hide/test_hide.vcxproj:
206         * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj:
207         * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj:
208         * MSVC_Net2010/tests/test_retype/test_retype.vcxproj:
209         * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj:
210         * MSVC_Net2010/tests/test_signal/test_signal.vcxproj:
211         * MSVC_Net2010/tests/test_size/test_size.vcxproj:
212         * MSVC_Net2010/tests/test_slot/test_slot.vcxproj:
213         * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj: Add 64
214         bit support to MSVC project files.
215
216 2010-09-27  Armin Burgmeier  <armin@arbur.net>
217
218         * MSVC_Net2005/libsigc++2.sln:
219         * MSVC_Net2005/tests/test_accumulated/test_accumulated.vcproj:
220         * MSVC_Net2008/libsigc++2.sln:
221         * MSVC_Net2008/tests/test_accumulated/test_accumulated.vcproj: Add
222         test_accumulated to the MSVC projects.
223
224 2010-09-19  Armin Burgmeier  <armin@arbur.net>
225
226         * MSVC_Net2010/filelist.am:
227         * MSVC_Net2010/libsigc++2.sln:
228         * MSVC_Net2010/libsigc++2.vcxproj:
229         * MSVC_Net2010/libsigc++2.vcxproj.filters:
230         * MSVC_Net2010/sigc.rc.in:
231         * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj:
232         * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj.filters:
233         * MSVC_Net2010/tests/test_bind/test_bind.vcxproj:
234         * MSVC_Net2010/tests/test_bind/test_bind.vcxproj.filters:
235         * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj:
236         * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj.filters:
237         * MSVC_Net2010/tests/test_compose/test_compose.vcxproj:
238         * MSVC_Net2010/tests/test_compose/test_compose.vcxproj.filters:
239         * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj:
240         * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj.filters:
241         * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj:
242         * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj.filters:
243         * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj:
244         * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj.filters:
245         * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj:
246         * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj.filters:
247         * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj:
248         * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj.filters:
249         * MSVC_Net2010/tests/test_hide/test_hide.vcxproj:
250         * MSVC_Net2010/tests/test_hide/test_hide.vcxproj.filters:
251         * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj:
252         * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj.filters:
253         * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj:
254         * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj.filters:
255         * MSVC_Net2010/tests/test_retype/test_retype.vcxproj:
256         * MSVC_Net2010/tests/test_retype/test_retype.vcxproj.filters:
257         * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj:
258         * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj.filters:
259         * MSVC_Net2010/tests/test_signal/test_signal.vcxproj:
260         * MSVC_Net2010/tests/test_signal/test_signal.vcxproj.filters:
261         * MSVC_Net2010/tests/test_size/test_size.vcxproj:
262         * MSVC_Net2010/tests/test_size/test_size.vcxproj.filters:
263         * MSVC_Net2010/tests/test_slot/test_slot.vcxproj:
264         * MSVC_Net2010/tests/test_slot/test_slot.vcxproj.filters:
265         * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj:
266         * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj.filters:
267
268         * Makefile.am:
269         * configure.ac: Added project files for Visual Studio 2010.
270
271 2010-06-05  David King  <davidk@openismus.com>
272
273         Small website updates
274
275         * docs/index.html: Remove broken namespace links.
276         * docs/website/doc.shtml: Link to library.gnome.org tutorial and API
277         reference.
278
279 2.2.8:
280
281 2010-06-04  Murray Cumming  <murrayc@murrayc.com>
282
283         Manual: Add an id="index" attribute in case that helps library.gnome.org.
284
285         * docs/manual/libsigc_manual.xml: Add it to the <book> tag.
286
287 2.2.7:
288
289 2010-05-04  Murray Cumming  <murrayc@murrayc.com>
290
291         Documentation improvements.
292
293         * docs/manual/libsigc_manual.xml: Remove Marshallers section because
294         it is apparently outdated and there is no example code to test it.
295         This fixes bug #417924 (Michael Ekstrand)
296         * sigc++/sigc++.h: Main page text: Rearranged slightly.
297
298 2010-04-27  David King  <davidk@openismus.com>
299
300         Improvements to main page documentation
301
302         * sigc++/sigc++.h: Minor improvements.
303
304 2010-04-23  David King  <davidk@openismus.com>
305
306         Add main page to Doxygen documentation
307
308         * docs/Makefile.am: Parse sigc++/sigc++.h for documentation.
309         * sigc++/sigc++.h: Add main page to Doxygen documentation.
310
311 2010-04-23  David King  <davidk@openismus.com>
312
313         Fix the functors Doxygen group in the m4 files
314
315         * sigc++/functors/macros/functor_trait.h.m4:
316         * sigc++/functors/macros/mem_fun.h.m4:
317         * sigc++/functors/macros/ptr_fun.h.m4: Rename functors to
318         sigcfunctors.
319
320 2.2.6:
321
322 2010-04-16  Murray Cumming  <murrayc@murrayc-desktop>
323
324         Docs: Fix the functors group and the link from the overview.
325
326         * docs/website/doc.shtml: Revert this to point to the overview page at
327     docs/indeex.html, which I have manually uploaded to the website, until
328     we add this overview to the doxygen-generated documentation itself.
329         * sigc++/functors/slot_base.h:
330         * sigc++/visit_each.h: Rename the functors doxygen group to sigcfunctors,
331     because doxygen seems to confuse it with the one in libstdc++.
332         * docs/index.html: Update the links.
333
334 2010-04-16  Murray Cumming  <murrayc@murrayc.com>
335
336     Website: Fix the Makefile so upload works with sourceforge again.
337
338 2010-04-06  Murray Cumming  <murrayc@murrayc.com>
339
340     Website: Update the reference API link.
341
342         * docs/website/doc.shtml: Update the reference API link to use
343     library.gnome.org. We should make sure that the tutorial docbook is there
344     too.
345     * docs/website/devel.shtml: Remove CVS-specific instructions, quickly
346     mentioning the git module instead.
347     However, the Makefile must be updated to cope with sourceforge's changes.
348     I was not able to upload this yet.
349
350 2.2.5:
351
352 2010-01-05  Daniel Elstner  <daniel.kitta@gmail.com>
353
354         Use non-blurry font for dot graph labels
355
356         * docs/reference/Doxyfile.in (SHOW_INCLUDE_FILES): Enable.
357         (SHOW_USED_FILES): Disable.
358         (DOT_FONTNAME): Change from FreeSans to Sans, as the hinting for the
359         former appears to be rather bad.
360         (TEMPLATE_RELATIONS): Disable to reduce noise.
361
362 2009-12-29  Krzysztof KosiÅ„ski  <tweenk.pl@gmail.com>
363
364         Accumulators: Allow return types that are different to the signal's.
365
366         * sigc++/macros/signal.h.m4: signal_emit*: Correct the slot_iterator_buf_type
367         and slot_reverse_iterator_buf_type typedefs to allow accumulators with
368         return types that are different to the signal's return type.
369         * tests/Makefile.am: Reenable test_accumulated, so we can test the fix.
370         It should be manually disabled if building on AIX (if the AIX problem cannot
371         be fixed properly).
372         * tests/test_accumulated.cc: Add an accumulator with a return type that is
373         different to the signal's return type. In this case it's a vector listing
374         all results.
375         Bug #586436.
376
377 2009-12-27  Daniel Elstner  <daniel.kitta@gmail.com>
378
379         Disable collaboration graphs in documentation
380
381         * docs/reference/Doxyfile.in (CLASS_DIAGRAMS): Enable.  Contrary to
382         what the Doxygen documentation says, no dot class inheritance graphs
383         will be generated if both CLASS_DIAGRAMS and COLLABORATION_GRAPH are
384         set to NO.
385         (COLLABORATION_GRAPH), (GROUP_GRAPHS): Turn off additional graphs to
386         reduce the noise.
387
388 2009-10-26  Armin Burgmeier  <armin@arbur.net>
389
390         * sigc++config.h: Move the first five definitions to the !SIGC_MSC
391         ifdef block, so MSVC does not see them and only uses the definitions
392         from the SIGC_MSC block. This fixes the build with MSVC.
393
394 2009-09-19  Daniel Elstner  <daniel.kitta@gmail.com>
395
396         Support Automake silent rules
397
398         * configure.ac: Call the AM_SILENT_RULES macro if it is defined.
399         * docs/doc-manual.am, sigc++/Makefile.am: Prefix the commands of
400         custom rules with $(AM_V_GEN) or $(AM_V_at) in order to support
401         the silent rules feature of Automake.
402
403 2009-09-17  Michael Hasselmann  <michaelh@openismus.com>
404
405         Documentation cleanup: sigc::hide() always only hides one signal argument
406
407         * sigc++/adaptors/macros/hide.h.m4: The documentation stated that sigc::hide()
408         could discard multiple signal arguments when in fact the whole API only allows
409         control over one (dummy) signal argument at a time. The  "multiple argument
410         hiding" example lives in it own section now to make it clearer you have to nest
411         sigc::hide() for that.
412
413 2009-09-13  Daniel Elstner  <daniel.kitta@gmail.com>
414
415         Enable verbose output of autoreconf
416
417         * autogen.sh: Pass --verbose option to autoreconf.
418
419 2.2.4.2:
420
421 2009-09-02  Daniel Elstner  <danielk@openismus.com>
422
423         Bump version to 2.2.4.2 and update NEWS
424
425         * configure.ac (AC_INIT): Increment version number to 2.2.4.2.
426         (MM_PREREQ): Require mm-common 0.7.2.
427         * NEWS: Write news entry for libsigc++ 2.2.4.2.
428
429 2009-09-02  Daniel Elstner  <danielk@openismus.com>
430
431         Document namespace sigc briefly
432
433         * sigc++/signal_base.h (sigc): Prepend documentation comment to
434         provide a brief description of namespace sigc, so that Doxygen
435         will recognize the namespace as documented.
436
437 2009-08-31  Daniel Elstner  <danielk@openismus.com>
438
439         Update Doxygen configuration for Doxygen 1.6.1
440
441         * docs/reference/Doxyfile.in: Update configuration template using
442         Doxygen 1.6.1.
443         (SORT_MEMBERS_CTORS_1ST): Enable.
444
445 2009-08-31  Daniel Elstner  <danielk@openismus.com>
446
447         Protect space after comma in M4 output
448
449         * sigc++/macros/template.macros.m4 (_LOOP_SEP): Triple-quote the
450         list separator in this hairy construct, since the macro definition
451         itself is not quoted at all and the space after the comma got lost
452         in the output.  This, in turn, produced overlong lines in the HTML
453         reference documentation.
454
455 2.2.4.1:
456
457 2009-08-28  Daniel Elstner  <danielk@openismus.com>
458
459         Update news entry for libsigc++ 2.2.4.1 release
460
461         * NEWS: Update top entry for release 2.2.4.1 of libsigc++.
462         (2.2.4): Correct spelling of Frédéric Péters' name.
463
464 2009-08-27  Daniel Elstner  <danielk@openismus.com>
465
466         Use shared mm-common Doxygen style sheet
467
468         * configure.ac (MM_PREREQ): Require mm-common 0.7.
469         * docs/Makefile.am (dist_noinst_DATA): List doxygen.css.
470         * docs/reference/Doxyfile.in (HTML_STYLESHEET): Assign path
471         to the shared doxygen.css provided by mm-common.
472
473 2009-08-27  Daniel Elstner  <danielk@openismus.com>
474
475         Remove header and footer HTML fragments
476
477         * docs/reference/libsigc_{header,footer}.html_fragment: Delete
478         files.  These custom fragments were an unnecessary maintenance
479         hassle.  Also, the files were out of date with respect to the
480         encoding and CSS classes used by Doxygen.
481         * docs/reference/Doxyfile.in (HTML_HEADER), (HTML_FOOTER): Set
482         to the empty string.
483         (PROJECT_NAME): Substitute @PACKAGE_NAME@.
484         (PROJECT_NUMBER): Substitute @PACKAGE_VERSION@.  It does look
485         nicer in the generated HTML pages, and is probably also less
486         confusing.
487         (SORT_GROUP_NAMES): Enable for predictability.
488
489 2009-08-26  Daniel Elstner  <danielk@openismus.com>
490
491         Bump version to 2.2.4.1 and update NEWS
492
493         * configure.ac (AC_INIT): Increment version number to 2.2.4.1.
494         * NEWS: Write news entry for libsigc++ 2.2.4.1.
495
496 2009-08-26  Daniel Elstner  <danielk@openismus.com>
497
498         Reenable hierarchy graphs for each class
499
500         * docs/reference/Doxyfile.in (COLLABORATION_GRAPH): Set option
501         to YES to enable the per-class inheritance graphs.
502
503 2009-08-25  Daniel Elstner  <danielk@openismus.com>
504
505         Have Automake check NEWS and use bzip2
506
507         * configure.ac (AM_INIT_AUTOMAKE): Add options check-news and
508         dist-bzip2.
509
510 2009-08-25  Daniel Elstner  <danielk@openismus.com>
511
512         Update NEWS for libsigc++ 2.2.4 release
513
514 2009-08-25  Daniel Elstner  <danielk@openismus.com>
515
516         Bump version to 2.2.4 and require mm-common 0.6.1
517
518         * configure.ac (AC_INIT): Increase version number to 2.2.4.
519         (MM_PREREQ): Require mm-common 0.6.1 for the updated default
520         location of the reference documentation.
521
522 2009-08-25  Daniel Elstner  <danielk@openismus.com>
523
524         Change documentation host to library.gnome.org
525
526         * README, docs/manual/libsigc_manual.xml: Adjust links to the
527         reference documentation in the text.
528         * docs/Makefile.am (pubdocbase), (htmlrefpub): Remove override
529         and use the updated mm-common default values.
530         * sigc++{,-uninstalled}.pc.in (htmlrefpub): Adjust link.
531
532 2009-08-24  Daniel Elstner  <danielk@openismus.com>
533
534         Add id="content" element to documentation index
535
536         * docs/reference/libsigc_header.html_fragment: Start <div> element
537         with attribute id="content" to match the other C++ binding modules.
538         * docs/reference/libsigc_footer.html_fragment: Close <div> element.
539
540 2009-08-20  Daniel Elstner  <danielk@openismus.com>
541
542         Use new version component substitutions
543
544         * MSVC_Net200[58]/sigc.rc.in: Replace the no longer defined
545         @FP_*_VERSION@ substitutions by the new @SIGCXX_*_VERSION@
546         substitutions for the version number components.  These are
547         defined by MM_INIT_MODULE() from mm-common.
548
549 2009-08-20  Daniel Elstner  <danielk@openismus.com>
550
551         Substitute API version in filenames dynamically
552
553         * sigc++.pc.in: Rename file from sigc++-2.0.pc.in.
554         * sigc++-uninstalled.pc.in: Rename file from
555         sigc++-2.0-uninstalled.pc.in.
556         * MSVC_Net200[58]/sigc.rc.in: Rename files from sigc-2.0.rc.in
557         and use @SIGCXX_API_VERSION@ substitution for the API version.
558         Also replace @VERSION@ with @PACKAGE_VERSION@.
559         * MSVC_Net200[58]/libsigc++2.{sln,vcproj}: Remove version from
560         the project name and filenames.
561         * MSVC_Net200[58]/filelist.am: Remove version from filenames.
562         * configure.ac (AC_CONFIG_FILES): Insert ${SIGCXX_MODULE_NAME}
563         into output filenames and remove the version from the input
564         filenames.
565         * Makefile.am: Use $(SIGCXX_MODULE_NAME) in pkg-config file
566         names instead of hard-coding the API version.
567         * sigc++/Makefile.am (lib_LTLIBRARIES): Instead of hard-coding
568         the libtool archive name, substitute @SIGCXX_API_VERSION@ into
569         it, as well as into the derived variable names.
570
571 2009-08-17  Daniel Elstner  <danielk@openismus.com>
572
573         Set libtool version information
574
575         * sigc++/Makefile.am (libsigc_2_0_la_LDFLAGS): Add libtool option
576         -version-info 0:0:0 to specify the version information explicitly.
577
578 2009-08-16  Daniel Elstner  <daniel.kitta@gmail.com>
579
580         Remove unused parameter names for correctness
581
582         * tests/test_copy_invalid_slot.cc, tests/test_custom.cc,
583         tests/test_deduce_result_type.cc, tests/test_functor_trait.cc,
584         tests/test_limit_reference.cc: Remove the names of unused function
585         parameters from the prototype, in order to get libsigc++ to build
586         with fatal compiler warnings.
587
588 2009-08-16  Daniel Elstner  <daniel.kitta@gmail.com>
589
590         Rename scripts/ to build/ for consistency
591
592         * build/: Rename directory from scripts/ for consistency with most
593         of the other modules that switched to the new build infrastructure.
594         * Makefile.am (ACLOCAL_AMFLAGS): Adjust M4 include directory.
595         * README: Adjust a reference to scripts/ in the text.
596         * configure.ac (AC_CONFIG_AUX_DIR): Copy auxiliary files to build/.
597         (AC_CONFIG_MACRO_DIR): Place Autoconf M4 files into build/.
598         * docs/Makefile.am: Include $(top_srcdir)/build/doc-reference.am.
599
600 2009-08-16  Daniel Elstner  <danielk@openismus.com>
601
602         Update for latest mm-common 0.4
603
604         * configure.ac (MM_PREREQ): Require mm-common 0.4.
605         (MM_INIT_MODULE): Omit now optional version number argument.
606         (MM_CONFIG_DOCTOOL_DIR): Copy the documentation utilities into docs/
607         instead of scripts/.
608         * Makefile.am (dist_noinst_DATA): Remove documentation utilities.
609         * sigc++-2.0.pc.in (htmlrefpub): Append trailing slash.
610         * sigc++-2.0-uninstalled.pc.in (htmlrefpub): ditto,
611         * docs/Makefile.am (htmlrefpub): ditto.
612         (doc_input): Perform a VPATH search for each input file, to correctly
613         handle the case of rebuilding the documentation of a tarball release
614         which includes the generated sources.
615         (dist_noinst_DATA): List documentation utilities.
616
617 2009-08-11  Daniel Elstner  <danielk@openismus.com>
618
619         Do not recurse into MSVC subdirectories
620
621         * MSVC_Net200[58]/filelist.am: New Automake include files, defining
622         the lists of files to ship from the MSVC project directories.
623         * MSVC_Net200[58]/Makefile.am: Delete recursive Makefile.am files.
624         * Makefile.am: Include MSVC_Net200[58]/filelist.am.
625         (dist_noinst_DATA): Distribute MSVC project files.
626         (SUBDIRS): Do not recurse into the MSVC_Net200[58] subdirectories.
627         * configure.ac (AC_CONFIG_FILES): Remove the output files
628         MSVC_Net200[58]/Makefile.am from the list.
629         (AC_CONFIG_COMMANDS): Copy sigc++config.h into the MSVC project
630         directories at the end of config.status.
631
632 2009-08-11  Daniel Elstner  <danielk@openismus.com>
633
634         Remove now superfluous doctool overrides
635
636         * docs/Makefile.am: Remove overrides for the documentation
637         utilities, since MM_CONFIG_DOCTOOL_DIR() already takes care
638         of setting MMDOCTOOLDIR to the local directory.
639         * sigc++-2.0.pc.in (datadir): Substitute value, just in case.
640
641 2009-08-10  Daniel Elstner  <danielk@openismus.com>
642
643         Have mm-common-prepare install the doc utils
644
645         * configure.ac: Call MM_CONFIG_DOCTOOL_DIR([scripts]) to set
646         up the destination directory for mm-common-prepare to copy
647         the documentation utilities to.
648         * scripts/doc-install.pl: Delete file.
649         * scripts/doc-postprocess.pl: ditto,
650         * scripts/tagfile-to-devhelp2.xsl: ditto.
651
652 2009-08-09  Daniel Elstner  <danielk@openismus.com>
653
654         Refresh doc-install and doc-postprocess copies
655
656         * scripts/doc-install.pl, scripts/doc-postprocess.pl: Copy
657         latest versions from the mm-common module.
658         * docs/Makefile.am (doc_install), (doc_postprocess): Include
659         $(PERL) interpreter command in front of the script name.
660
661 2009-08-08  Daniel Elstner  <danielk@openismus.com>
662
663         Disable extraction of undocumented identifiers
664
665         * docs/reference/Doxyfile.in (EXTRACT_ALL): Change setting to
666         NO, and adapt a number of related options accordingly.  The
667         result is a net loss of about 300 generated .html files.  The
668         roughly 450 files which remain now are still an insanely high
669         number, though.
670         (PREDEFINED): Predefine the Autoconf configuration defines to
671         nudge Doxygen towards documenting the canonical code paths.
672
673 2009-08-07  Daniel Elstner  <danielk@openismus.com>
674
675         Use #error explicitly instead of broken code
676
677         * sigc++config.h.in: Do use the #error preprocessor directive,
678         instead of an errornous piece of code.  This code does not need
679         the same level of obfuscation as an Autoconf feature test.
680
681 2009-08-07  Daniel Elstner  <danielk@openismus.com>
682
683         Change bug report URL to point to Bugzilla
684
685         * configure.ac (AC_INIT): Change the bug-report argument to the
686         URL for filing a new libsigc++ bug on bugzilla.gnome.org.  Also
687         name the website URL as fifth argument.  It will simply be ignored
688         if the installed Autoconf does not support this new feature.
689
690 2009-08-07  Daniel Elstner  <danielk@openismus.com>
691
692         Do not enable -pedantic mode by default
693
694         * configure.ac (MM_ARG_ENABLE_WARNINGS): Remove -pedantic from the
695         list of compiler flags to use at warning level "min" (the default).
696
697 2009-08-07  Daniel Elstner  <danielk@openismus.com>
698
699         Correct M4 forbidden tokens pattern
700
701         * configure.ac (m4_pattern_forbid): Take into account that the
702         pattern is applied to tokens, not lines.  Also catch unexpanded
703         calls to underscore-prefixed private macros.
704
705 2009-08-06  Daniel Elstner  <danielk@openismus.com>
706
707         Transition to new mm-common build infrastructure
708
709         * autogen.sh: Replace with a minimal script that simply executes
710         mm-common-prepare, autoreconf and configure.
711         * configure.ac: Get rid of an enormous amount of old cruft.  Use
712         macros from the new mm-common module to set up Doxygen for building
713         the documentation.  Add option to enable more compiler warnings.
714         * sigc++-2.0-uninstalled.pc.in: New pkg-config data file to allow
715         linking to an uninstalled libsigc++.
716         * sigc++-2.0.pc.in: Modernize.  Provide the location of the
717         installed reference documentation and the Doxygen tag file.
718         * sigc++config.h.in: Modernize and update for new build
719         infrastructure.
720         * Makefile.am, */Makefile.am: Modernize and adapt to the new C++
721         binding build infrastructure in the mm-common module.
722         * sigc++/filelist.am: New Automake include file.  Defines lists
723         of C++ and M4 source files.
724         * docs/Makefile.am: Rewrite using doc-reference.am from the
725         mm-common module.
726         * docs/doc-manual.am: New Automake include file for building the
727         libsigc++ Docbook manual.
728         * docs/images/Makefile.am: Remove file.
729         * docs/manual/Makefile.am: ditto,
730         * docs/reference/Makefile.am: ditto.
731         * docs/Makefile_web.am_fragment: Remove for now, to be taken care
732         of later.
733         * docs/reference/Doxyfile.in: Modernize and adapt to new build
734         infrastructure.
735         * docs/reference/beautify_docs.pl: Remove and use the more recent
736         scripts/doc-postprocess.pl instead.
737         * libsigc++-2.0.spec.in: Remove, to be resurrected only if someone
738         complains.
739         * scripts/Makefile.am: Remove file.  Distribute the files from the
740         toplevel Makefile.am instead.
741         * scripts/cxx_std.m4: Add missing third argument to AC_DEFINE().
742         * scripts/doc-install.pl: New file, copied from mm-common.
743         * scripts/doc-postprocess.pl: ditto,
744         * scripts/tagfile-to-devhelp2.xsl: ditto.
745
746 2008-11-13  Murray Cumming  <murrayc@murrayc.com>
747
748         * docs/website/stable.shtml: Correct the download link so it shows all
749         versions, not just 2.0.
750
751 2.2.3:
752
753 2008-10-08  Armin Burgmeier  <armin@arbur.net>
754
755         * MSVN_Net2005/libsigc++2.vcproj: Changed output name to match the new
756         naming convention.
757
758         * MSVC_Net2008/: Added MSVC 2008 project files. These are basically
759         the same as for MSVC 2005, but converted to MSVC 2008 projects.
760
761         * configure.ac:
762         * Makefile.am: Added the new files to the build.
763
764 2008-08-08  Armin Burgmeier  <armin@arbur.net>
765
766         * MSVC_Net2005/libsigc++2.sln: Enable the disconnect_during_emit test
767         by default.
768
769         * MSVC_Net2005/libsigc++2.vcproj: Renamed the generated debug database
770         file to sigc-2.0d.pdb (the default), to stay consistent with the *mm
771         wrapper libraries.
772
773 2008-08-08  Armin Burgmeier  <armin@arbur.net>
774
775         * MSVC_Net2005/: Moved from MSVC_Net2003.
776
777         * MSVC_Net2005/libsigc++2.sln:
778         * MSVC_Net2005/libsigc++2.vcproj:
779         * MSVC_Net2005/tests/*/*.vcproj: Converted the Visual Studio 2003
780         project files to 2005 ones.
781
782         * MSVC_Net2005/Makefile.am:
783         * Makefile.am:
784         * configure.ac: Adapted build files accordingly.
785
786 2008-04-06 Cedric Gustin <cedric.gustin@gmail.com>
787
788         * MSVC_Net2003/sigc-2.0.rc.in: Removed ATL/MFC header files
789         dependency as afxres.h is not part of the Microsoft Platform
790         SDK provided with Visual C++ Express 2008.
791         Bug #503933.
792
793 2.2.2:
794
795 2008-03-10  Deng Xiyue  <manphiz@gmail.com
796
797         * sigc++/macros/slot.h.m4:
798         Added an include of functors/slot.h that was mistakenly removed
799         during the 2.1 series, apparently breaking API slightly.
800         Bug #521418.
801
802 2.2.1:
803
804 2008-02-28  Elaine Xiong  <elaine.xiong@sun.com>
805
806         * sigc++/macros/signal.h.m4:
807         * tests/test_accum_iter.cc: Add ifdefs around uses of
808         reverse_iterator to really fix the build with recent
809         versions of Sun CC.
810         Bug #302098.
811
812 2.2.0:
813
814 2008-01-01  Ryan Hill  <dirtyepic@gentoo.>
815
816         * tests/test_copy_invalid_slot.cc: Include the cstdlib
817         and cstring headers to fix the build with the gcc 4.3
818         pre-release. Bug #454882.
819
820 2007-08-31  Murray Cumming  <murrayc@murrayc.com>
821
822         * tests/test_copy_invalid_slot.cc: Added some includes to
823         fix the build in some environments, such as when using Sun CC.
824         Thanks to Vladimir Marek in bug #469872.
825
826 2.1.1:
827
828 2007-08-14  Murray Cumming  <murrayc@murrayc.com>
829
830         * sigc++/Makefile.am:
831         * sigc++/compatibility.h: Removed this header.
832         * sigc++/bind.h:
833         * sigc++/bind_return.h:
834         * sigc++/connection.h:
835         * sigc++/macros/class_slot.h.m4:
836         * sigc++/macros/hide.h.m4:
837         * sigc++/macros/method_slot.h.m4:
838         * sigc++/macros/object_slot.h.m4:
839         * sigc++/macros/retype.h.m4:
840         * sigc++/macros/signal.h.m4:
841         * sigc++/macros/slot.h.m4:
842         * sigc++/object.h:
843         * sigc++/retype_return.h: Removed deprecated
844         compatibility API, to probably fix the build with
845         some compilers, such as some versions of the Sun Forte C++
846         CC compiler. Some of these headers are now mostly empty and
847         should be removed later.
848         This API has been deprecated April 2004, and
849         is not widely used, so it seems safe to do this now.
850
851         * tests/Makefile.am:
852         * tests/test_compatibility.cc: Removed this test.
853
854 2007-07-28  Michael Elkstrand  <michael@elehack.net>
855
856         * sigc++/macros/signal.h.m4: slot_iterator_buf,
857         slot_reverse_iterator_buf: Added typedefs for
858         value_type, reference, and pointer, so that these
859         iterators are more like standard C++ iterators, so they can
860         be used with standard C++ algorithms.
861         * tests/Makefile.am:
862         * tests/test_accum_iter.cc: Added a test for this.
863         Bug #417926.
864
865 2006-11-14  Daniel Elstner  <daniel.kitta@gmail.com>
866
867         * autogen.sh: Wholly replace this script with a critter from one
868         of my personal projects, with slight modifications.  This one does
869         some sophisticated stuff like probing version numbers of available
870         automake and aclocal executables, in order to choose the right one
871         accordingly.  All this is necessary to make the build system work
872         robustly in custom environments such as Maemo where automake-1.9
873         doesn't come preinstalled.
874
875 2006-06-20  Murray Cumming  <murrayc@murrayc.com>
876
877         * sigc++/adaptors/macros/bind.h.m4:
878         * sigc++/adaptors/macros/retype.h.m4:
879         * sigc++/functors/macros/functor_trait.h.m4:
880         * sigc++/functors/macros/slot.h.m4:
881         * sigc++/macros/retype.h.m4:
882         * sigc++/macros/signal.h.m4: Revert the previous changes, because none is
883         used in the exported symbol names from gtkmm, so this would break the ABI
884         of gtkmm.
885
886 2006-05-26  Régis Duchesne <hpreg@vmware.com>
887
888         * sigc++/adaptors/macros/bind.h.m4:
889         * sigc++/adaptors/macros/retype.h.m4:
890         * sigc++/functors/macros/functor_trait.h.m4:
891         * sigc++/functors/macros/slot.h.m4:
892         * sigc++/macros/retype.h.m4:
893         * sigc++/macros/signal.h.m4:
894         Renamed 'nil' to 'none' to allow an Objective-C++ compiler to compile
895         the library header files.
896
897 2005-12-21  Murray Cumming  <murrayc@murrayc.com>
898
899         * sigc++/macros/signal.h.m4: Make remaining
900         reverse_iterator_buf operator--() methods
901         return by reference, like the operator++() methods.
902         Bug #304402 from John Profic.
903
904 2005-12-20  Murray Cumming  <murrayc@murrayc.com>
905
906         * sigc++/macros/signal.h.m4: Make all operator--() methods
907         return by reference, like the operator++() methods.
908         Bug #304402 from John Profic.
909
910 2005-12-14  John Profic <profic@kursknet.ru>
911
912         * sigc++/macros/signal.h.m4: Fix compilation problem in
913         the last patch.
914
915 2005-12-14  John Profic <profic@kursknet.ru>
916
917         * sigc++/macros/signal.h.m4: Added emit_reverse().
918
919 This is the HEAD branch, for API/ABI-compatible API additions.
920 See also the libsigc-2-0 branch.
921
922 2005-12-01  Murray Cumming <murrayc@murrayc.com>
923
924         * sigc++/functors/slot_base.cc:
925         slot_base::disconnect(): Set call_ to 0,
926         to invalidate the slot, even if parent_ is 0.
927         I think parent_ is, for instance, a signal, but
928         disconnect should still work on a slot that is not
929         connected to a signal, because a slot can be invoked
930         directly.
931         Fixes bug #311057 from James Lin.
932
933 2005-12-01  Murray Cumming <murrayc@murrayc.com>
934
935         * tests/Makefile.am:
936         * tests/test_slot_disconnect.cc: Added test
937         case from bug #311057.
938
939 2005-11-16  Philipp Berndt  <philipp.berndt@gmx.net>
940
941         * sigc++/adaptors/macros/exception_catch.h.m4: Make member
942         exception_catch_functor<T_functor, T_catcher, void>::catcher_
943         public so that it can be accessed by visit_each()
944         (bug fixed for generalization on 2004-11-06)
945
946 2.0.16:
947
948 2005-08-01  Neal E. Coombes  <nealc@trdlnk.com>
949
950         * sigc++/signal_base.h: Updated the documentation for temp_slot_list
951         as requested in bug #303896.
952
953 2005-08-01  Murray Cumming  <murrayc@murrayc.com>
954
955         * sigc++/adaptors/hide.h.m4: Added missing
956         ) in call to sun_forte_workaround(), fixing
957         build on SUN Forte 5.5. Bug #312020.
958
959 2005-08-19  Bruno Martinez <brunom@fing.edu.uy>
960
961         * sigc++/type_traits.h: Renamed
962         ::sigc::is_base_and_derived::internal to
963         ::sigc::is_base_and_derived::internal_class
964         in order to avoid conflict with
965         namespace internal.
966
967 2005-07-13  Murray Cumming  <murrayc@murrayc.com>
968
969         * docs/manual/libsigc_manual.xml: Correct mentions of
970         1.2 stuff instead of 2.0. Patch in bug #310213 from
971         pebble.org.uk.
972
973 2005-07-13  Murray Cumming  <murrayc@murrayc.com>
974
975         * docs/manual/libsigc_manual.xml: Fixed typo
976         found by Antonio Coralles.
977
978 2005-07-09  Murray Cumming  <murrayc@murrayc.com>
979
980         * sigc++/macros/signal.h.m4: Did the same (see
981         last commit) for slot_const_iterator and
982         slot_iterator_buf.
983
984 2005-07-09  Murray Cumming  <murrayc@murrayc.com>
985
986         * sigc++/macros/signal.h.m4: slot_iterator:
987         operator--() now returns value, not reference, like
988         operator++() already did. This caused crashes when
989         using --no-inline with g++. Bug #308651 by
990         Michael Andres.
991
992 2.0.15:
993
994 2005-07-04  Philip Langdale  <plangdale@vmware.com>
995
996         * sigc++/adaptors/macros/compose.h.m4: Add a setter typedef to
997         compose*_functor and use it instead of the (incorrect) getter
998         typedef in the compose* specialization of visit_each<>().
999         This corrects the lifetime management of slots created with
1000         compose(). Bug #308433.
1001
1002 2005-06-13  Marek Rouchal  <marek.rouchal@infineon.com>
1003
1004         * tests/test_deduce_result_type.cc: Specify int return type
1005         for main(), to be more ISO C++ compliant. Bug #307478.
1006
1007 2005-06-11  Andris Pavenis <pavenis@latnet.lv>
1008
1009         * sigc++/adaptors/lambda/macros/base.h.m4:
1010         * sigc++/adaptors/lambda/macros/select.h.m4
1011         * sigc++/adaptors/macros/hide.h.m4: Specify only a type (not a
1012         parameter name) for unused member function parameters
1013
1014 2005-06-12  Paul Pogonyshev  <pogonyshev@gmx.net>
1015
1016         * configure.ac:
1017         * scripts/cxx.m4:
1018         * sigc++config.h.in: Add test for whether the compiler allows
1019         referencing to member functions of the class/structure being
1020         declared from a definition of a static member variable.
1021         Supposedly a generic solution for GCC 3.2 compilation problems.
1022
1023         * sigc++/type_traits.h: Define SIGC_WRAP_IS_BASE_CLASS_ based on
1024         results of the above test.
1025         (struct is_base_and_derived): Wrap up is_base_class_() functions
1026         in an internal class if SIGC_WRAP_IS_BASE_CLASS_ is defined.
1027
1028 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
1029
1030         * sigc++/adaptors/macros/bind.h.m4:
1031         * sigc++/functors/macros/slot.h.m4:
1032         * sigc++/macros/signal.h.m4: Use CALL_SIZE instead of
1033         hard-coded 7s and 6s.
1034
1035 2.0.14:
1036
1037 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
1038
1039         * sigc++/visit_each.h: Make the
1040         limit_derived_target::with_type inner class an outer class,
1041         to satisfy the SUN CC 5.7 compiler, though I think it is a
1042         compiler bug. Bug #302098 has the test case.
1043
1044 2.0.13:
1045
1046 2005-06-07  Murray Cumming <murrayc@murrayc.com>
1047
1048         * tests/test_compatibility.cc: Specify the actual class when
1049         using test_int(), instead of the derived class, to fix the build
1050         on SUN Forte CC 5.5. Patch from Friedemann Kleint in
1051         Bug #305647
1052
1053 2005-06-07  Murray Cumming <murrayc@murrayc.com>
1054
1055         * sigc++/macros/signal.h.m4: signal_emit::emit(): Use scope to
1056         ensure a certain order of destruction of the member variables, to
1057         avoid a leak on MSVC++. Patch by Andreas Ames in Bug #306249.
1058
1059 2005-06-07  Murray Cumming <murrayc@murrayc.com>
1060
1061         * sigc++/macros/signal.h.m4: Added comments about commenting-out
1062         SIGC_TYPEDEF_REDEFINE_ALLOWED when using SUN Forte CC 5.7,
1063         because I can not seem to create a test for it.
1064
1065 2005-06-07  Murray Cumming <murrayc@murrayc.com>
1066
1067         * configure.ac:
1068         * scripts/cxx_std.m4:
1069         * sigc++/macros/signal.h.m4:
1070         * sigc++config.h.in: Added check for
1071         the non-standard SUN Forte reverse_iterator<>,
1072         and used it. This is based on the same stuff in
1073         gtkmm.
1074
1075 2005-06-07  Murray Cumming <murrayc@murrayc.com>
1076
1077         * sigc++/visit_each.h: limit_derived_target(): Just some whitespace
1078         changes.
1079
1080 2005-05-16  Neal E. Coombes  <nealc@trdlnk.com>
1081
1082         * sigc++/signal_base.h:  Modified temp_slot_list to be a temporary view
1083         into a slot list.  Instead of emptying the original it now simply tacks
1084         a placeholder to the end of the original.  It then uses this as it's
1085         'end' iterator.  This should allow for conscious recursiveness, as well
1086         as inserting a slot to any position in the slot list during emittion.
1087         See bug #303896.
1088
1089 2005-06-04  Friedemann Kleint <kleint@bifab.de>
1090
1091         * sigc++/macros/limit_reference.h.m4:
1092         visit_each() template specializations:
1093         Mention the bool I_derives_trackable
1094         template type, to fix the build on Solaris
1095         Forte 5.5.
1096
1097 2.0.12:
1098
1099 2005-05-06  Régis Duchesne <hpreg@vmware.com>
1100
1101         * sigc++/macros/limit_reference.h.m4 (added):
1102         * sigc++/Makefile.am:
1103         New class that just stores a reference, and makes sure that if the
1104         reference derives from trackable, then the trackable reference will be
1105         used instead of the derived reference in visit_each().
1106         * sigc++/functors/macros/mem_fun.h.m4: Better fix for bug #169225 by
1107         Régis Duchesne and Christian Hammond, based on the new limit_reference
1108         class.
1109         * sigc++/adaptors/bound_argument.h (added): New class (built upon the
1110         new limit_reference class) that handles all 3 kinds of bound arguments:
1111         by value, by reference, and by constant reference. References are
1112         unwrapped in the bound_argument's constructor.
1113         * sigc++/adaptors/macros/bind.h.m4: Fix for bug #302327 by Régis
1114         Duchesne. Bound arguments now need to know whether they are passed by
1115         reference or not. So bind() now builds bind_functor instances using
1116         'reference_wrapper<Foo>' types, instead of 'Foo &' types. The
1117         bind_functor code is modified to compensate.
1118         * sigc++/adaptors/macros/bind_return.h.m4: Similar fix for a similar
1119         bug (unfiled) with bound return arguments.
1120         * sigc++/reference_wrapper.h:
1121         * sigc++/type_traits.h:
1122         The reference_wrapper class is only used in bound_argument.h. Put
1123         correct but unused code under #if 0.
1124         * sigc++/adaptors/lambda/base.h: This file needs reference_wrapper.h,
1125         but was incorrectly relying on type_traits.h to include it.
1126         * tests/Makefile.am:
1127         * tests/test_virtualbase_delete.cc (deleted):
1128         * tests/test_virtualbase_delete_ref_param.cc (deleted):
1129         * tests/test_limit_reference.cc (added):
1130         Replaced test_virtualbase_delete*.cc with a simpler
1131         test_limit_reference.cc which checks for all 3 aspects of the same bug
1132         in one file.
1133         * tests/test_bind_ref.cc: Slots must use 'Foo &' types. We were lucky
1134         this broken usage worked before this change. The change in
1135         type_traits.h made this bug obvious, by preventing the code to compile.
1136         * tests/test_bind_return.cc: After my change, bind() and bind_return()
1137         must use 'reference_wrapper<Foo>' types.
1138         * tests/test_custom.cc: Made this test a no-op (so it does not perturb
1139         'make check' on released versions of the library) and made it a
1140         template ready to be modified by hackers.
1141
1142 2005-05-01  Murray Cumming <murrayc@murrayc.com>
1143
1144         * sigc++/functors/slot_base.cc:
1145         slot_base::slot_base(src): If the source
1146         slot_base has a null rep->call_, meaning that the
1147         slot is invalid, just return a default-constructed
1148         slot, to prevent the crash shown in
1149         tests/tests_copy_invalid_slot.cc. Bug #302515 by
1150         Régis Duchesne.
1151
1152 2005-05-01  Murray Cumming <murrayc@murrayc.com>
1153
1154         * sigc++/functors/macros/mem_fun.h.m4: bound_*<>:
1155         Add a new is_base_and_derived<sigc::trackable>
1156         parameter to the template and thereby provide a
1157         specialization for T_Obj types that derive from
1158         sigc::trackable. This prevents a crash when casting
1159         from the derived type to sigc::trackable after the
1160         derived destructor has run. This cast can sometimes
1161         fail when using multiple inheritance, at least with
1162         g++. Bug #169225 by Régis Duchesne and Christian
1163         Hammond.
1164         * sigc++/type_traits.h: Add documenation for
1165         the internal is_base_and_derived<> template, which
1166         allows us to specialize other templates for certain
1167         template types.
1168
1169 2005-04-28  Murray Cumming <murrayc@murrayc.com>
1170
1171         * sigc++/type_traits.h: Added comments for users of
1172         g++ 3.2.
1173
1174 2005-04-28  Murray Cumming <murrayc@murrayc.com>
1175
1176         * tests/Makefile.am:
1177         * tests/test_virtualbase_delete.cc: Added
1178         simplified test case from bug #169225. We have a patch
1179         to make this succeed but I am not ready to commit it
1180         just yet.
1181
1182 2005-04-27  Murray Cumming <murrayc@murrayc.com>
1183
1184         * tests/Makefile.am:
1185         * tests/test_custom.cc:
1186         Added a place to put extra test code, so I don't have
1187         to keep installing my crazy libsigc++ versions.
1188
1189 2005-04-27  Murray Cumming <murrayc@murrayc.com>
1190
1191         * sigc++/visit_each.h: Revert back to the non-explicit
1192         template call, because we can not specify the
1193         template specialization so easily, because the
1194         specializations have different numbers of types.
1195         * tests/Makefile/am:
1196         * tests/test_bind_ref.cc: Add a simple test only for
1197         sigc::ref disconnection.
1198
1199 2005-04-26  Murray Cumming <murrayc@murrayc.com>
1200
1201         * sigc++/visit_each.h: Use the explicit template
1202         specialization, needed for Tru64 and AIX compilers.
1203         This causes a crash in some uses of sigc::ref()
1204         (when using g++ 3.3.4 or 3.3.5 , but not with 3.4) but
1205         seems to fix a crash in some uses of multiple inheritance
1206         (bug #169225).
1207         * tests/test_bind.cc: Comment out the crashing (not with
1208         g++ 3.4) use of sigc::ref() with an explanatory comment.
1209
1210 2.0.11:
1211
1212 2005-03-09  Cedric Gustin <cedric.gustin@swing.be>
1213
1214         * Makefile.am: Moved MSVC_Net2003 directory to SUBDIRS.
1215         * MSVC_Net2003/Makefile.am: Added blank.cpp to EXTRA_DIST.
1216         * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Removed
1217         test_accumulated and test_lambda projects as the tests are
1218         disabled in the standard, configure-based build.
1219         * MSVC_Net2003/MSVC_Net2003/libsigc++2_msvcNet2003.vcproj:
1220         Generate a PDB file in the Debug target.
1221
1222 2005-03-05  Murray Cumming  <murrayc@murrayc.com>
1223
1224         * docs/website/stable.html: Mention actual supported compilers.
1225         * docs/website/docs.html: Removed broken examples links. Change
1226         reference link to the reference overview page.
1227
1228 2005-02-23  Murray Cumming  <murrayc@murrayc.com>
1229
1230         * sigc++/functors/slot_base.h: Make slot_base::operator=() public, to
1231         fix the build with SUN Forte C++ 5.5 and Tru64.
1232
1233 2.0.10:
1234
1235 2005-02-20  Murray Cumming  <murrayc@murrayc.com>
1236
1237         * tests/test_slot.cc, test_disconnect.cc: #included <new> to avoid
1238         an unresolved symbol error with the Tru64 compiler. Solution found by
1239         Tim Mooney in bug #161503.
1240
1241 2005-02-20  Martin Schulze  <mschulze@cvs.gnome.org>
1242
1243         * sigc++/signal_base.h: Add some documentation.
1244
1245 2005-02-20  Martin Schulze  <mschulze@cvs.gnome.org>
1246
1247         * sigc++/signal_base.cc: Reset deferred_ flag to false in
1248         signal_impl::sweep() (Neal E. Coombes). Partly fixes bug #167714.
1249
1250 2005-02-11  Martin Schulze  <mschulze@cvs.gnome.org>
1251
1252         * docs/manual/Makefile.am: Set the correct group in post-html.
1253
1254 2005-02-11  Murray Cumming  <murrayc@murrayc.com>
1255
1256         * docs/website/doc.shtml: Fix typo in url for reference docs. Found by
1257         James Lin.
1258
1259 2005-02-06  Murray Cumming  <murrayc@murrayc.com>
1260
1261         * sigc++/signal_base.h: temp_slot_list::begin(), end(): Actually
1262         return the iterators.
1263
1264 2005-02-03  Neal E. Coombes <nealc@trdlnk.com>
1265
1266         * sigc++/signal_base.h: Add temp_slot_list struct to facilitate
1267         allowing new connections to a signal during an emittion without
1268         affecting that emittion.
1269         * sigc++/macros/signal.h.m4: Use the new struct temp_slot_list to
1270         prevent connections made during an emittion from being called in the
1271         same emittion (which has the potential of causing things like
1272         infinite loops).  This guarantees an emittion will be finite, as well
1273         as maintaining any order of emittion guarantees that may have already
1274         been in place.
1275
1276 2.0.9:
1277
1278 2005-02-02  Murray Cumming  <murrayc@murrayc.com>
1279
1280         * sigc++/visit_each.h: visit_each_type(): Reverted the change, so that
1281         we do not specify the template types ot visit_each<>(), because it
1282         crashes on g++ 3.3.4 (but not g++ 3.4.2). Added a comment telling users
1283         of AIX (and maybe IRIX MipsPro and Tru64) to use the alternative version
1284         if they have compilation problems.
1285
1286 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
1287
1288         * sigc++/adapators/macros/base.h.m4: Add sigc::var<>() documentation,
1289         from Roger Ferrer Ibáñez in bug #149483.
1290
1291 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
1292
1293         * sigc++/adaptors/macros/compose.h.m4: In the template specializations
1294         of visit_each(): As before, specify the specific other template
1295         specializations of visit_each that we use. Needed by AIX.
1296         * tests/Makefile.am: Reenabled most tests, because AIX can now
1297         build them.
1298
1299 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
1300
1301         * sigc++/visit_each.h: visit_each_type(): Specify the specific
1302         template specialization of visit_each<>() to use. The AIX compiler,
1303         and possibly the Tru64 compiler, need this extra hint.
1304
1305 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
1306
1307         * bind.h.m4: Define bind_functor::operator() inline because the AIX
1308         compiler/linker sometimes fails to find it when it is defined
1309         outside of the class.
1310
1311 2.0.8:
1312
1313 2005-01-30  Murray Cumming  <murrayc@murrayc.com>
1314
1315         * sigc++/type_traits.h: is_base_and_derived: Added
1316         avoid_gcc3_warning_(), to avoid an incorrect warning when using
1317         g++ 3.3.5
1318
1319 2005-01-28  Liza Klerck   <liza@trdlnk.com>
1320
1321         * sigc++/functors/macros/mem_fun.h.m4: Add a sigc:: namespace
1322         prefix to the nested use of visit_each(), to avoid ambiguity when
1323         using 2 versions of the libsigc++ API inside different namespace.
1324
1325 2005-01-27  Murray Cumming  <murrayc@murrayc.com>
1326
1327         * sigc++/adaptors/macros/adaptor_trait.h.m4: Add a sigc:: namespace
1328         prefix to the nested use of visit_each(), to avoid ambiguity when
1329         using 2 versions of the libsigc++ API inside different namespace,
1330         which is not very advisable anyway. Bug #165222 from
1331         liza at trdlnk.com.
1332
1333 2.0.7:
1334
1335 2005-01-24  Cedric Gustin <cedric.gustin@swing.be>
1336
1337         * sigc++config.h.in : Moved the SIGC_USING_STD macro definition
1338         out of the SIGC_CONFIGURE section. We also need it for MSVC.
1339         * MSVC_Net2003/.cvsignore : Added .def and .aps files
1340         * MSVC_Net2003/Makefile.am: Rewrote rule for local copy of
1341         sigc++config.h (required for 'make distcheck').
1342         * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Added test_retype and
1343         test_disconnect_during_emit tests.
1344         * MSVC_Net2003/tests/test_disconnect_during_emit/*,
1345         MSVC_Net2003/tests/test_retype/*: Initial commit.
1346
1347 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
1348
1349         * tests/: Disabled the test_accumulator, test_bind, and test_compose
1350         tests, and part of test_mem_fun because the AIX xlC compiler can not
1351         build them, but it can still do most things, including the examples.
1352         See the comments in tests/Makefile.am.
1353
1354 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
1355
1356         * sigc++/adaptors/bind.h.m4: non-member operator()(): Specify the
1357         extra nil arguments in the templated class name prefix. Oddly, the
1358         AIX xlC compiler says that the type of the first parameter does not
1359         match the template if you don't do this.
1360
1361 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
1362
1363         * sigc++/type_traits.h: is_base_and_derived struct: Move the
1364         is_base_class_() functions out of the inner class, because the AIX
1365         xlC compiler does not like that - see the comments in the code.
1366         * sigc++/adaptors/bind.h.m4: Add the extra nil template types to
1367         the template specializations, as in slot and signal.
1368
1369 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
1370
1371         * sigc++/functors/macros/slot.h.m4, sigc++/macros/signal.h.m4:
1372         slot and signal template specialization for
1373         various numbers of template args: In the class slot line, specify
1374         all the remaining template types as null, instead of expecting the
1375         compiler to guess them in itself. This partly fixes the build on
1376         AIX with the xlC compiler. Bug #164685.
1377
1378 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
1379
1380         * sigc++/type_traits: struct is_base_and_derived: Make the test inner
1381         struct a friend, so that it can use the big inner struct. This is
1382         required by the Tru64 compiler.
1383         * sigc++/adaptors/lambda/base.h: Put the unwrap_lambda_value()
1384         definitions at the top, because Tru64 (understandably) needs them to
1385         be declared before use.
1386
1387 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
1388
1389         * scripts/: Added cxx_std.m4, with a test copied from
1390         glibmm/scripts/cxx_std.m4 to check if the compiler has the std::
1391         namespace.
1392         * sigcconfig.h: #undef the new #define and add SIGC_USING_STD(),
1393         like GLIBMM_USING_STD, to put stuff in the std:: namespace when it
1394         is not there already,
1395         * configure.in: Used the new test.
1396         * tests/*: Uses SIG_USING_STD() for every std:: thing that we use.
1397         This is needed by the Tru64 and HP-UX compilers when using their
1398         defaults.
1399
1400 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
1401
1402         * configure.in: AC_INIT(): Provide the extra tarball name parameter,
1403         so that it does not create a libsigc--- tarball.
1404
1405 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
1406
1407         * configure.in: AC_INIT(): Use libsigc++ instead of sigc++, attempting
1408         to get the correct tarball name.
1409
1410 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
1411
1412         * configure.in: Used the autoconf 2.93 and AM_INIT_AUTOMAKE()
1413         technique to specify ustar format for the tarball, to prevent files
1414         with long file names from appearing at the top of the tarball.
1415         Based on the same fix in gtkmm 2.6.
1416
1417 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
1418
1419         * sigc++/functors/macros/slot_h.m4: Specify the base class when
1420         using the rep_ member variable. This stops the HP-UX aCC compiler
1421         from saying that a Nonstatic member  is referenced in a nested class,
1422         local class or static member initializer. Bug #150719.
1423
1424 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
1425
1426         * Bug #159597 - patch from e97_far at e.kth.se to replace C-style
1427         casts with reinterpret_cast<> and static_cast<> to avoid warnings.
1428
1429 2005-01-17  Murray Cumming  <murrayc@murrayc.com>
1430
1431         * docs/manual/Makefile.am: Specifying html/index.html instead of
1432         just the html directory as a target seems to fix distcheck problems.
1433         I can also now confirm that the install works on solaris, when using
1434         gmake, though not when using make.
1435
1436 2005-01-17  Murray Cumming  <murrayc@murrayc.com>
1437
1438         * MSVC_Net2004/Makefile.am: Add built files to DISTCLEANFILES to fix
1439         the distcheck.
1440         * docs/reference/Makefile.am, manual/Makefile.am: Specify $srcdir in
1441         paths, to fix distcheck of the manual, and maybe fix install problems
1442         on Solaris.
1443
1444 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
1445
1446         * docs/website/stable.html: Updated the text about binary packages.
1447         * docs/website/docs.html: Link to the 2.0 documentation instead of the
1448         1.2 documentation.
1449
1450 2004-12-17  GregSchussman  <schussman@slac.stanford.edu>
1451
1452         * glossary.shtml: Clean up punctuation, make definitions complete
1453         sentences, and add clarifications for certain definitions according to
1454         what Murray Cumming's suggestions and answers to my questions.
1455         Bug #161580.
1456
1457 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
1458
1459         * docs/: Added manual, copied from the libsigc++-1.2 cvs module,
1460         and updated it for the new 2.0 API.
1461
1462 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
1463
1464         * docs/: Added website, copied from the libsigc++-1.2 cvs module.
1465         We will use it from here from now on.
1466
1467 2004-12-11  Cedric Gustin <cedric.gustin@swing.be>
1468
1469         * configure.ac : parse version tags at configure time (for
1470         sigc-2.0.rc).
1471         * MSVC_Net2003/sigc-2.0.rc.in : New resource file.
1472         * MSVC_Net2003/Makefile.am: include sigc-2.0.rc in distribution.
1473
1474 2004-12-08  Cedric Gustin <cedric.gustin@swing.be>
1475
1476         * MSVC_Net2003/Makefile.am: get sigc++config.h from $(top_builddir)
1477         instead of $(top_srcdir).
1478
1479 2004-12-08  Cedric Gustin <cedric.gustin@swing.be>
1480
1481         * MSVC_Net2003/*/*.vcproj: Renamed libsigc++ target to
1482         sigc-2.0d.dll (Debug) and sigc-2.0.dll (Release). Added
1483         $(SolutionDir) and $(SolutionDir)\.. to "Additional Include
1484         Directories" in tests projects.
1485         * sigc++config.h.in: Rewrote dllexport/dllimport macros for
1486         MSVC, for better consistency with glibmm/gtkmm.
1487         * MSVC_Net2003/Makefile.am: copy sigc++config.h from $(top_srcdir)
1488         at build time.
1489
1490 2004-11-27  Murray Cumming  <murrayc@murrayc.com>
1491
1492         * configure.in: Revert the AC_PROG_LIBTOOL change, so that this builds
1493         with actually released libtool versions, and in jhbuild, so that it
1494         gets testing.
1495
1496 2004-11-06  Martin Schulze  <mschulze@cvs.gnome.org>
1497
1498         * sigc++/adaptors/macros/exception_catch.h.m4: Make catcher_ member
1499         public so that it can be accessed by visit_each() (bug reported on
1500         ml by Philip Langdale <plangdale@vmware.com>).
1501
1502 2004-10-24  Martin Schulze  <mschulze@cvs.gnome.org>
1503
1504         * MSVC_Net2003/*/*.vcproj: Link with the "multithreaded DLL" runtime
1505         libraries and enable RTTI for the MSVC build
1506         (patch from Timothy M. Shead <tshead@k-3d.com>).
1507         * MSVC_Net2003/*/.cvsignore: Hide generated build files from cvs
1508         (patch from Timothy M. Shead <tshead@k-3d.com>).
1509
1510 2.0.6:
1511
1512 2004-10-12  Martin Schulze  <mschulze@cvs.gnome.org>
1513
1514         * MSVC_Net2003/*/*.vcproj, MSVC_Net2003/blank.cpp: Fix project files
1515         to compile out-of-the-box and add dummy file so that .cc files get
1516         recognized as c++ code files (patch from Timothy M. Shead).
1517
1518 2004-10-10  Martin Schulze <mschulze@cvs.gnome.org>
1519
1520         * sigc++/signal_base.{h,cc}, sigc++/functors/slot_base.{h,cc},
1521         sigc++/functors/macros/slot.h.m4: If SIGC_NEW_DELETE_IN_LIBRARY_ONLY
1522         is defined, implement signal_base::operator new/delete and
1523         slot_rep::operator new/delete (suggested by Timothy M. Shead).
1524         Remove old work-around from 2004-10-02 since it didn't work.
1525
1526 2004-10-07  Martin Schulze <mschulze@cvs.gnome.org>
1527
1528         * configure.ac: Update for libtool 1.5a (with support for Intel C++).
1529         * MSVC_Net2003/sigc++config.h: Remove bogus '#define'
1530         (reported by Timothy M. Shead <tshead@k-3d.com>).
1531
1532 2004-10-02  Martin Schulze <mschulze@cvs.gnome.org>
1533
1534         * configure.ac: Bump version number to 2.0.6.
1535         * NEWS: Add ChangeLog summary for version 2.0.6.
1536
1537 2004-10-02  Martin Schulze <mschulze@cvs.gnome.org>
1538
1539         * sigc++/functors/slot_base.{h,cc}, sigc++/functors/macros/slot.h.m4:
1540         Rename (typed_)slot_rep::detach to (typed_)slot_rep::destroy.
1541         Call the dtor of the functor stored in typed_slot_rep from destroy().
1542         A cleaner solution would be to add an additional "virtual" function
1543         that calls 'delete' or a real virtual dtor. However, this would be
1544         less efficient and might break the ABI. (Fixes #152323.)
1545
1546 2004-10-02  Martin Schulze <mschulze@cvs.gnome.org>
1547
1548         * sigc++config.h.in, MSVC_Net2003/sigc++config.h,
1549         sigc++/signal_base.cc, sigc++/functors/slot_base.{h,cc},
1550         sigc++/functors/macros/slot.h.m4: Define and use new macro
1551         SIGC_NEW_DELETE_IN_LIBRARY_ONLY to ABI-compatibly move
1552         all calls to new and delete into non-inline library code.
1553
1554 2004-09-26  Martin Schulze <mschulze@cvs.gnome.org>
1555
1556         * sigc++/adaptors/lambda/macros/group.h.m4: Add a missing
1557         template keyword in the definition of deduce_result_type::type
1558         (hopefully fixes #152327).
1559
1560 2004-09-26  Martin Schulze <mschulze@cvs.gnome.org>
1561
1562         * sigc++/macros/object_slot.h.m4: Use correct bound_mem_functor
1563         variants for const (volatile) methods (fixes #148744).
1564
1565 2004-09-01  Martin Schulze <mschulze@cvs.gnome.org>
1566
1567         * docs/index.html: Correct link to lambda module.
1568
1569 2004-09-01  Martin Schulze <mschulze@cvs.gnome.org>
1570
1571         * README: Update compatibility section.
1572
1573 2.0.5:
1574
1575 2004-09-01  Martin Schulze <mschulze@cvs.gnome.org>
1576
1577         * MSVC_Net2003/Makefile.am: Add sigc++config.h to EXTRA_DIST.
1578         * configure.ac: Bump version number to 2.0.5.
1579         * NEWS: Add ChangeLog summary for version 2.0.5.
1580
1581 2.0.4:
1582
1583 2004-08-21  Martin Schulze <mschulze@cvs.gnome.org>
1584
1585         * tests/test_lambda.cc: Use sigc::var("\n") instead of sigc::ref("\n").
1586         Comment out the affected lines, nevertheless.
1587         Sun FORTE and Compaq C++ can handle neither sigc::ref("\n") nor
1588         sigc::var("\n"). I see more chances fixing sigc::var("\n").
1589         * sigc++/adaptors/lambda/macros/base.h.m4: Add a comment about a
1590         possible work around for sigc::var("\n") compiler problems.
1591         * tests/test_compatibility.cc: Remove a 'const' keyword that prevents
1592         the test case from compiling with the Sun FORTE.
1593         * tests/test_trackable.cc: Remove a 'virtual' keyword and an unused
1594         variable to avoid compiler warnings.
1595         * NEWS: Add ChangeLog summary for version 2.0.4.
1596
1597 2004-08-03  Martin Schulze <mschulze@cvs.gnome.org>
1598
1599         * scripts/cxx.m4, sigc++config.h.in, configure.ac,
1600         sigc++/adaptors/lambda/macros/operator.h.m4, tests/test_lambda.cc:
1601         Rollback change from 2004-07-15: configure check
1602         SIGC_OPERATOR_OVERLOAD_AMBIGUITY is not needed - the overload
1603         ambiguity doesn't occur if the lambda operators take all arguments
1604         as const reference.
1605         * configure.ac: Bump version number to 2.0.4.
1606
1607 2004-08-03  James Lin <slimjimmy@mail.com>
1608
1609         * Added SIGC_API qualifier to all externally-visible non-template
1610         classes/structs.
1611         * Added #include <sigc++config.h> to the files that use SIGC_API.
1612         * Added empty SIGC_API definition to sigc++config.h.in for non-MSVC
1613         compilers.  I'm not sure if this is the right place to put this
1614         (probably not).
1615         * Added MSVC-specific sigc++config.h to the MSVC project directory.
1616         (The comment in it probably should be edited.)
1617         * Changed MSVC project settings to output a multi-threaded DLL, set
1618         the include paths to work (hopefully) out-of-the-box.  Disabled
1619         precompiled headers, since they just complicate things and
1620         shouldn't be necessary for such a relatively project.
1621
1622 2004-08-01  Martin Schulze <mschulze@cvs.gnome.org>
1623
1624         * sigc++/type_traits.h: Remove type_trait<>::instance()
1625         (was unimplemented and unused; caused problems with the MSVC).
1626
1627 2004-07-23  Martin Schulze <mschulze@cvs.gnome.org>
1628
1629         * Makefile.am: Fix typo concerning distribution of libsigc++-2.0.spec.
1630         * AUTHORS: Mention our contributors for platforms Sun FORTE and Intel C++.
1631
1632 2004-07-15  Martin Schulze <mschulze@cvs.gnome.org>
1633
1634         * *.h.m4: Don't call operator()() in sun_forte_workaround(); rather copy
1635         operator()(). Calling operator()() makes a copy of the arguments causing
1636         wrong results if an argument type is a reference. Hopefully fixes #147311.
1637
1638 2004-07-15  Martin Schulze <mschulze@cvs.gnome.org>
1639
1640         * tests/test_lambda.cc: Break "std::cout << [expr] << a << std::endl;"
1641         into "std::cout << [expr]; std::cout << a << std::endl;".
1642         I hope this fixes #147313 where the right values for "[expr]" but wrong
1643         values for "a" were written to std::cout for some compiler with optimizations
1644         turned off.
1645
1646 2004-07-15  Martin Schulze <mschulze@cvs.gnome.org>
1647
1648         * sigc++/adaptors/lambda/macros/operator.h.m4: Correct return type deduction
1649         of lambda expressions in lambda_operator*::operator()(). Might be related to
1650         bug #147313.
1651         * sigc++/adaptors/lambda/macros/group.h.m4: Use m4 macro _P_().
1652
1653 2004-07-15  Martin Schulze <mschulze@cvs.gnome.org>
1654
1655         * scripts/cxx.m4, sigc++config.h.in, configure.ac,
1656         sigc++/adaptors/lambda/macros/operator.h.m4, tests/test_lambda.cc:
1657         Add configure check SIGC_OPERATOR_OVERLOAD_AMBIGUITY for a SUN FORTE
1658         compiler problem (bug #147391). Use it to decide whether the lambda
1659         action operators may be overloaded (not doing so restricts the API slightly).
1660         * sigc++/adaptors/lambda/macros/operator.h.m4: Add some doxygen comments
1661         and remove attic code.
1662         * sigc++/adaptors/lambda/macros/base.h.m4:
1663         Add templates unwrap_lambda_type and unwrap_lambda_value() to support
1664         the non-overloaded lambda action operators. Also add some doxygen comments
1665         and remove attic code.
1666         * sigc++/adaptors/lambda/macros/group.h.m4: Fix a bug that resulted in
1667         gargabe values being passed on to the functor contained in the group adaptor
1668         (partly fixes #147313).
1669
1670 2004-07-11  Martin Schulze <mschulze@cvs.gnome.org>
1671
1672         * scripts/cxx.m4, sigc++config.h.in, configure.ac, *.h.m4:
1673         Split SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
1674         into SIGC_CXX_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
1675         and SIGC_CXX_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD.
1676         Remove LIBSIGC_TEMPLATE_PREFIX. Add template keyword to
1677         SIGC_WORKAROUND_OPERATOR_PARENTHESES depending on the configure checks.
1678         Should fix the compiler problems with MSVC.
1679
1680 2004-07-11  Martin Schulze <mschulze@cvs.gnome.org>
1681
1682         * examples/hello_world.cc: Use sigc::ptr_fun instead of std::ptr_fun.
1683         (fixes bug #144846)
1684
1685 2004-07-11  Eric Bourque <ericb@computer.org>
1686
1687         * libsigc++-2.0.spec.in: new file
1688         * configure.ac : patched generate spec file
1689         * .cvsignore: ignore generated file (Martin Schulze)
1690         * Makefile.am: distribute spec file (Martin Schulze)
1691
1692 2004-07-11  Murray Cumming  <murrayc@murrayc.com>
1693
1694         * sigc++/connection.cc: Added some comments.
1695         * sigc++/trackable.cc: operator=(): Check for self-asignment, though I
1696         do not know of any actual bug that this fixes. Added some comments.
1697         * sigc++/trackable.h Added some doxygen documentation.
1698
1699 2004-07-09  Murray Cumming  <murrayc@murrayc.com>
1700
1701         * tests/: Added test_disconnect_during_emit.cc, to prove that this
1702         works.
1703
1704 2004-07-08  Murray Cumming  <murrayc@murrayc.com>
1705
1706         * tests/test_retype_return.cc: foo::operator(int): return a
1707         value. The SUN Forte 5.5 compiler complains about this, as it should.
1708
1709 2004-07-08  Murray Cumming  <murrayc@murrayc.com>
1710
1711         * sigc++/macros/signal.h.m4: class signal*: Rename the slot_list
1712         typedef to slot_list_type, because there is already a template class
1713         called slot_type. SUN Forte 5.5 seems to complain about this and I am
1714         not surprised. The old typdef is still there for backwards
1715         compatibility, except when building with SUN Forte.
1716
1717 2004-07-07  Murray Cumming  <murrayc@murrayc.com>
1718
1719         * scripts/cxx.m4: SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD():
1720         Don't define the SIGC_TEMPLATE_SPECIALIZATOIN_OPERATOR_OVERLOAD C
1721         macro at all if the test fails. This might fix the build on SUN Forte.
1722         * sigc++/functors/macros/mem_fun.h.m4: Default constructor: Initialize
1723         the func_ptr_ member variable. I have no evidence that this solves any
1724         problems, but it worried me.
1725         * sigc++/functors/slot_base.h: operator bool(): Correct documentation,
1726         to use @code instead of <code>
1727         * sigc++/macros/signal.h.m4: Remove the documentation for the
1728         parameters named first and last, because they do not exist.
1729
1730 2004-05-31  Martin Schulze  <mschulze@cvs.gnome.org>
1731
1732         * autogen.sh: Add '--force'-flag to the 'libtoolize'-command (bug #143425).
1733
1734 2.0.3:
1735
1736 2004-05-30  Martin Schulze  <mschulze@cvs.gnome.org>
1737
1738         * configure.ac: Bump version number to 2.0.3.
1739         * NEWS: Add ChangeLog summary for version 2.0.3.
1740         * sigc++/macros/signal.h.m4: Fix segfault on emission of unconnected signal.
1741         * tests/test_signal.cc, tests/test_accumulated.cc: Emit unconnected signal.
1742         * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
1743         dynamic_cast<>-test (tested by Christof Petig/Timothy M. Shead).
1744
1745 2.0.2:
1746
1747 2004-05-22  Martin Schulze  <mschulze@cvs.gnome.org>
1748
1749         * configure.ac: Bump version number to 2.0.2.
1750         * NEWS: Add ChangeLog summary for version 2.0.2.
1751
1752 2004-05-20  Martin Schulze  <mschulze@cvs.gnome.org>
1753
1754         * sigc++/macros/signal.h.m4: If a custom accumulator is specified
1755         invoke it on signal emission even if the signal's slot list is empty.
1756         (This used to be the case in libsigc++-1.2 as pointed out by Timothy.)
1757
1758 2004-05-20  Martin Schulze  <mschulze@cvs.gnome.org>
1759
1760         * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
1761         dynamic_cast<>-test (suggested by Timothy M. Shead).
1762
1763 2004-05-01  Martin Schulze  <mschulze@cvs.gnome.org>
1764
1765         * README: Updated for libsigc++-2.0.
1766
1767 2.0.1:
1768
1769 2004-04-27  Martin Schulze  <mschulze@cvs.gnome.org>
1770
1771         * configure.ac: Bump version number to 2.0.1.
1772         * NEWS: Add ChangeLog summary for version 2.0.1.
1773         * sigc++/adaptors/lambda/macros/base.h.m4: Fixed documentation.
1774         * sigc++/adaptors/macros/bind.h.m4: Hide work-arounds from doxygen.
1775         * scripts/cxx.m4, sigc++config.h.in, configure.ac,
1776         sigc++/adaptors/macros/bind.h.m4: Removed configure     check. It
1777         showed that the Apple gcc can also compile the sophisticated version
1778         of the work-around.
1779
1780 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
1781
1782         * sigc++/macros/object_slot.h.m4: Modified test for SigC::Object
1783         inheritance so that it also works if SigC::Object is virtual base.
1784         (Fixes bug 141094 reported by Jonathan Brandmeyer)
1785
1786 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
1787
1788         * scripts/cxx.m4: Updated the configure check. It would probably
1789         have succeeded on the Apple.
1790
1791 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
1792
1793         * sigc++/adaptors/macros/bind.h.m4: Add work-arounds for
1794         bind<-1>::deduce_result_type compilation error on Apple gcc 3.3.
1795         * scripts/cxx.m4, sigc++config.h.in, configure.ac: Add configure
1796         check for the compilation error above.
1797         * sigc++/adaptors/lambda/macros/operator.h.m4: Replace _A with
1798         _Aa. _A is a reserved keyword on Apple gcc 3.3 (Spundun Bhatt).
1799         (fixes bug #10444 reported by Spundun Bhatt)
1800
1801 2004-04-19  Martin Schulze  <mschulze@cvs.gnome.org>
1802
1803   * sigc++/signal_base.cc: Fixed serious bug in signal_base::impl():
1804   Only reference a newly created object (initial reference).
1805   (This fixes bug #140269 reported by Andris.)
1806
1807 2004-04-19  Murray Cumming  <murrayc@murrayc.com>
1808
1809         * scripts/cxx.m4: Updated the operator() template check, because it
1810         failed with gcc 3.4 (from cvs). Apparently the template keyword can
1811         only be used from another template.
1812
1813 2.0.0:
1814
1815 2004-04-06  Martin Schulze  <mschulze@cvs.gnome.org>
1816
1817         * configure.ac: Bump version number to 2.0.0.
1818         * NEWS: Add ChangeLog summary for version 2.0.0.
1819         * TODO, AUTHORS: Bring up to date.
1820         * sigc++-2.0.pc.in, Makefile.am: 1.9 -> 2.0
1821         * Added more documentation.
1822
1823 2004-04-10  Murray Cumming  <murrayc@murrayc.com>
1824
1825         * sigc++/connection.[h|cc]: Implement blocked() to avoid undefined
1826         symbol linker error.
1827
1828 2004-04-08  Murray Cumming  <murrayc@murrayc.com>
1829
1830         * dist the scripts directory.
1831
1832 1.9.16:
1833
1834 2004-04-06  Martin Schulze  <teebaum@cvs.gnome.org>
1835
1836         * configure.ac: Bump version number to 1.9.16.
1837         * NEWS: Add ChangeLog summary for version 1.9.16.
1838
1839 2004-04-02  Murray Cumming  <murrayc@murrayc.com>
1840
1841         * sigc++/connection.cc: Make block() and unblock() always return a
1842         value, to fix compiler warnings. Patch from bug #138620 by
1843         Alexander Nedotsukov.
1844
1845 2004-04-02  Murray Cumming  <murrayc@murrayc.com>
1846
1847         * Fix the compile of examples/member_method.cc. Bug #131701 from
1848         Kirill Smelkov. I also made the examples build as part of the regular
1849         build.
1850
1851 2004-04-02  Murray Cumming  <murrayc@murrayc.com>
1852
1853         * sigc++config.h.m4: Remove every undef apart from the one we need, to
1854         avoid clashes, because we #include this in a public header.
1855
1856 2004-03-25  Murray Cumming  <murrayc@murrayc.com>
1857
1858         * scripts/cxx.m4, configure.in, sigc++config.h.in: Rename the
1859         template_keyword check to template_specialization, because the problem
1860         is with or without the keyword.
1861         * sigc++/adaptors/macros/adaptor_trait.h.m4: Define
1862         SIGC_WORKAROUND_OPERATOR_PARENTHESES, which calls either operator() or
1863         sun_forte_workaround() depending on the result of the compiler test.
1864         * many .m4 files: Add sun_forte_workaround methods that call the
1865         operator() methods. Put them in #ifdefs so that only SUN Forte C++
1866         sees them.
1867
1868 2004-03-22  Murray Cumming  <murrayc@murrayc.com>
1869
1870         * Makefile.am, sigc++/Makfile.am: Fix the sigc++config.h.in disting,
1871         to fix make distcheck.
1872
1873 2004-03-21  Murray Cumming  <murrayc@murrayc.com>
1874
1875         * Rename config.h.in to sigc++config.h.in so that gtkmm does not
1876         include some other config.h at strange times - fixes a problem in
1877         the gtkmm demos. This should really be in the sigc++ directory, but
1878         that seems to add that as an include path, which causes the STL
1879         headers to include sigc++/signal.h instead of some STL signal.h header.
1880
1881 2004-03-20  Murray Cumming  <murrayc@murrayc.com>
1882
1883         * Makefile.am: Install the config.h platform-specific header.
1884         * sigc++-2.0.pc.in: Report the include path for config.h
1885
1886 2004-03-20  Murray Cumming  <murrayc@murrayc.com>
1887
1888         * Added config.h.in, using autoheader, from which config.h will be
1889         generated, so we can detect compiler features.
1890         * configure.ac: Added AC_CONFIG_HEADER(config.h) to generate config.h
1891         from config.h.in.
1892         * scripts/cxx.m4: Added this directory and file, with a
1893         SIGC_CXX_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD macro that defines
1894         the SIGC_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD C macro.
1895         * autogen.sh: Added -I scripts to the aclocal call, so that it finds
1896         the m4 macro for configure.ac.
1897         * sigc++/adapators/macros/adaptor_trait.h.m4: Include config.h and
1898         use SIGC_TEMPLATE_KEYOWRD_OPERATOR_OVERLOAD.
1899
1900 2004-03-18  Martin Schulze  <mschulze@cvs.gnome.org>
1901
1902   * tests/test_mem_fun.cc, tests/test_ptr_fun.cc: Don't test
1903   making functors from overloaded methods with partial template
1904   specialization. Not portable among different compilers (SUN FORTE).
1905   * adaptors/macros/apdaptor_trait.h.m4: Only gcc seems to use the
1906   notation A.template operator()<...>(...) => adapt preprocessor check
1907   for #define LIBSIGC_TEMPLATE_PREFIX. TODO: replace with configure check.
1908
1909 2004-03-13  Murray Cumming  <murrayc@murrayc.com>
1910
1911         * g++ 3.4 (pre-release) build fixes:
1912         * sigc++/macros/signal.h.m4: slot_iterator_buf::operator*():
1913         Use blocked() and empty() instead of non-existant blocked_and_empty().
1914         * sigc++/functors/macros/mem_fun.h.m4: memfun_functor*::operator()():
1915         Use this->func_ptr_ instead of just func_ptr_.
1916         * sigc++/adaptors/macros/deduce_result_type.h.m4: Use
1917         T_functor::template deduce_result_type<> instead of just
1918         T_functor::deduce_result_type<>.
1919         * sigc++/adaptors/lambda/macros/base.h.m4, operator.h.m4, group.h.m4::
1920         Use template keyword again. operator[](): Use this->value_ instead of
1921         just value_.
1922         * sigc++/adaptors/lambda/macros/bind/m4: Use template keyword, and
1923         this-> again.
1924         * sigc++/adaptors/macros/compose.h.m4, hide.h.m4, bind_return.h.m4,
1925         exception_catch.h.m4:
1926         rettype.h.m4, rettype_return.h.m4: Use template keyword,and this-> again
1927
1928 1.9.15:
1929
1930 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
1931
1932         * configure.ac: Bump version number to 1.9.15.
1933         * NEWS: Add ChangeLog summary for version 1.9.15.
1934
1935 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
1936
1937   * sigc++/functors/macros/slot.h.m4: Make the unnumbered slot templates'
1938   copy ctors use the copy ctors of the base class. Fixes bug #24698.
1939   * tests/test_slot.cc: Test copy ctor (Bryan Forbes).
1940
1941 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
1942
1943   * tests/type_functor_trait.cc: Bring it up-to-date (use sigc::ref).
1944   Make it work with the SUN Forte.
1945
1946 2004-02-24  Martin Schulze  <teebaum@cvs.gnome.org>
1947
1948   * sigc++/type_traits.h: Make is_base_and_derived<> work with the SUN Forte.
1949
1950 2004-02-19  Martin Schulze  <teebaum@cvs.gnome.org>
1951
1952   * sigc++/type_traits.h: Make is_base_and_derived<> platform independant.
1953   * sigc++/adaptors/lambda/macros/base.h.m4: Make lambda_core<> ctors
1954   explicit. Remove an unused ctor from lambda_core<T_type, true>.
1955
1956 2004-02-14  Martin Schulze  <teebaum@cvs.gnome.org>
1957
1958   * sigc++/functors/slot_base.h, sigc++/functors/macros/slot.h.m4:
1959   Move some documentation to slot_base.h.
1960   * sigc++/signal_base.h, sigc++/macros/signal.h.m4:
1961   Move some documentation to signal_base.h.
1962
1963   API addition:
1964   * sigc++/functors/macros/slot.h.m4: Add numbered slot# templates.
1965   Make unnumbered slot templates inherit from slot#.
1966
1967   API change:
1968   * sigc++/functors/macros/mem_fun.h.m4: Allow for methods of the object's
1969   base types to be passed into sigc::mem_fun(). (Used to be the case in
1970   libsigc++-1.2).
1971
1972 2004-02-13  Murray Cumming  <murrayc@usa.net>
1973
1974         * sigc++/functors/slot_base.[h|cc], sigc++/trackable.[h|cc]: Create
1975         and use a typedef for the destroy_notify callback functions, to avoid
1976         confusion function pointer declaration syntax in the API.
1977
1978 2004-02-13  Murray Cumming  <murrayc@murrayc.com>
1979
1980         * Moved implementation to .cc files:
1981         * sigc++/functors/: Added slot_base.[h|cc] which contains non-template
1982         code that was previsouly in the generated functors/slot.h and
1983         non-generated slot.cc files. All non-inline implementation is now in
1984         the .cc file.
1985         * sigc++/functors/macros/slot.m4: Removed the code that has been moved
1986         to slot_base.[h|cc].
1987         * sigc++/: Added signal_base.[h|cc] which contains non-template code
1988         that was previously in the generated signal.h and non-generated
1989         signal.cc file. All non-inline implementation is now in the .cc file.
1990         * sigc++/macros/signal.m4: Removed the code that ahs been moved to
1991         signal.cc
1992         * sigc++/connector.[h|cc]: method implementation moved to the .cc file.
1993
1994 1.9.14:
1995
1996 2004-02-13  Martin Schulze  <teebaum@cvs.gnome.org>
1997
1998         * configure.ac: Bump version number to 1.9.14.
1999         * NEWS: Add ChangeLog summary for version 1.9.14.
2000
2001 2004-02-09  Murray Cumming  <murrayc@usa.net>
2002
2003         * sigc++/functors/macros/slot.h.m4: slot_base: Added operator bool(), needed to
2004         check for a slot that is created with the default constructor. This was
2005         present in libsigc++ 1.2 also.
2006
2007 2004-02-06  Murray Cumming  <murrayc@usa.net>
2008
2009         * Makefile.am: Build the docs directory, by adding it to SUBDIRS.
2010         * docs/Doxyfile.in: Updated to be more glibmm-like.
2011         * Added some @deprecated doxygen bits.
2012         * sigc++/macros/signal.h.m4: Call base constructor from signal_base
2013         constructor - this is an error-as-warning when building gtkmm.
2014
2015 1.9.13:
2016
2017 2003-11-30  Martin Schulze  <teebaum@cvs.gnome.org>
2018
2019         * configure.ac: Bump version number to 1.9.13.
2020         * NEWS: Add ChangeLog summary for version 1.9.13.
2021         * Makefile.am, MSVC_Net2003/Makefile.am, configure.ac:
2022         Distribute MS .Net project files.
2023         * sigc++/adaptors/macros/[bind,hide].h.m4: Correct and add
2024         documentation. Make hide_functor ctor explicit.
2025
2026 2003-11-11  Martin Schulze  <teebaum@cvs.gnome.org>
2027
2028         * sigc++/adaptors/macros/[bind,hide].h.m4: Change to zero-based
2029         argument index in numbered bind() and hide() overload
2030         (Agreement on the mailing list).
2031         Support binding up to CALL_SIZE arguments with one bind adaptor.
2032         (Requested by joey yandle and others).
2033         Only support binding of multiple arguments in unnumberd overloads
2034         to keep the API simple (Requested by Murray Cumming).
2035         * tests/test_[bind,hide,functor_trait].cc, sigc++/bind.h:
2036         Reflect API changes in compatibility module and test cases.
2037
2038 2003-11-10  Martin Schulze  <teebaum@cvs.gnome.org>
2039
2040         * sigc++/adaptors/macros/[bind,hide].h.m4: Add unnumbered
2041         bind() and hide() overloads to make specifying the argument
2042         position optional (Proposed by Jeff Franks).
2043         * tests/test_[bind,hide].cc: Test unnumbered bind() and hide().
2044         * sigc++/adaptors/macros/adaptor_trait.h.m4:
2045         Change "#ifdef MSVC" to "#ifdef _MSC_VER" (Roel Vanhout).
2046
2047 2003-11-09  Martin Schulze  <teebaum@cvs.gnome.org>
2048
2049         * sigc++/functors/macros/slot.h.m4: Change functor type in
2050         typed_slot_rep to adaptor_trait::adaptor_type<T_functor>
2051         and use explicit function template instantiation in
2052         internal::slot_call::call_it(). Avoids copying of arguments
2053         in call_it() and enables binding of object instances
2054         to class methods through bind() (Reported by Jeff Franks).
2055         * tests/test_bind.cc: Test binding object instances to
2056         class methods through bind().
2057         * sigc++/adaptors/adaptors.h: Include retype[_result].h.
2058         * sigc++/adaptors/macros/adaptor_trait.h.m4:
2059         - Add documentation.
2060         - Mark some c-tors as explicit.
2061         - Remove ununsed operator T_functor&() from adaptor_functor.
2062         * sigc++/adaptors/macros/deduce_result_type.h.m4:
2063         Rewrite parts of the documentation.
2064         * sigc++/adaptors/macros/bind.h.m4: Add documentation.
2065         * sigc++/functors/macros/mem_fun.h.m4: Remove unnecessary
2066         explicit markers. Minor fixes to documentation.
2067         * sigc++/functors/macros/functor_trait.h.m4:
2068         Minor fixes to documentation.
2069
2070 1.9.12:
2071
2072 2003-11-04  Martin Schulze  <teebaum@cvs.gnome.org>
2073
2074         * configure.ac: Bump version number to 1.9.12.
2075         * NEWS: Add ChangeLog summary for version 1.9.12.
2076
2077 2003-11-03  Martin Schulze  <teebaum@cvs.gnome.org>
2078
2079         * sigc++/macros/signal.h.m4: Document accumulators.
2080         Move slot_iterator_buf into namespace internal. Since
2081         accumulators have the iterator type as a template argument
2082         there is no need to expose this very internal type.
2083         * sigc++/functors/macros/*.m4: Regroup documentation.
2084         Documentation of the core parts of the library should be
2085         complete by now.
2086
2087 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
2088
2089         * Improve documentation of the core parts of the library.
2090         * tests/test_ptr_fun.cc: Test ptr_fun() with static
2091         member functions.
2092
2093 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
2094
2095         * Move all .m4 files into new subdirectories
2096         sigc++/[...]/macros. Install the .m4 files on
2097         "make install" (Reported by Ron Steinke).
2098
2099 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
2100
2101         * sigc++/[class,method,object]_slot.h.m4: Include
2102         sigc++/functors/mem_fun.h (Reported by Ron Steinke).
2103
2104 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
2105
2106         * sigc++/adaptors/lambda/operator.h.m4: Add negation
2107         operator I have completely overlooked until now.
2108         * sigc++/tests/test_lambda.cc: Test negation operator.
2109
2110 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
2111
2112         * sigc++/[class_slot,method_slot,object_slot,hide].h.m4,
2113         sigc++/signal.h.m4, sigc++/functors/mem_fun.h.m4:
2114         - Use a shorter notation for ..._mem_function variants.
2115         - Change order of mem_funcotr<>'s template arguments to
2116         match std::mem_fun_t and to be more consistent with adaptors.
2117         - Use ::sigc::slot's implicit ctor in compatibility module.
2118         * sigc++/adaptors/lambda/operator.h.m4: Change some
2119         lambda action names to match action names in std.
2120
2121         API addition:
2122         * sigc++/adaptors/retype.h.m4: New file adding
2123         adaptor retype.
2124         * sigc++/Makefile.am: Build and distribute new file.
2125         * tests/test_retype.cc: New file testing adaptor retype.
2126         * MSVC_Net2003/tests/test_retype/test_reytype.vcproj,
2127         tests/Makefile.am: Build and distribute new test case.
2128
2129 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
2130
2131         * MSVC_Net2003: New directory containing project
2132         files for Visual Studio .Net 2003.
2133         Credits to Roel Vanhout <roel@riks.nl>!
2134
2135 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
2136
2137         * sigc++/retype.h.m4: Use LIBSIGC_TEMPLATE_PREFIX
2138         in explicit function template instantiations.
2139         * sigc++/type_traits.h: Add template specialization
2140         for arrays (T_type[N]) to disable non-working member
2141         type_trait<T_type[N]>::instance().
2142         * sigc++/visit_each.h: Remove more disturbing
2143         limit_derived_target<>::operator() overloads.
2144         (Should have noticed earlier that they are unnecessary.)
2145         * sigc++/adaptors/deduce_result_type.h.m4,
2146         sigc++/adaptors/lambda/operator.h.m4,
2147         sigc++/functors/functor_trait.h.m4,
2148         tests/test_[bind,compose,exception_catch,hide,lambda].cc:
2149         Completely removed support for typeof(). We don't need
2150         it any more and it is completely non-standard!
2151
2152 2003-10-30  Cedric Gustin <cedric.gustin@swing.be>
2153
2154         * configure.ac: Added test of win32 platform. Commented
2155         out AM_DISABLE_SHARED (DLLs are shared libraries).
2156         * sigc++/Makefile.am: added a few LDFLAGS for win32
2157         DLLs.
2158
2159 2003-10-30  Martin Schulze  <teebaum@cvs.gnome.org>
2160
2161         * sigc++/signal.h.m4: Add SigC::Signal#<>::slot().
2162         * sigc++/slot.h.m4: Comment out make_slot() work-around.
2163         * sigc++/adaptors/bind.h.m4: Remove unnecessary brackets
2164         in template argument lists. They are confusing MSVC.
2165         * sigc++/adaptors/*.h.m4, sigc++/adaptors/lambda/*.h.m4:
2166         Use LIBSIGC_TEMPLATE_PREFIX in explicit function
2167         template instantiations.
2168         * sigc++/tests/test_*.cc:
2169         - Include <string> where std::string is used.
2170         - Use double instead of float.
2171
2172 2003-10-27  Martin Schulze  <teebaum@cvs.gnome.org>
2173
2174         * sigc++/retype.h.m4: Cleanup.
2175         * TODO: Bring it up to date.
2176
2177 1.9.11:
2178
2179 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
2180
2181         * configure.ac: Bump version number to 1.9.11.
2182         * NEWS: Add ChangeLog summary for version 1.9.11.
2183
2184 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
2185
2186         Compatiblity module:
2187         * sigc++/signal.h.m4: Move definition of compatiblity
2188         classes SigC::SignalN to here.
2189         * sigc++/connection.h:
2190         - Add connection::connected().
2191         - Add compatibility typedef SigC::Connection.
2192         * sigc++/bind.h, sigc++/bind_return.h,
2193         sigc++/class_slot.h.m4, sigc++/hide.h.m4,
2194         sigc++/method_slot.h.m4, sigc++/object.h,
2195         sigc++/object_slot.h.m4, sigc++/retype.h.m4,
2196         sigc++/retype_return.h sigc++/slot.h.m4,
2197         sigc++/compatibility.h:
2198         New files to complete compatibility module.
2199         Split content of compatibility.h.m4 among the new files.
2200         * sigc++/compatibility.h.m4: Removed.
2201         * Makefile.am: Build and distribute new files.
2202         * tests/test_compatibility.cc: Test new stuff.
2203
2204         Fixes:
2205         * sigc++/functors/slot.h.m4: Fix copy constructor and
2206         operator=() of slot template.
2207         * sigc++/adaptors/bind.h.m4: Fix deduce_result_type
2208         template specializations. bind<0>() probably compiles
2209         with gcc-3.3, now.
2210
2211 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
2212
2213         Fixes:
2214         * sigc++/functors/slot.{cc,h.m4}:
2215         - Fix notification process: don't defer detaching of a
2216         slot from all referred trackables during signal emission!
2217         - Size optimization: replace virtual functions from
2218         struct typed_slot_rep with function pointers in slot_rep
2219         (reduces size of a typical typed_slot_rep instantiation
2220         by 30% !!!).
2221         * tests/test_slot.cc: Test sigc::slot more thoroughly.
2222         * sigc++/functors/mem_fun.h.m4: Fix visit_each().
2223         * sigc++/adaptos/bind_return.h.m4: Add support for
2224         sigc::ref().
2225         * tests/test_bind_return.cc: Use sigc::ref().
2226         * sigc++/signal.h.m4: Avoid compiler warning about
2227         uninitialized variable r_ in emit().
2228         * sigc++/visit_each.h: Cleanup.
2229
2230         API additions:
2231         * sigc++/adpators/lambda/operators.h.m4: Add
2232         lambda actions sigc::{reinterpret,static,dynamic}_cast_
2233         to support explicit parameter conversion.
2234         * tests/test_lambda.cc: Test sigc::static_cast_.
2235         * sigc++/adaptors/retype_return.h.m4: New file adding
2236         adaptor retype_return (and hide_return).
2237         * sigc++/Makefile.am: Build and distribute new file.
2238         * tests/test_retype_return.cc: New file testing
2239         adaptor retype_return (and hide_return).
2240         * tests/Makefile.am: Build and distribute new test case.
2241
2242 2003-10-25  Martin Schulze  <teebaum@cvs.gnome.org>
2243
2244         * sigc++/visit_each.h: Remove disturbing
2245         limit_derived_target<>::operator() overloads.
2246         * sigc++/adaptors/bind.h.m4: Add support for sigc::ref().
2247         * tests/test_bind.cc: Test sigc::ref().
2248         * sigc++/adaptors/lambda/{operator,group,base}.h.m4:
2249         - Move support for sigc::ref() from lambda_core<> into
2250         lambda operator and lambda group creator functions.
2251         - Add missing visit_each() overload for lambda<> template.
2252         * tests/test_lambda.cc: Test auto-disconnection.
2253         TODO: Fix a strange bug that leads to "Bus error"
2254         during auto-disconnection.
2255
2256 1.9.10:
2257
2258 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
2259
2260         * configure.ac: Bump version number to 1.9.10.
2261         * NEWS: Add ChangeLog summary for version 1.9.10.
2262
2263 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
2264
2265         * sigc++/functors/{functor_trait,slot}.h.m4:
2266         Move definition of struct nil into functor_trait.h.
2267
2268 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
2269
2270         * configure.ac: Disable typeof() compiler checks.
2271         * sigc++/adaptors/bind.h.m4: Remove unnecessary
2272         deduce_result_type<> template specializations.
2273
2274 2003-10-20  Martin Schulze  <teebaum@cvs.gnome.org>
2275
2276         * sigc++/adaptors/compose.h.m4:
2277         Correct order of typedefs for good. (Patch from Jeff Franks.)
2278
2279 1.9.9:
2280
2281 2003-10-20  Martin Schulze  <teebaum@cvs.gnome.org>
2282
2283         * sigc++/connection.h: Add constructor that takes
2284         a sigc::slot_base& to support 3rd-party slot lists
2285         like they are used in glibmm/gtkmm.
2286         * sigc++/functors/slot.h.m4: Make sigc::slot::call_type public.
2287         (Fixes compile problems reported by Jeff Franks.)
2288         * sig++/type_traits.h: Don't use long long in
2289         sigc::is_base_and_derived.
2290         (Fixes compile problems reported by Jeff Franks.)
2291         * sigc++/adaptors/{bind,compose,hide,exception_catch}.h.m4:
2292         Correct order of typedefs. (Repoted by Jeff Franks.)
2293         * configure.ac: Bump version number to 1.9.9.
2294         * NEWS: Add ChangeLog summary for version 1.9.9.
2295
2296 1.9.8:
2297
2298 2003-10-19  Martin Schulze  <teebaum@cvs.gnome.org>
2299
2300         * sigc++/functors/slot.h.m4: Define doxygen group functors.
2301         * configure.ac: Bump version number to 1.9.8.
2302         * NEWS: Add ChangeLog summary for version 1.9.8.
2303
2304 2003-10-19  Martin Schulze  <teebaum@cvs.gnome.org>
2305
2306         * NEWS: Add announces of versions 1.9.6 and 1.9.7.
2307         * sigc++/compatibility.h.m4: New file. Defines namespace SigC.
2308         namespace SigC should be API compatible to libsigc++-1.2.
2309         * sigc++/Makefile.am: Build compatibility.h.
2310         * tests/test_compatibility.cc, tests/Makefile.am:
2311         Add test case for compatibility module.
2312         * docs/index.html: Change group names.
2313         * sigc++/sigc++.h: Include connection.h.
2314         * sigc++/connection.{cc,h}:
2315         - Rename dependency to destroy_notify_callback.
2316         - Change parameter name in set_slot() from d to data.
2317         - Fix operator=(): Add "return *this;"
2318         - Get rid of namespace functor.
2319         - Corrections in documentation.
2320         * sigc++/signal.{cc,h.m4}:
2321         - Add reference counter to signal_impl. Replaces "bool destroy_".
2322         - Move signal_base, slot_iterator[_buf], slot_list out of
2323         namespace internal. They are part of the public API.
2324         - Add convenience function signal#::make_slot().
2325         - Get rid of namespace functor.
2326         - Corrections in documentation.
2327         * sigc++/trackable.{cc,h}:
2328         - Rename dependency to destroy_notify_callback.
2329         - Rename trackable::clear() to trackable::notify_callbacks().
2330         - Corrections in documentation.
2331         * sigc++/type_traits.h: Add documentation.
2332         * sigc++/visit_each.h:
2333         - Get rid of namespace functor.
2334         - Add documentation.
2335         * sigc++/adaptors[/lambda]/*: Get rid of namespace functor.
2336         * sigc++/functors/{functor_trait.h,ptr_fun.h.m4,mem_fun.h.m4}:
2337         - Get rid of namespace functor.
2338         - Corrections in documentation / add documentation.
2339         * sigc++/functors/slot.{cc,h.m4}:
2340         - Move slot_base out of namespace internal. It's public API.
2341         - Get rid of one-letter-parameter-names.
2342         - Get rid of namespace functor.
2343         - Corrections in documentation.
2344         * tests/*.cc: Get rid of "using namespace ...".
2345
2346 2003-09-10  Martin Schulze  <teebaum@cvs.gnome.org>
2347
2348         * sigc++/adaptors/lambda/{base,operators}.h.m4:
2349         Add subscript ([]) and assign (=) operator. I think there are now
2350         enough operators available to make any future power user happy.
2351         The only one missing is the comma operator and if we added it
2352         the logical consequence would be to also add if(), switch(), do(),
2353         etc. lambda expressions which are really out of place in libsigc++.
2354         * sigc++/type_traits.h: Fix is_base_and_derived<> for const types.
2355         * tests/test_lambda.cc: Test new operators.
2356
2357 1.9.7:
2358
2359 2003-09-05  Martin Schulze  <teebaum@cvs.gnome.org>
2360
2361         * configure.ac: Bump version number to 1.9.7.
2362
2363 2003-09-03  Martin Schulze  <teebaum@cvs.gnome.org>
2364
2365         * sigc++/adaptors/lambda/operator.h.m4:
2366         - Restructure so that the size of the generated source file stays
2367         reasonable for 34 operators: There are only two lambda templates
2368         lambda_operator and lambda_operator_unary. The action is an additional
2369         template parameter. A small template lambda_action[_unary] is specialized
2370         for all actions.
2371         - Add most operators that boost::lambda supports. Missing operators are
2372         "=", "[]", "," and support for pointer arithmetic. I don't know if it's
2373         worth adding these. In libsigc++, the purpose of lambda operators is to
2374         provide some extra functionality for the group adaptor.
2375         * tests/test_lambda.cc:
2376         Test pre-increment, address and dereference operator.
2377
2378 2003-08-31  Martin Schulze  <teebaum@cvs.gnome.org>
2379
2380         * sigc++/reference_wrapper.h, sigc++/type_traits.h, sigc++/Makefile.am:
2381         New file reference_wrapper.h provides ref() to specify that adaptors/lambdas
2382         should take a reference to the object passed into ref() instead of a copy.
2383         * tests/test_lambda.cc:
2384         - Test group() with mem_fun().
2385         - Use ref() where lambdas should store references to objects.
2386         - Test var() and constant().
2387         * sigc++/adaptors/lambda/base.h.m4:
2388         - Support ref() in return type deduction.
2389         - Add var() and constant() which create lambdas for usage with lambda operators.
2390         * sigc++/adaptors/lambda/operator.h.m4:
2391         - Fix return type deduction.
2392         - Remove operator{+,-,*,...} overloads added on 2003-08-29. ref() is way cleaner.
2393         * sigc++/adaptors/lambda/group.h.m4,
2394         sigc++/adaptors/bind.h.m4, sigc++/adaptors/compose.h.m4,
2395         sigc++/adaptors/exception_catch.h.m4, sigc++/adaptors/hide.h.m4:
2396         Fix return type deduction.
2397
2398 2003-08-29  Martin Schulze  <teebaum@cvs.gnome.org>
2399
2400         * tests/test_lambda.cc: Add more tests.
2401         * sigc++/adaptors/lambda/select.h.m4, sigc++/adaptors/lambda/lambda.cc.m4:
2402         Make _1, _2, ... constant.
2403         * sigc++/adaptors/lambda/operator.h.m4:
2404         Add operator{+,-,*,...} overloads to distinguish between const and non-const objects.
2405         Store references to non-const objects rather than copies.
2406         This allows expressions like e.g. std::cout << _1.
2407         * sigc++/adaptors/lambda/base.h.m4, sigc++/adaptors/lambda/group.h.m4:
2408         Remove void specializations. Functors returning void are tested and work fine.
2409
2410 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
2411
2412         * tests/test_callof.cc, tests/test_deduce_result_type.cc:
2413         Rename, correct and improve this test case.
2414         * tests/Makefile.am: Build and run test_deduce_result_type
2415         instead of test_callof.
2416
2417 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
2418
2419         * Update TODO.
2420
2421 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
2422
2423         * sigc++/adaptors/hide.h.m4: Remove usage of callof_ignore_arg<>.
2424         * sigc++/callof.h.m4, sigc++/adaptors/deduce_result_type.h.m4,
2425         sigc++/functors/functor_trait.h.m4:
2426         Remove the first and move deduce_result_type templates from
2427         functor_trait.h.m4 into new file deduce_result_type.h.m4.
2428         * sigc++/Makefile.am, sigc++/sigc++.h, sigc++/adaptors/adaptor_trait.h.m4:
2429         Build and include sigc++/adaptors/deduce_result_type.h instead of callof.h.
2430         * sigc++/functors/slot.h.m4: Document struct nil.
2431
2432 2003-08-24  Martin Schulze  <teebaum@cvs.gnome.org>
2433
2434         * sigc++/functors/functor_trait.h.m4: Simplify usage of convenience
2435         macro SIGC_FUNCTORS_HAVE_RESULT_TYPE:
2436         namespace sigc{ namespace functor{ SIGC_FUNCTORS_HAVE_RESULT_TYPE }}
2437
2438 2003-08-24  Martin Schulze  <teebaum@cvs.gnome.org>
2439
2440         * sigc++/functors/functor_trait.h,m4, sigc++/adaptors[/lambda]/*.h.m4:
2441         Merge adaptor return type deduction and typeof() into
2442         sigc::functor::deduce_result_type. Use it for all adaptors.
2443         * tests/test_compose.cc: Only test multi-type get-functor if
2444         typeof() if supported.
2445
2446 2003-08-24  Martin Schulze  <teebaum@cvs.gnome.org>
2447
2448         * sigc++/adaptors[/lambda]/*.h.m4:
2449         - Remove unnecessary void specializations. In fact, only the one
2450         for sigc::functor::exception_catch<> is needed and I don't really
2451         understand why. For the lambda stuff the void specializatoins are
2452         just commented out at the moment.
2453         - Make typeof() optional. Surprisingly, I got the lambda stuff working
2454         without typeof()! The test suite doesn't catch all cases yet, so maybe
2455         some thing are still not working.
2456         TODO: Implement configure check.
2457         * tests/test_bind.cc, tests/test_compose.cc tests/test_exception_catch.cc,
2458         tests/test_hide.cc, tests/test_lambda.cc:
2459         Only test multiple functor return types if typeof() is supported.
2460
2461 2003-08-06  Martin Schulze  <teebaum@cvs.gnome.org>
2462
2463         * sigc++/trackable.{cc,h}: Add function trackable::clear().
2464
2465 2003-06-24  Andreas Rottmann  <rottmann@users.sourceforge.net>
2466
2467         * TODO: Minor tweaks.
2468
2469 2003-06-23  Andreas Rottmann  <rottmann@users.sourceforge.net>
2470
2471         * docs/reference/Doxyfile.in: Use these variables.
2472         * docs/reference/Makefile.am (html/index.html): Provide doxygen
2473         with SRCDIR and TOP_SRCDIR environment variables.
2474
2475         * sigc++/functors/slot.h.m4: Make slot::call_type typedef public;
2476         this fixes a g++ 3.3 error in signal.h.
2477
2478         * sigc++/signal.h.m4: Make the signal::accumulated class public;
2479         this fixes a g++ 3.3 error in test_accumulated.cc.
2480
2481 2003-06-15  Martin Schulze  <teebaum@cvs.gnome.org>
2482
2483         * sigc++/functor/slot.h.m4: Correct typing error in docs.
2484         * sigc++/functor/ptr_fun.h.m4: Document the whole thing.
2485
2486 2003-05-31  Murray Cumming  <murrayc@usa.net>
2487
2488         * Reference documentation: Rearranged the groups to make it all
2489         a bit more like the libsigc++ 1.2 reference documentation.
2490         Corrected some spelling and grammar too.
2491         This needs a lot of work. The text is very hard to read and it's
2492         generally not appropriate for a user of the code who doesn't
2493         care about the internals. But it's not impossible - our examples
2494         should show us what we need to say in the documentation.
2495         We probably need some more groups for the extra stuff, like we do
2496         in libsigc++ 1.2.
2497
2498 2003-05-29  Martin Schulze  <teebaum@cvs.gnome.org>
2499
2500         * sigc++/signal.h.m4: Fix documentation.
2501         * sigc++/connection.h, sigc++/functor/slot.h.m4:
2502         Document the whole thing.
2503
2504 2003-05-29  Martin Schulze  <teebaum@cvs.gnome.org>
2505
2506         * sigc++/signal.h.m4:
2507         - Remove bogus operator() from unnumbered signal<> and
2508           signal<>::accumulated templates.
2509         - Document the whole thing.
2510
2511         * docs/index.html: Fix some links.
2512
2513 2003-04-06  Martin Schulze  <MHL.Schulze@t-online.de>
2514
2515         * TODO, configure.ac, Makefile.am, docs/*:
2516         Add Doxygen framework.
2517
2518 2003-04-06  Martin Schulze  <MHL.Schulze@t-online.de>
2519
2520         * sigc++/callof.h.m4, sigc++/adaptors/*, tests/test_callof.cc:
2521         Move sigc::callof<> to sigc::functor::internal::callof<>.
2522
2523         * sigc++/functors/mem_fun.h.m4, tests/test_mem_fun.cc:
2524         Add new types [bound_][const_]volatile_mem_functor, visit_each()
2525         and mem_fun() overloads for volatile qualifier.
2526         Add ctor overloads in bound_*mem_functor and mem_fun() overloads
2527         that take reference instead of pointer.
2528
2529 2003-03-26  Martin Schulze  <MHL.Schulze@t-online.de>
2530
2531         * Change "closure" to "slot" throughout sigc++2 (file names,
2532         class names, member variables, documentation, etc.).
2533
2534 2003-03-26  Martin Schulze  <MHL.Schulze@t-online.de>
2535
2536         * TODO: Rewrite to reflect recent changes as well as recent discussions.
2537
2538 2003-03-24  Martin Schulze  <MHL.Schulze@t-online.de>
2539
2540         * sigc++/adaptors/bind_return.h.m4: Make the adaptor's data member
2541         public so that visit_each() can access it.
2542
2543         * sigc++/adaptors/lambda/*.h.m4: More fixes. Add a note about
2544         malfunctioning typeof() (probably compiler bug in gcc-3.2).
2545
2546         * tests/*.cc: Test references. Fix compose equivalent in test_lambda.
2547
2548 2003-03-24  Martin Schulze  <MHL.Schulze@t-online.de>
2549
2550         * sigc++/Makefile.am, sigc++/functors/functor_trait.h[.m4],
2551         sigc++/adaptors/adaptor_trait.h.m4: Move detection of function
2552         and member method pointers' return types from adaptor_trait into
2553         functor_trait. (We'll use functor_trait rather than adaptor_trait for
2554         our lambda stuff.) functor_trait.h needs to be generated from .m4 now.
2555
2556         * sigc++/functors/functor_trait.h.m4: Add convenience macros:
2557         - SIGC_FUNCTORS_HAVE_RESULT_TYPE indicates that the existance of
2558         T_functor::result_type should be assumed for all unknown functors.
2559         - SIGC_FUNCTOR_TRAIT(T_functor, T_result) explicitly specifies the
2560         result type of a functor.
2561         ("typename functor_trait<T_functor>::result_type") is used to
2562         determine the return type of our adaptors' operator()() overloads.
2563
2564         * sigc++/adaptors/[lambda/]*.h.m4: Various fixes in visit_each() and
2565         operator()() overloads to make these operator()() overloads usable.
2566         Most of them were just commented out before. Some adaptor types also
2567         have void specializations, now.
2568
2569         * sigc++/adaptors/lambda/group.h.m4: Change syntax from
2570         "[some_functor] % grp([args])" to "group([some_functor], [args])"
2571         like we agreed on the ml some time ago.
2572
2573         * sigc++/tests/test_[all adaptors].cc: Test stuff that didn't work
2574         before.
2575
2576 2003-03-22  Murray Cumming  <murrayc@usa.net>
2577
2578         * Added pgk-config file, from a mystery person in bug #108857
2579
2580 2003-03-22  Martin Schulze  <MHL.Schulze@t-online.de>
2581
2582         * tests/test_bind.cc: Test and show how to use functor_trait
2583         for user defined or 3rd-party functors so that a
2584         bind<0>([functor],[arg1])() call with no arguments can return a value.
2585
2586 2003-03-20  Martin Schulze  <MHL.Schulze@t-online.de>
2587
2588         * sigc++/callof.h.m4: Add explanations. Comment in / create templates
2589         callof_safe[#]. Unfortunately they don't work for functors with overloaded
2590         operator() so we don't use it for now. At least everything is documented.
2591
2592         * sigc++/functors/functor_trait.h, sigc++/functors/*.h.m4: Add back
2593         functor_base compiler hint. We're using it now in adaptor_functor<>.
2594
2595         * sigc++/adaptors/{adaptor_trait,bind}.h.m4: Make operator() overloads
2596         with no arguments return the result of the functor invocation.
2597         Fix multiple bind<0>().
2598         * tests/test_bind.cc: Test the stuff that's working now.
2599
2600 2003-03-16  Murray Cumming  <murrayc@usa.net>
2601
2602         * Added sigc++/sigc++.h, like in libsigc++ 1.2
2603         * examples: Added member_method example, which uses a class method
2604         and which demonstrates disconnection.
2605
2606 1.9.6:
2607
2608 2003-03-11  Andreas Rottmann  <rottmann@users.sourceforge.net>
2609
2610         * sigc++/Makefile.am: Use substitution references instead of
2611         $(patsubst). Is shorter and fixes the strange-dirs-in-dist-tarball
2612         bug.
2613
2614 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
2615
2616         * sigc++/connection.h: Add block() capability.
2617
2618 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
2619
2620         * sigc++/signal.{cc,h.m4}: Add flag signal_impl::destroy_
2621         and function signal_impl::destroy(). Use them to defer
2622         the destruction of the signal_impl object during signal
2623         emission.
2624
2625         * tests/test_disconnect.cc: Add tests for the connection
2626         class and for deleting signals during emission.
2627
2628 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
2629
2630         * sigc++/connection.{cc,h}, sigc++/Makefile.am:
2631         - New files that add a connection class. Objects of this
2632           class are constructed from closure list iterators and can
2633           be used to disconnect the refered closure. As opposed to
2634           iterators they stay valid beyond the lifetime of the closure.
2635
2636 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
2637
2638         * sigc++/functors/closure.{cc,h.m4}, sigc++/signal.cc:
2639         - Rename closure_{base,rep}::[set_]dependency_ -> [set_]parent_.
2640         - Make closure_rep inherit trackable. This allows for
2641           connection objects that stay valid beyond the life time
2642           of the refered closure.
2643         - Make some one-line-functions inline again.
2644
2645 2003-03-08  Martin Schulze  <MHL.Schulze@t-online.de>
2646
2647         * sigc++/trackable.cc: BUGFIX in trackable_dep_list::clear()
2648
2649 2003-03-08  Andreas Rottmann  <rottmann@users.sourceforge.net>
2650
2651         * sigc++/Makefile.am: Rewritten so we can build lambda cleanly.
2652         * sigc++/Makefile.am_fragment: Removed.
2653
2654         * sigc++/functors/Makfile.am: Removed.
2655         * sigc++/adaptors/Makefile.am: Removed.
2656         * sigc++/adaptors/lambda/Makefile.am: Removed.
2657         * configure.ac (AC_OUTPUT): Remove the above Makefiles.
2658
2659         * tests/Makefile.am: Re-included lambda test.
2660
2661 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
2662
2663         * sigc++/signal.{cc,h.m4}:
2664         - signal_emit#<>: New templates replacing signal#<>::caller.
2665           The purpose of these templates is implementing the emit
2666           function and optimizing signal emission for the case that
2667           no accumulator is used via template specializations.
2668         - default_accumulator<>: Removed. The default for T_accumulator
2669           in signal#<> now is nil. An example how to use accumulators
2670           is available in tests/test_accumulator.cc.
2671         - signal_{base,impl}: Move the implementation of signal_base's
2672           interface to signal_impl. An object of this class is
2673           dynamically allocated when first connecting a closure to
2674           the signal. This drastically reduces the size of empty signals
2675           and allows for future addition of a reference counter to make
2676           it safe to delete a signal during emission.
2677         - Directly work on closure_rep during signal emission. This
2678           seems to be quicker than using the closure templates.
2679         - Document the classes. Restructure the header file a bit.
2680
2681         * sigc++/functors/closure.h.m4: Make closure_base::rep_ data
2682         member public, so that signal emission can directly work on it.
2683
2684         * tests/test_size.cc: Add an entry for signal_impl.
2685
2686 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
2687
2688         * sigc++/functors/closure.{cc,h.m4}:
2689         - closure_base: BUGFIXES in ~closure_base() and operator=().
2690         - Mark some functions with the inline keyword. This seems to
2691           help gcc 3.2 to optimize signal emission and (dis)connection.
2692         - Document the classes. Restructure the header file a bit.
2693
2694 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
2695
2696         * sigc++/trackable.{cc,h}: Make trackable allocate a
2697         trackable_dep_list object dynamically when adding the first
2698         dependency. (This reduces the size of objects, that are not
2699         refered by a closure by 4 bytes (50%) and increases the size
2700         of objects that are refered by a closure by 4 bytes (50%)
2701         on a 32 bit architecture => This reduces total memory use
2702         when >50% of the trackables are not refered by a closure.)
2703         Document the classes.
2704
2705 2003-03-05  Martin Schulze  <MHL.Schulze@t-online.de>
2706
2707         * tests/Makefile.am, tests/test_size.cc, tests/test_accumulated.cc:
2708         Add two test cases. test_size is showing the size of  public and
2709         internal structures. (Which apart from empty signals are smaller
2710         than the sizes of the equivalent libsigc++-1.2 structures.)
2711         test_accumulated is a test for the template signal<>::accumulated<>
2712         at the same time showing the use of accumulators in libsigc++2.
2713
2714         * Offtopic: My note about binary sizes from 2003-02-10 is wrong.
2715         Stripped libsigc++2 test binaries are about 8-10k in size.
2716
2717 2003-03-05  Martin Schulze  <MHL.Schulze@t-online.de>
2718
2719         * sigc++/visit_each.h: BUGFIX in template specialization
2720         limit_derive_target<T_Target*,T_action>::with_type<false,T_type>:
2721         Add non-const overloads for static void execute_() avoiding
2722         compile time errors.
2723
2724 2003-02-16  Martin Schulze  <MHL.Schulze@t-online.de>
2725
2726         * tests/Makefile.am, tests/test_disconnect.cc:
2727         Add testcase with a mixed connection & disconnection sequence.
2728
2729 2003-02-16  Martin Schulze  <MHL.Schulze@t-online.de>
2730
2731         * sigc++/signal.cc: Bugfix in signal_base::insert():
2732         Set notification function in the newly created copy of
2733         slot_ rather than in slot_ itself.
2734
2735 2003-02-10  Martin Schulze  <MHL.Schulze@t-online.de>
2736
2737         * sigc++/signal.h.m4: Comment in typedefs for iterator types in
2738         the signal#<> class template. Make signal#<>::connect() return an
2739         iterator for convenience.
2740         (Note that the first change increases the binary size of
2741         tests/test_signal from 201k to 204k, the second change to 206k.)
2742
2743 2003-01-23  Murray Cumming  <murrayc@usa.net>
2744
2745         * sigc++/adaptors/lambda is disable temporarily (not built and
2746         not distributed) because it gets built before its parent
2747         directory, but #includes generated sources in the parent directory.
2748
2749 2003-01-22  Murray Cumming  <murrayc@usa.net>
2750
2751         * Added Andreas Rottman's example.
2752
2753 2003-01-22  Murray Cumming  <murrayc@usa.net>
2754
2755         * Applied Andreas Rottman's make dist fixes.
2756
2757 2003-01-14  Murray Cumming  <murrayc@usa.net>
2758
2759         * Added whitespace to make the code more readable.