Imported Upstream version 2.99.9 (LGPL3)
[platform/upstream/libsigc++.git] / ChangeLog
1 2017-08-07  Murray Cumming  <murrayc@murrayc.com>
2
3         2.99.9
4
5 2017-07-21  Murray Cumming  <murrayc@murrayc.com>
6
7         Tests: Add comments by uses after move.
8
9         Because we really do want to test this.
10         We do not explicitly promise that it's safe to use moved-from libsigc++
11         objects, but we choose to make it safe.
12
13 2017-07-21  Murray Cumming  <murrayc@murrayc.com>
14
15         signal_impl_exec_holder: Make a constructor explicit.
16
17         Because it has only one parameter.
18         Noticed by clang-tidy.
19
20 2017-07-21  Murray Cumming  <murrayc@murrayc.com>
21
22         trackable: Use emplace_back() instead of push_back().
23
24         Found by clang-tidy.
25
26 2017-07-21  Murray Cumming  <murrayc@murrayc.com>
27
28         slot_base: Destructor: No need for null check before delete.
29
30         Found by clang-tidy.
31
32 2017-07-21  Murray Cumming  <murrayc@murrayc.com>
33
34         signal.h: Correct some strange comment formatting.
35
36 2017-07-21  Murray Cumming  <murrayc@murrayc.com>
37
38         trackable: Make move operations noexcept.
39
40         I don't think there is any reason not to.
41         Noticed by clang-tidy.
42
43 2017-07-21  Murray Cumming  <murrayc@murrayc.com>
44
45         weak_raw_ptr: Minor use of auto
46
47         Noticed by clang-tidy.
48
49 2017-07-21  Murray Cumming  <murrayc@murrayc.com>
50
51         trackable: Don't bother checking for null before using delete.
52
53         Because deleting null is allowed.
54         Noticed by clang-tidy.
55
56 2017-07-21  Murray Cumming  <murrayc@murrayc.com>
57
58         track_obj_functor: Make the constructor explicit.
59
60         Because it can take just one argument.
61         Noticed by clang-tidy.
62
63 2017-07-21  Murray Cumming  <murrayc@murrayc.com>
64
65         tests: Initialize a member variable.
66
67         Noticed by clang-tidy.
68
69 2017-07-21  Murray Cumming  <murrayc@murrayc.com>
70
71         tests: Some use of auto.
72
73         Noticed by clang-tidy.
74
75 2017-07-21  Murray Cumming  <murrayc@murrayc.com>
76
77         tests: Make some casts explicit.
78
79         Noticed by clang-tidy.
80
81 2017-07-21  Murray Cumming  <murrayc@murrayc.com>
82
83         tests: Include cstring instead of string.h
84
85         Noticed by clang-tidy.
86
87 2017-07-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
88
89         Update method names in comments
90
91         Some method names have changed from libsigc++2 to libsigc++3, but not all
92         comments have been changed accordingly.
93
94         * sigc++/connection.h: Correct some parameter names in doxygen comments.
95         connection::notify() has been replaced by a private method in weak_raw_ptr.
96         * sigc++/signal_base.[cc|h]: signal_impl::notify() has been renamed
97         notify_self_and_iter_of_invalidated_slot().
98
99 2017-07-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
100
101         Remove signal_base::erase() and signal_impl::erase()
102
103         They are not used in libsigc++3. Bug 784550
104
105 2017-07-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
106
107         test_signal: Test calls to signal_base::clear()
108
109         Call it both during signal emission and otherwise. Bug 784550
110
111 2017-07-17  Kjell Ahlstedt  <kjellahlstedt@gmail.com>
112
113         signal_impl::clear(): Don't clear the slot list during signal emission
114
115         If signal_impl::clear() is called during signal emission, don't call
116         slots_.clear(). Let signal_impl::sweep() erase all slots after the signal
117         emission. Bug 784550
118
119 2017-04-18  Murray Cumming  <murrayc@murrayc.com>
120
121         tests: Implement a function.
122
123         We don't actually call the function, but it avoids an inspection
124         warning from Jetbrains CLion, and doesn't seem unreasonable.
125
126 2017-04-18  Murray Cumming  <murrayc@murrayc.com>
127
128         tests: Remove unnecessary includes.
129
130         Found by Jetbrains CLion.
131
132 2017-03-16  Chun-wei Fan  <fanchunwei@src.gnome.org>
133
134         MSVC_Net2017/filelist.am: Fix listing
135
136         The test_functor_trait project was removed, so it ought to be removed from
137         MSVC_Net2017/filelist.am as well.
138
139 2017-03-14  Chun-wei Fan  <fanchunwei@src.gnome.org>
140
141         Visual Studio builds: Update "install"
142
143         Numerous headers have been added or deleted during the development phase
144         of 3.0, so make sure we are copying the right items.
145
146 2017-03-14  Chun-wei Fan  <fanchunwei@src.gnome.org>
147
148         Visual Studio builds: Rename libsigc++2 projects to libsigc++3
149
150         This makes it clearer to people that this is 3.x-to-be, not 2.x.
151
152 2017-02-14  Murray Cumming  <murrayc@murrayc.com>
153
154         2.99.8
155
156 2017-02-13  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
157
158         slot_rep: Fix the notify_slot_rep_invalidated() name in comments
159
160         slot_rep::notify() has been renamed to notify_slot_rep_invalidated(),
161         but the name was not updated in all comments.
162
163 2017-02-13  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
164
165         slot_rep: Rename dup() to clone()
166
167         because clone() is the usual name of such a function. Bug 777618
168
169 2017-02-13  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
170
171         slot_rep: Make destructor, destroy() and dup() virtual
172
173         * sigc++/functors/slot_base.h:
174         * sigc++/functors/slot.h: Make ~slot_rep(), slot_rep::destroy() and
175         slot_rep::dup() virtual. Bug 777618
176
177 2016-12-19  Chun-wei Fan  <fanchunwei@src.gnome.org>
178
179         Visual Studio builds: Rename MSVC_Net2013 to MSVC_Net2017
180
181         Since libsigc++-3.0 will require Visual Studio 2017 to build,
182         we ought to rename MSVC_Net2013 to MSVC_Net2017 so that it is clear to people,
183         and let them know that it is the case in README.
184
185 2016-12-11  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
186
187         Add tests/memleakcheck.sh
188
189         This shell script runs the test cases with valgrind, searching for
190         memory leaks. Bug 775871
191
192 2016-12-11  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
193
194         signal_impl: Use std::weak_ptr<signal_impl> in connected slots
195
196         A signal_impl object shall not store std::shared_ptr to itself via connected
197         slots. It results in memory leaks. Use std::weak_ptr in the self_and_iter
198         struct. Bug 775871
199
200 2016-12-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
201
202         signal_impl::clear(): Really avoid erasing the slots prematurely
203
204         The call signal_impl_exec_holder(this) creates a signal_impl_exec_holder
205         which is immediately destroyed. It does not stop signal_impl::notify() from
206         erasing the slots. Create a signal_impl_exec_holder that exists until the
207         end of clear().
208
209 2016-12-05  Chun-wei Fan  <fanchunwei@src.gnome.org>
210
211         Visual Studio builds: Use Visual Studio 2017.
212
213         libsigc++-3.x requires C++-14 features which are only adequately supported
214         on Visual Studio 2017, so update the project settings to Visual Studio
215         2017.
216
217         Note that the 2017 CRT still makes use of the 2015 CRT as they aim to be
218         compatiable with each other.
219
220 2016-11-23  Murray Cumming  <murrayc@murrayc.com>
221
222         tests: Catch exceptions by const ref.
223
224         Noticed by cppcheck.
225
226 2016-11-20  Christophe Lermytte  <gentoo@lermytte.be>
227
228         Make --disable-benchmark work
229
230         Currently, when calling ./configure, the possible outcomes of the
231         enable_benchmark variable are:
232
233         ./configure                          -> ""
234         ./configure --enable-benchmark       -> "yes"
235         ./configure --enable-benchmark=yes   -> "yes"
236         ./configure --enable-benchmark=no    -> "yes"
237         ./configure --enable-benchmark=hello -> "yes"
238         ./configure --disable-benchmark      -> "yes"
239
240         With this commit, those values become
241
242         ./configure                          -> ""
243         ./configure --enable-benchmark       -> "yes"
244         ./configure --enable-benchmark=yes   -> "yes"
245         ./configure --enable-benchmark=no    -> "no"
246         ./configure --enable-benchmark=hello -> "hello"
247         ./configure --disable-benchmark      -> "no"
248
249         Note that enable_benchmark is currently only being checked for
250         being "yes" or not.
251
252         Bug #774732
253
254 2016-07-28  Murray Cumming  <murrayc@murrayc.com>
255
256         slot_rep::dup(): Remove an unnecessary static_cast.
257
258         Found by CLion's code inspection.
259
260 2016-07-18  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
261
262         Build: Fix silent builds
263
264         * configure.ac: Pass yes to AM_SILENT_RULES, thus enabling silent builds.
265         Require mm-common 0.9.10 (not necessary for silent builds, but necessary when
266         MM_AX_CXX_COMPILE_STDCXX is used).
267         * docs/reference/Doxyfile.in: Set QUIET=YES.
268         Update for doxygen 1.8.11 (not necessary for silent builds).
269         Bug #768797
270
271 2016-07-06  Murray Cumming  <murrayc@murrayc.com>
272
273         Correct a comment.
274
275 2016-06-27  Murray Cumming  <murrayc@murrayc.com>
276
277         2.99.7
278
279 2016-05-16  Murray Cumming  <murrayc@murrayc.com>
280
281         Remove trailing whitespace.
282
283 2016-05-02  Murray Cumming  <murrayc@murrayc.com>
284
285         slot_base: Use weak_raw_ptr instead of destroy_notify_struct.
286
287         This seems cleaner.
288
289 2016-05-02  Murray Cumming  <murrayc@murrayc.com>
290
291         connection: Use weak_raw_ptr for slot_base.
292
293         Instead of connection deriving from notifiable and setting/unsetting
294         its own notification callbacks. This simplifies the code.
295
296 2016-05-02  Murray Cumming  <murrayc@murrayc.com>
297
298         Added sigc::internal::weak_raw_ptr<>.
299
300         As a simpler way to null a pointer to an object when that object
301         is deleted.
302
303 2016-04-29  Murray Cumming  <murrayc@murrayc.com>
304
305         connection: Update the documentation.
306
307         This no longer needs to (or can be) created from an iterator.
308
309 2016-04-29  Murray Cumming  <murrayc@murrayc.com>
310
311         Docs: Fix some minor typos.
312
313 2016-04-29  Murray Cumming  <murrayc@murrayc.com>
314
315         Docs: Fix invokation->invocation typos.
316
317 2016-04-28  Murray Cumming  <murrayc@murrayc.com>
318
319         signal_base: Remove unnecessary trackable.h include.
320
321 2016-04-28  Murray Cumming  <murrayc@murrayc.com>
322
323         signal_base: Do not derive from trackable.
324
325         Because we don't seem to actually use the trackable API when using
326         these objects. There was a call to notify_callbacks(), but that
327         cannot have done anything, because nothing registers any callbacks
328         with the base trackable, and now cannot possibly register any
329         callbacks, because it's no longer a trackable.
330
331 2016-04-28  Murray Cumming  <murrayc@murrayc.com>
332
333         slot_rep: Pass a slot_rep*, not notifiable*, to destroy().
334
335         To make it clearer exactly what callback signature is expected,
336         and what the type of the data is.
337
338 2016-04-28  Murray Cumming  <murrayc@murrayc.com>
339
340         signal_impl: Doesn't need to derive from notifiable.
341
342 2016-04-27  Murray Cumming  <murrayc@murrayc.com>
343
344         2.99.6
345
346 2016-04-27  Murray Cumming  <murrayc@murrayc.com>
347
348         copy operations: Name all parameters src.
349
350         To make it more obvious that these are copy operations.
351
352 2016-04-24  Murray Cumming  <murrayc@murrayc.com>
353
354         signal_impl_holder: Split into this and signal_exec_holder.
355
356         And use just signal_exec_holder in signal_impl::clear(),
357         instead of trying to take create a shared_ptr to this while
358         this is being destroyed.
359
360         Bug #764935
361
362 2016-04-24  Murray Cumming  <murrayc@murrayc.com>
363
364         signal_exec: Rename to signal_exec_holder.
365
366         Because that's what it does. It doesn't execute anything.
367
368 2016-04-23  Murray Cumming  <murrayc@murrayc.com>
369
370         signal_impl: Trying to do the ref-counting with std::shared_ptr.
371
372         Bug #764935
373
374 2016-04-22  Marcin Kolny  <marcin.kolny@gmail.com>
375
376         slot: use pointer for functor_ member
377
378         Using pointer instead of value allows us to avoid calling
379         destructor of functor_ directly in destroy()
380
381 2016-04-22  Murray Cumming  <murrayc@murrayc.com>
382
383         test_disconnect: Add comment to explain potential leak.
384
385         Because clang-tidy incorrectly (but understandably) complains about this.
386
387 2016-04-22  Murray Cumming  <murrayc@murrayc.com>
388
389         tests: Make single argument constructors explicit.
390
391         Found by the google-explicit-constructor clang-tidy check.
392
393 2016-04-22  Murray Cumming  <murrayc@murrayc.com>
394
395         limit_refernce: =default copy/move operations.
396
397         Because we really use at least the default copy constructor,
398         so this makes that clearer.
399
400 2016-04-22  Murray Cumming  <murrayc@murrayc.com>
401
402         limit_reference: Make constructor explicit.
403
404 2016-04-22  Murray Cumming  <murrayc@murrayc.com>
405
406         Connection: Constructor: Take slot_base as reference.
407
408         This constructor existed before, so this avoids an API break.
409
410 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
411
412         signal_emit: Make constructor explicit.
413
414 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
415
416         temp_slot_list: Make constructor explicit.
417
418 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
419
420         typed_slot_rep: Make constructor explicit.
421
422 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
423
424         test_size: Add comments with the results, so we can notice changes.
425
426 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
427
428         slot_rep: Rename notify() for clarity.
429
430 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
431
432         signal_impl: Rename notify_self_and_iter_invalidated().
433
434         To notify_self_and_iter_of_invalidated_slot(), to make it clear both
435         what is being notified, and what is being invalidated.
436
437 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
438
439         test_accum_iter: Use of decltype(auto).
440
441 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
442
443         Use temp_slot_list as const.
444
445 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
446
447         Fixed missing newline in doxygen comment.
448
449 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
450
451         signal_emit: Make a_ private.
452
453 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
454
455         signal_emit: Remove some public type aliases.
456
457 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
458
459         connection: Rename notify() for clarity.
460
461 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
462
463         connection: Make notify() private.
464
465 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
466
467         connection: Take the slot_base directly, without the intermediate slot_iterator.
468
469 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
470
471         signal::connect(): Return a sigc::connection.
472
473         Instead of an iterator aliases to a signal<>::connection.
474
475 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
476
477         slot_list: Remove this now-unused class.
478
479 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
480
481         Remove unused const_*_iterator.
482
483         And the unused slot_list methods that use it.
484
485 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
486
487         signal: Remove public emitter_type alias.
488
489 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
490
491         signal: Rename iterator to connection.
492
493         It is still actually an iterator, but we can change that later.
494
495 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
496
497         Remove now-unused slot_reverse_iterator_buf.
498
499 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
500
501         signal: Remove slots().
502
503         Because it does not seem useful.
504         Also remove the unused extra iterator types and the const slot().
505
506 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
507
508         signal: Remove emit_reverse().
509
510         It is not used in any tests or examples. Let's see if anybody actually
511         uses it.
512
513 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
514
515         signal: connect(), insert(): Remove unnecessary static_cast<>s.
516
517 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
518
519         signal_base::insert(): Add and use help method to avoid copy/pasting.
520
521 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
522
523         signal_base: Rename notify() to notify_self_and_iter().
524
525         To make it clearer that this is only ever called for self_and_iter.
526
527 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
528
529         signal_base: Make notify() private.
530
531 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
532
533         signal_impl::insert(): Rename a variable for clarity.
534
535 2016-04-21  Murray Cumming  <murrayc@murrayc.com>
536
537         slot_rep: Add and use unset_parent().
538
539         Because that is slightly clearer.
540
541 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
542
543         Update tests/.gitignore
544
545 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
546
547         benchmark: Use boost::timer instead of Glib::Timer.
548
549         And optionally build it, when --enable-benchmark is passed to configure.
550
551 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
552
553         benchmark: Use the newer syntax.
554
555 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
556
557         benchmark: Increase count.
558
559 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
560
561         benchmark: Make the 1000 a constant, so we can change it.
562
563 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
564
565         benchmark: Rearrange.
566
567 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
568
569         benchmark: Add copyright header.
570
571 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
572
573         benchmark: Update for the newer libsigc++ API.
574
575 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
576
577         Add original benchmark code.
578
579         From 2003 here:
580         https://mail.gnome.org/archives/libsigc-list/2003-October/msg00005.html
581
582 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
583
584         Correct some doxygen comments for variadic parameters.
585
586         These showed up as errors in doxygen.log.
587
588 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
589
590         Correct a doxygen comment.
591
592 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
593
594         Remove another unecessary c++ marker comment.
595
596 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
597
598         Added missing copyright headers.
599
600         These files might be older than 2003, but that's all I see in our
601         git respository (imported from the old svn repository, which probably
602         lost some history once).
603
604 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
605
606         tests: Move copyright headers to top.
607
608 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
609
610         Remove unnecessary -*- c++ - *-* comments.
611
612 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
613
614         tests: Add missing copyright headers.
615
616 2016-04-20  Murray Cumming  <murrayc@murrayc.com>
617
618         Update copyright years.
619
620 2016-04-19  Murray Cumming  <murrayc@murrayc.com>
621
622         tuple_transform_each: Don't use typename for a template template parameter.
623
624 2016-04-19  Murray Cumming  <murrayc@murrayc.com>
625
626         Revert "concepts: bind: Use the origin::Copy_constructible C++ concept."
627
628         This reverts commit 66cee4dd3c0595ee62b446afafb5bbbfdcd36eca.
629
630         I didn't mean to push this to master.
631
632 2016-04-19  Murray Cumming  <murrayc@murrayc.com>
633
634         signal: Rename list_ to sig_impl_.
635
636         Because that's what it is.
637         And avoid the need for a __ prefix on the input parameter.
638
639 2016-04-19  Murray Cumming  <murrayc@murrayc.com>
640
641         signal: Remove __ prefix on tmp variables.
642
643         Leading underscores are reserved in C++.
644
645 2016-04-19  Murray Cumming  <murrayc@murrayc.com>
646
647         Remove _A_ prefixes from method arguments.
648
649         Leading underscores are reserved in C++, and the A is just odd.
650
651 2016-04-19  Murray Cumming  <murrayc@murrayc.com>
652
653         Header guards: Remove leading underscores (and trailing underscores).
654
655         Names with leading underscores are reserved in C++.
656
657 2016-04-19  Murray Cumming  <murrayc@murrayc.com>
658
659         Use typename instead of class for all template parameters.
660
661         Apart from template template parameters, which must still be class
662         according to the C++14 standard:
663         http://stackoverflow.com/a/11311432/1123654
664         though g++ and clang++ actually already supporting using typename
665         instead by implementing N4051:
666         http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4051.html
667
668 2016-04-19  Murray Cumming  <murrayc@murrayc.com>
669
670         Revert "Always use typename rather than class for template types."
671
672         This reverts commit 180353986d101e367c26b3199c44c7b2e4c1e681.
673
674         Because I misread https://stackoverflow.com/questions/213121/use-class-or-typename-for-template-parameters
675         class is _still_ needed for template template parameters in C++14,
676         though g++ and clang++ seem to support it anyway.
677
678 2016-04-19  Murray Cumming  <murrayc@murrayc.com>
679
680         Always use typename rather than class for template types.
681
682         For consistency. As of C++14 class is not necessary even
683         for template template parameters. We can change those few uses back
684         to class if any (otherwise compliant-enough) compiler actually needs it.
685         See http://stackoverflow.com/a/11311432/1123654
686
687 2016-04-18  Murray Cumming  <murrayc@murrayc.com>
688
689         concepts: bind: Use the origin::Copy_constructible C++ concept.
690
691 2016-04-16  Murray Cumming  <murrayc@murrayc.com>
692
693         Minor uses of auto.
694
695 2016-04-16  Murray Cumming  <murrayc@murrayc.com>
696
697         Replace some reinterpret_cast<>s with static_casts<>.
698
699         This is particularly unnecessary now that we have the notifiable
700         base class.
701
702 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
703
704         limit_trackable_target: =delete copy/move operations.
705
706 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
707
708         Correct some comments.
709
710 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
711
712         visit_each: Prototype trackable as struct, not class.
713
714         clang++ rightly complains that it cannot be both a struct and a class.
715
716 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
717
718         self_and_iter: Take the iterator by const ref and store it as const.
719
720         This is less generically useful, but this isn't a generally used class.
721
722 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
723
724         test_visit_each_type: Rename to test_visit_each_trackable.
725
726 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
727
728         Update comment.
729
730 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
731
732         limit_derived_target<T_Target>: Rename to limit_trackable_target<>.
733
734         Because that is now how we always use it, and this makes things
735         clearer by being less generic.
736
737 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
738
739         Rename visit_each_type<T_Type>() to visit_each_trackable().
740
741         Because that is how we always use it. Making it more generic obscures
742         how it works and what it is for.
743         We can revert, and improve this, if we ever need to handle more than
744         one way to make a functor's arguments trackable.
745
746 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
747
748         limit_derived_target(): Remove the specialization for pointer types.
749
750         Now we always call visit_each_type() with trackable, not sometimes
751         trackable*.
752
753 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
754
755         Remove now-irrelevant comment.
756
757 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
758
759         visit_each_type: More comments.
760
761 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
762
763         Add a comment.
764
765 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
766
767         signal_emit: Make call_type private and remove iterator_type.
768
769 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
770
771         visit_each_type(): Add comment about how it is used.
772
773 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
774
775         test_functor_trait: Rename to test_visit_each_type.
776
777 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
778
779         Remove now-irrelevant comments.
780
781 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
782
783         test_functor_trait: Rearange to make tests self-contained.
784
785         I guess this should really be called test_visit_each_type.
786
787 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
788
789         visit_each_type(): Remove unnecessary intermediate alias.
790
791 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
792
793         Remove now-irrelevant comment.
794
795 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
796
797         limit_derived_target: Add some comments.
798
799 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
800
801         limit_derived_type: Move with_type and with_type_pointer into class.
802
803         As private inner classes. This makes it clearer that they are only used
804         there.
805
806 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
807
808         with_type/with_type_pointer: Use is_base_of_or_same_v<> in declaration.
809
810         Instead of in the instantiation. This makes the relationship between
811         the two template types, and their specialiations, slightly clearer.
812
813 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
814
815         slot_rep::notify(): Rearrange a comment.
816
817 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
818
819         signal_exec: =delete copy and move operations.
820
821 2016-04-15  Murray Cumming  <murrayc@murrayc.com>
822
823         slot_rep: Make =deleted operations public.
824
825         It doesn't really make sense for these to be private.
826
827 2016-04-14  Murray Cumming  <murrayc@murrayc.com>
828
829         2.99.5
830
831 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
832
833         limit_derived_target: Move T_Self aliases into methods where they are used.
834
835 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
836
837         adapts, typed_slot_rep: Make adaptor_type aliases private.
838
839         They are used in public API, but that is legal C++.
840         This way, we don't need to think that the public types are needed.
841
842 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
843
844         compose: Remove left-over adaptor_type.
845
846 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
847
848         compose: Remove unnecessary getter/setter aliases.
849
850 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
851
852         Remove unnecessary functor_base.
853
854         It only existed as something to derive from to show that it had the
855         result_type typedef.
856
857 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
858
859         signal: Remove result_type from emitters and accumulators.
860
861 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
862
863         signal: Remove most unused result_type aliases.
864
865 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
866
867         functor_type: Remove unused result_type.
868
869 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
870
871         Remove all remaining result_type aliases.
872
873         They are not actually needed by anything.
874
875 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
876
877         adapts, adaptor_functor: Remove result_type.
878
879         Instead just using functor_trait<T_Functor>::result_type wherever
880         it would be used, because that is always the same thing.
881
882 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
883
884         adaptor_trait: Remove unnecessary result_type.
885
886         It was only used in adapts<>, but that can just use functor_trait<>
887         instead. This leaves adaptor_trait doing one simple job: Either
888         giving us the original functor or giving us a functor (mem_functor
889         or ptr_functor) to wrap a bare C function.
890
891 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
892
893         adpator_trait: Slight improvements to doxygen comments.
894
895 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
896
897         adaptor_trait.h: Move adapts<> into its own file.
898
899         To make it clearer what is used by what.
900
901 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
902
903         adaptor_trait: Remove an apparently-unnecessary extra declaration for Doxygen.
904
905 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
906
907         exception_catch_functor: Remove unused adaptor_type.
908
909 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
910
911         Make unused adaptor_type aliases private.
912
913 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
914
915         adaptor_trait: Remove unused functor_type.
916
917 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
918
919         Use just one TupleVisitorVisitEach instead of having 2 identical.
920
921         Just to avoid the copy/pasting even of this small amount of code.
922
923 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
924
925         TrackObjVisitEach: Use constexpr, as in TupleVisitorVisitEach.
926
927 2016-04-13  Murray Cumming  <murrayc@murrayc.com>
928
929         signal_base.h: Move temp_slot_list to signal.h
930
931         Because that is the only place where it is used.
932
933 2016-04-12  Murray Cumming  <murrayc@murrayc.com>
934
935         Make a comment easier to reformat.
936
937 2016-04-08  Murray Cumming  <murrayc@murrayc.com>
938
939         2.99.4
940
941 2016-04-08  Murray Cumming  <murrayc@murrayc.com>
942
943         2.99.4
944
945 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
946
947         C++11: Small uses of auto.
948
949 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
950
951         C++11: slot: Use = default for simple copy constructor.
952
953         With help from clang-tidy, like so:
954         clang-tidy-3.8 -fix --checks=modernize-use-default --header-filter=.*  `find . -name "*.cc"`
955         after using "bear make all check".
956
957 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
958
959         C++11: Use = default for simple default constructors.
960
961         With help from clang-tidy, like so:
962         clang-tidy-3.8 -fix --checks=modernize-use-default --header-filter=.*  `find . -name "*.cc"`
963         after using "bear make all check".
964
965 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
966
967         signal: Use a range-based for() loop.
968
969 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
970
971         Use of auto instead of mentioning iterator types.
972
973 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
974
975         trackable.cc: Use auto instead of specifying iterator type.
976
977 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
978
979         Revert "tuple tests: Use static_assert() in constexpr tests."
980
981         This reverts commit 798210eeaedd88477b71115423b1d7928e81138f.
982
983         Because this doesn't work with g++ (at least version 5.2.1)
984         though it does work with clang++ (3.8).
985
986         g++ gives this error:
987
988         test_tuple_start.cc: In function â€˜constexpr void test_tuple_start_constexpr()’:
989         test_tuple_start.cc:130:3: error: non-constant condition for static assertion
990         static_assert(std::get<0>(t_prefix) == nullptr,
991         ^
992         test_tuple_start.cc:130:3: error: â€˜nullptr’ is not a constant expression
993
994 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
995
996         tuple tests: Use static_assert() in constexpr tests.
997
998 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
999
1000         limit_derived_target: Make constructors explicit.
1001
1002         Found by cppcheck.
1003
1004 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
1005
1006         slot_do_bind/unbind: Make constructors explicit.
1007
1008         Found by cppcheck.
1009
1010 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
1011
1012         Remove unnecessary signal.cc file.
1013
1014 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
1015
1016         Remove unnecessary slot.cc file.
1017
1018 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
1019
1020         docs: ptr_fun: Improve the simple description.
1021
1022 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
1023
1024         docs: slots: Fix tiny typo.
1025
1026 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
1027
1028         docs: mem_fun: Improve the simple description.
1029
1030 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
1031
1032         docs: mem_fun: Improve the note about auto-disconnection.
1033
1034         Because "cleared" doesn't really tell us how this benefits us.
1035
1036 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
1037
1038         docs: slots: Mention automatic disconnection.
1039
1040 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
1041
1042         docs: slots: auto: Mention why it is bad.
1043
1044 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
1045
1046         test_mem_fun: Test auto-disconnection with trackable.
1047
1048         This is probably tested somewhere else already, but I like having it
1049         here too because it is an important reason for slot<> to exist,
1050         compared to a simple std::function.
1051
1052 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
1053
1054         test_mem_fun: Rearrange into individual test functions.
1055
1056 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
1057
1058         docs: Slots: Add section titles to break it up.
1059
1060 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
1061
1062         Remove now-useless SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
1063
1064 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
1065
1066         Docs: Remove unnecessary Scope of Documentation paragraph.
1067
1068 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
1069
1070         Some perfect-forwarding.
1071
1072 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
1073
1074         limit_derived_target: Use perfect forwarding.
1075
1076 2016-04-01  Murray Cumming  <murrayc@murrayc.com>
1077
1078         visit_each.h: Add and use is_base_of_or_same_v to avoid duplication.
1079
1080 2016-03-31  Murray Cumming  <murrayc@murrayc.com>
1081
1082         Use {} with multiline while() blocks.
1083
1084 2016-03-31  Murray Cumming  <murrayc@murrayc.com>
1085
1086         Use {} with multiline for() blocks.
1087
1088 2016-03-31  Murray Cumming  <murrayc@murrayc.com>
1089
1090         Rearrange another comment.
1091
1092 2016-03-31  Murray Cumming  <murrayc@murrayc.com>
1093
1094         Make a comment easier to reformat with clang-format.
1095
1096 2016-03-30  Murray Cumming  <murrayc@murrayc.com>
1097
1098         slot_base: Make _dup private and _destroy protected.
1099
1100 2016-03-30  Murray Cumming  <murrayc@murrayc.com>
1101
1102         signal_base/signal_exec: Make some member data protected.wq
1103
1104 2016-03-30  Murray Cumming  <murrayc@murrayc.com>
1105
1106         slot_list: Make list_ private, not protected.
1107
1108 2016-03-30  Murray Cumming  <murrayc@murrayc.com>
1109
1110         Reformat .h files with clang-format.
1111
1112 2016-03-30  Murray Cumming  <murrayc@murrayc.com>
1113
1114         Reformat .cc files with clang-format.
1115
1116 2016-03-30  Murray Cumming  <murrayc@murrayc.com>
1117
1118         Add .clang-format file and reformat tests and examples.
1119
1120 2016-03-18  Murray Cumming  <murrayc@murrayc.com>
1121
1122         2.99.3
1123
1124 2016-03-18  Murray Cumming  <murrayc@murrayc.com>
1125
1126         website: license: Link to the (LGPL3) license text.
1127
1128         Instead of showing a copy of the license text.
1129
1130 2016-03-18  Murray Cumming  <murrayc@murrayc.com>
1131
1132         COPYING: Change from LGPL 2+ to LGPL 3+
1133
1134         Because the tuple-utils .h files are LGPL 3+.
1135         Bug #763616 (Dominique Leuenberger)
1136
1137 2016-03-18  Murray Cumming  <murrayc@murrayc.com>
1138
1139         tuple-utils: Change license from GPL to LGPL.
1140
1141         Following the change in their source in murrayc-tuple-utils.
1142         I am the author, with some small improvements by Jonathan Wakely,
1143         who agreed to the license change via email.
1144
1145         Bug #763616 (Dominique Leuenberger)
1146
1147 2016-03-18  Murray Cumming  <murrayc@murrayc.com>
1148
1149         configure.ac: Remove check for m4.
1150
1151         As suggested by Kjell:  https://bugzilla.gnome.org/show_bug.cgi?id=763515#c2
1152
1153 2016-03-18  Marcin Kolny  <marcin.kolny@gmail.com>
1154
1155         .gitignore: update test ignored files list
1156
1157 2016-03-18  Marcin Kolny  <marcin.kolny@gmail.com>
1158
1159         build: remove unused m4 file
1160
1161 2016-03-18  Murray Cumming  <murrayc@murrayc.com>
1162
1163         website: Improve the bugs links for clarity.
1164
1165 2016-03-18  Murray Cumming  <murrayc@murrayc.com>
1166
1167         website: Mention the GitHub mirror.
1168
1169 2016-03-18  Murray Cumming  <murrayc@murrayc.com>
1170
1171         website: Fix a capitalized libsigc++.
1172
1173 2016-03-18  Murray Cumming  <murrayc@murrayc.com>
1174
1175         test_member_method_trait: Implement the methods.
1176
1177         Because Jetbrains CLion inspections complain about it, and that
1178         seems fair.
1179
1180 2016-03-18  Murray Cumming  <murrayc@murrayc.com>
1181
1182         website: Update Developers part to mention libsigc++-3.0.
1183
1184 2016-03-18  Murray Cumming  <murrayc@murrayc.com>
1185
1186         website: Change News section to just link to NEWS.
1187
1188 2016-03-18  Murray Cumming  <murrayc@murrayc.com>
1189
1190         website: Remove benchmark page, apparently unlinked.
1191
1192 2016-03-18  Murray Cumming  <murrayc@murrayc.com>
1193
1194         CMake: tests: explicitly list the tests.
1195
1196         I don't like just looking for *.cc files in the directory. That
1197         seems fragile.
1198
1199 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
1200
1201         2.99.2
1202
1203 2016-03-16  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
1204
1205         slot: Reinsert a comment that disappeared accidentally
1206
1207         The description of slot's specialization of visitor<>::do_visit_each<>()
1208         disappeared by mistake when the slot# classes were removed.
1209
1210 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
1211
1212         slot: Allow only the slot<R(Args...)> syntax.
1213
1214 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
1215
1216         tests: Use the sigc::slot<R(Args...)> syntax only.
1217
1218 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
1219
1220         pointer_functor: Use the R(Args...) syntax.
1221
1222 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
1223
1224         signal: Allow only the signal<R(Args...)> syntax.
1225
1226 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
1227
1228         tests: Use sigc::signal<R(Args...)> syntax only.
1229
1230 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
1231
1232         signal: Use the slot<R(Args...)> syntax.
1233
1234 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
1235
1236         examples: Use sigc::signal<R(Args...)> syntax.
1237
1238 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
1239
1240         docs: signal_base/exception_catch: Use signal<R(Args...)> syntax.
1241
1242 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
1243
1244         docs: slot_base: Use slot<R(Args...)> syntax.
1245
1246 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
1247
1248         docs: Use signal<R(Args..)> syntax.
1249
1250 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
1251
1252         docs: mem_fun/ptr_fun: Use the sigc::slot<R(Args...)> syntax.
1253
1254 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
1255
1256         test_retype: Add test of R(Args...) syntax.
1257
1258 2016-03-16  Murray Cumming  <murrayc@murrayc.com>
1259
1260         test_retype: Break into smaller tests.
1261
1262 2016-03-15  Murray Cumming  <murrayc@murrayc.com>
1263
1264         Reference docs: main page: Use @c to monospace function names.
1265
1266 2016-03-15  Murray Cumming  <murrayc@murrayc.com>
1267
1268         Reference docs: main page: Discourage multiple PKG_CHECK_MODULES() calls.
1269
1270         Mention that one PKG_CHECK_MODULES() call can check for all
1271         pgk-config-based dependencies.
1272
1273 2016-03-15  Murray Cumming  <murrayc@murrayc.com>
1274
1275         Reference docs: main page: Make autotools part consistent with CMake part.
1276
1277 2016-03-15  Murray Cumming  <murrayc@murrayc.com>
1278
1279         Reference docs: main page: Mention CMake.
1280
1281 2016-03-13  Murray Cumming  <murrayc@murrayc.com>
1282
1283         Add a file about build systems.
1284
1285         Otherwise people will wonder whether we use autotools or CMake as our
1286         main build system.
1287
1288 2016-03-13  Murray Cumming  <murrayc@murrayc.com>
1289
1290         Update README to remove mention of m4.
1291
1292 2016-03-13  Murray Cumming  <murrayc@murrayc.com>
1293
1294         test_tuple_transform_each: Comment out constexpr test that fails with g++.
1295
1296         Hopefully this works with newer g++ versions.
1297
1298 2016-03-13  Marcin Kolny  <marcin.kolny@gmail.com>
1299
1300         cmake: reduce required version to 3.2
1301
1302 2016-03-13  Marcin Kolny  <marcin.kolny@gmail.com>
1303
1304         cmake: add cmake files to dist package
1305
1306 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
1307
1308         cmake: fix generating cmake *Config files
1309
1310 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
1311
1312         cmake: fix library name
1313
1314 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
1315
1316         cmake: fix library output name
1317
1318 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
1319
1320         cmake: install sigc++config.h file
1321
1322 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
1323
1324         cmake: don't install uninstalled.pc file
1325
1326 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
1327
1328         cmake: add uninstall target
1329
1330 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
1331
1332         cmake: install headers from sigc++ directory
1333
1334 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
1335
1336         cmake: generate and install uninstalled.pc file
1337
1338 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
1339
1340         cmake: generate cmake *Config and *ConfigVersion files
1341
1342 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
1343
1344         cmake: add pkg-config support
1345
1346 2016-03-12  Marcin Kolny  <marcin.kolny@gmail.com>
1347
1348         cmake: init - add cmake files
1349
1350 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
1351
1352         signal: Allow sigc::signal<R(Args...)> declaration, like std::function.
1353
1354         By adding a template specialization that repeats the main
1355         template declaration, though it would be good to avoid the repetition.
1356
1357         Bug #763393
1358
1359         Please enter the commit message for your changes. Lines starting
1360
1361 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
1362
1363         slot: Allow sigc::slot<R(Args...)> declaration, like std::function.
1364
1365         By adding a template specialization that repeats the main
1366         template declaration, though it would be good to avoid the repetition.
1367
1368         Bug #763393
1369
1370 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
1371
1372         signal: Update and improve the doxygen comment.
1373
1374 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
1375
1376         test_accumulated(): Restructure this.
1377
1378         To make it clearer and to keep the small tests more self-contained and
1379         separate.
1380
1381 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
1382
1383         test_signal: Add test_simple().
1384
1385 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
1386
1387         test_signal(): Restructure this.
1388
1389         To make it clearer and to keep the small tests more self-contained and
1390         separate.
1391
1392 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
1393
1394         slot: Update the Doxygen comment.
1395
1396 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
1397
1398         slot: Correct the doxygen comment line ending.
1399
1400 2016-03-11  Murray Cumming  <murrayc@murrayc.com>
1401
1402         test_slot(): Restructure this.
1403
1404         To make it clearer and to keep the small tests more self-contained and
1405         separate.
1406
1407 2016-03-10  Murray Cumming  <murrayc@murrayc.com>
1408
1409         examples build: Disable deprecated API.
1410
1411 2016-03-10  Murray Cumming  <murrayc@murrayc.com>
1412
1413         mem_functor: Remove now-unnecessary operator()(pointer).
1414
1415 2016-03-10  Murray Cumming  <murrayc@murrayc.com>
1416
1417         retype: Simplify by using a template template parameter.
1418
1419 2016-03-10  Murray Cumming  <murrayc@murrayc.com>
1420
1421         mem_fun(): Remove the T_obj* overloads.
1422
1423         So you would, for instance, always call sigc::mem_fun(*this, ...)
1424         instead of sigc::mem_fun(this, ...).
1425
1426         Bug #763215
1427
1428 2016-03-08  Murray Cumming  <murrayc@murrayc.com>
1429
1430         tuple_transform_each(): Allow this to be a constexpr.
1431
1432 2016-03-08  Murray Cumming  <murrayc@murrayc.com>
1433
1434         bind: Use of constexpr.
1435
1436 2016-03-08  Murray Cumming  <murrayc@murrayc.com>
1437
1438         tuple_for_each(): Use of constexpr.
1439
1440 2016-03-08  Murray Cumming  <murrayc@murrayc.com>
1441
1442         tuple_cdr(), tuple_start(), tuple_end(): Use of constexpr.
1443
1444 2016-03-08  Murray Cumming  <murrayc@murrayc.com>
1445
1446         TupleVisitorVisitEach and TupleVisitorVisitEach: Use constexpr.
1447
1448         This would seem to be necessary if the tuple utils are ever fully
1449         constexpr.
1450
1451 2016-03-08  Murray Cumming  <murrayc@murrayc.com>
1452
1453         bind: Use of const.
1454
1455 2016-03-08  Murray Cumming  <murrayc@murrayc.com>
1456
1457         Put member_method*<> in sigc::internal namespace.
1458
1459 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1460
1461         NEWS: Mention that it needs C++14.
1462
1463 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1464
1465         Update NEWS
1466
1467 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1468
1469         Use mem_fun.h as a regular .h file.
1470
1471         Instead of generating it from an .m4 file.
1472         This still has some repetition, but it is not nearly as much as before,
1473         and it is the last m4 file.
1474         Having all the code in normal C++ source files makes it far easier for people
1475         to contribute, to actually reduce this repetition.
1476
1477 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1478
1479         .doap: Correct the web site URL.
1480
1481         Though we really must stop using sourceforge even for the web site.
1482
1483 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1484
1485         Rename our .doap file.
1486
1487 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1488
1489         Use 2.99.1 instead of 2.9.1
1490
1491         This gives us more room for 2.x releases of the libsigc++-2.0 API
1492         in future.
1493
1494 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1495
1496         Rename mem_functor_base to mem_functor.
1497
1498         And rename bound_mem_functor_base to bound_mem_functor.
1499
1500 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1501
1502         mem_fun.h.m4: Remove mem_functor and const_mem_functor.
1503
1504         They were only used in one place, internally, and did not add much clarity.
1505
1506 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1507
1508         mem_fun.h.m4: Remove bound_const_mem_functor alias.
1509
1510         It was only used in one place in the code and didn't add much clarity.
1511
1512 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1513
1514         bound_mem_functor: Remove constructor that takes pointer.
1515
1516         Leaving just the constructor that takes the object by reference.
1517         This is not a class that application code would use directly,
1518         so there seems no need for the convenience.
1519
1520 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1521
1522         mem_functor_base: Use member_method_result<>::type.
1523
1524         To avoid the (apparent) need to use T_args... with std::result_of_t<>.
1525
1526 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1527
1528         Added  member_method_result<>::type type trait.
1529
1530         This seems to be easier than std::result_of<>, which seems to need us to
1531         explicitly specify the arguments too.
1532
1533 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1534
1535         bound_mem_functor_base: Remove now-unnecessary T_obj template parameter.
1536
1537 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1538
1539         mem_functor_base: Remove T_obj template parameter.
1540
1541         Instead using member_method_class<>::type.
1542
1543 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1544
1545         Add member_method_class<>::type type trait.
1546
1547 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1548
1549         Remove some now-unused tuple_type*<> type traits.
1550
1551         Because we now motly only need the tuple*() utilities to manipulate
1552         the actual instances. Some are still need for those tuple*()
1553         implementations.
1554
1555 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1556
1557         hide_functor: Don't specify a specific specialization for operator().
1558
1559         It doesn't seem to be necessary now.
1560
1561 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1562
1563         Remove unnecessary TODO comment.
1564
1565 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1566
1567         bound_mem_functor_base: Remove now-unused T_return template parameter.
1568
1569 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1570
1571         mem_functor_base: Remove T_return template parameter.
1572
1573         Instead using std::result_of<> to discover it from the T_func.
1574
1575 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1576
1577         bound_mem_functor_base: Remove T_limit_reference template parameter.
1578
1579         Instead discover it via std::conditional_t and our
1580         ember_method_is_const<>::value type traits.
1581
1582 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1583
1584         use limit_reference.h as a regular .h file.
1585
1586         Instead of generating it.
1587
1588 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1589
1590         Rename limit_reference_base to limit_reference.
1591
1592 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1593
1594         Remove limit_reference_base<> aliases, such as const_limit_reference.
1595
1596         Because limit_reference_base<T_type> is now simple enough to just
1597         use directly.
1598
1599 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1600
1601         limit_reference.h.m4: Remove unused 2nd LIMIT_REFERENCE() parameter.
1602
1603 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1604
1605         limit_reference_base: Rename template parameter back to T_type.
1606
1607         Because I think that is what this really is.
1608         Now this limit_reference_base<> is again as simple as *_limit_reference
1609         in libsigc++-2.0 but without the code generation and multiple classes.
1610
1611 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1612
1613         limit_reference_base: Take just one template parameter.
1614
1615         And use std::remove_volatile_t<> to get the other.
1616
1617 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1618
1619         mem_fun: Use limit_reference_base instead of aliases.
1620
1621         Because it is now simple enough.
1622
1623 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1624
1625         bound_*_mem_functor: Use limit_reference_base instead of aliases.
1626
1627         Because it is now simple enough.
1628
1629 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1630
1631         limit_reference_base<>: Avoid the need for the T_trackable template parameter.
1632
1633         By using std::conditional_t and std::is_const<>::value.
1634
1635 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1636
1637         (bound_)mem_functor_base: Remove T_obj_with_modifier template parameter.
1638
1639         Remove the need for this by using std::conditional_t<> and
1640         our member_method_is_const<>::value instead.
1641
1642 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1643
1644         Add member_method_is_const<> and member_method_is_volatile.
1645
1646         And some tests for them.
1647
1648 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1649
1650         mem_fun(): Use base bound_mem_functor_base instead of the aliases.
1651
1652         Thus making the bound_mem_functor, bound_const_mem_functor,
1653         bound_const_volatile_mem_functor, etc, aliases unused.
1654
1655 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1656
1657         mem_fun(): Use base mem_functor_base instead of the aliases.
1658
1659         Thus making the mem_functor, const_mem_functor, const_volatile_mem_functor,
1660         etc, aliases unused.
1661
1662 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1663
1664         limit_reference.h.m4: Make *_limit_reference template aliases of a limit_reference_base.
1665
1666         And have just one visitor specialization, using the base class.
1667         As for *_mem_functor. This avoids the repetition.
1668
1669 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1670
1671         A small const improvement.
1672
1673 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1674
1675         Use retype.h as a normal .h file.
1676
1677         Instead of generating it.
1678
1679 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1680
1681         retype.h.m4: Have retype() for just the 2 base *_mem_functor_base classes.
1682
1683         Then we don't need to generate code for this at all.
1684
1685 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1686
1687         mem_func.h.m4: Have just one visitor specialization for bound_mem_functor_base.
1688
1689 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1690
1691         mem_fun.h.m4: Make bound_*_mem_functor template aliases of a bound_mem_functor_base.
1692
1693         As for *_mem_functor. This avoids the repetition
1694
1695 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1696
1697         mem_fun.h.m4: Make *_mem_functor template aliases of a mem_functor_base.
1698
1699         This avoids the repetition.
1700
1701 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1702
1703         functor_trait.h: Do not repeat mem_functor and pointer_function declarations.
1704
1705         Instead just include the headers.
1706         Then we can change their declarations without having to do it in two places.
1707
1708 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1709
1710         Split functor_trait.h into functor_base.h and functor_trait.h.
1711
1712         So that slot_base doesn't need to include so much.
1713
1714 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1715
1716         Don't include functor_trait.h where it is not used.
1717
1718 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1719
1720         C++11: Change all typedefs to using.
1721
1722 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1723
1724         bind.h.m4: Remove now-unnecessary dnls.
1725
1726 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1727
1728         Fix a typo in a static_asser() error message.
1729
1730 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1731
1732         bind_functor: Don't specify the operator() template specialization.
1733
1734         This doesn't seem to be necessary now.
1735
1736 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1737
1738         bind_functor: Make bound_ private.
1739
1740 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1741
1742         signal_base: clear signal_impl in its own destructor.
1743
1744         This deals with some TODO comments.
1745         This patch is based on a suggestion from Kjell Ahlstedt:
1746         See https://bugzilla.gnome.org/show_bug.cgi?id=167714#c14
1747
1748 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1749
1750         hide_functor::operator(): Do some perfect forwarding.
1751
1752 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1753
1754         hide_functor: Avoid using std::make_tuple().
1755
1756         Because it can change types, such as changing std::ref()ed T to T.
1757
1758 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1759
1760         Update tuple-utils from murrayc-tuple-utils.
1761
1762         tuple_transform_each() now iterates in order, instead of in reverse,
1763         though that didn't seem to matter to how we used it in libsigc++.
1764
1765 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1766
1767         Connection::operator bool(): Make this const.
1768
1769 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1770
1771         Remove use of removed SIGC_HAVE_SUN_REVERSE_ITERATOR
1772
1773 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1774
1775         sigc++config.h.in: Remove unused macros.
1776
1777 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1778
1779         slot/slot_base: Make some API private.
1780
1781 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1782
1783         slot_rep::dup(): Take a slot_rep* instead of void*.
1784
1785 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1786
1787         Add and use notifiable base class instead of void*.
1788
1789         Use notifiable as the  base class for trackable, connection, signal_impl,
1790         self_and_iter and destroy_notify_struct.
1791
1792         Use this notifiable* instead of void* for the destroy/notify callback data.
1793         This is a little more type-safe and self-documenting.
1794         Bug #302152
1795
1796 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1797
1798         Remove C++ standard library checks.
1799
1800         We do not actually use these, and it must have been years since
1801         any compiler didn't, for instance, have the std namespace.
1802
1803 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1804
1805         Remove nil and the associated pragma push/pop fixes for Objective C++.
1806
1807 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1808
1809         signal: Use void instead of nil to mean no accumulator.
1810
1811 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1812
1813         Remove unused SIGC_CXX_SELF_REFERENCE_IN_MEMBER_INITIALIZATION() configure check.
1814
1815 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1816
1817         Remove SIGC_WORKAROUND_OPERATOR_PARENTHESES, using just .template operator()<>.
1818
1819         We can add it back if we find that the Sun or Microsoft compilers still
1820         need it, when/if they support enough C++14 anyway.
1821         We can always use libsigc++-2.0 to easily discover what its configure
1822         checks say about the compiler behaviour.
1823
1824 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1825
1826         adaptor_functor: Do some perfect forwarding.
1827
1828 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1829
1830         retype_return_functor: Do some perfect forwarding.
1831
1832 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1833
1834         compose: Do some perfect forwarding.
1835
1836 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1837
1838         track_obj_functor: Do some perfect forwarding.
1839
1840 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1841
1842         bind(): Correct the static_assert().
1843
1844 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1845
1846         bind(): Add a static_assert() for when bind<num> is passed a too-high index.
1847
1848 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1849
1850         template.macros.m4: Remove unused m4 macros.
1851
1852 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1853
1854         Put tuple-utils into sigc::internal namespace.
1855
1856         To discourage people from using libsigc++ just for the tuple utils.
1857
1858 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1859
1860         Move all tuple_*.h files into sigc++/tuple-utils/
1861
1862 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1863
1864         bind_functor::operator(): Do perfect forwarding.
1865
1866         To be consistent with the other operator().
1867
1868 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1869
1870         Create a parallel-installable sigc++-3.0 API/ABI.
1871
1872 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1873
1874         Add a TODO comment.
1875
1876 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1877
1878         bind: Some perfect forwarding.
1879
1880 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1881
1882         Avoid std::make_tuple().
1883
1884         To preserve std::ref()ed elements.
1885
1886 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1887
1888         Put bind() in its own bind.h file instead of generating it.
1889
1890 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1891
1892         bind.h.m4: Make variadic.
1893
1894         With a partial build fix from Marcin Kolny.
1895
1896 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1897
1898         bind: Make the visitor<> specialization variadic.
1899
1900 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1901
1902         bind<-1>: Store the bound args in a tuple.
1903
1904 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1905
1906         bind<num>(): Store the single bound arg in a tuple.
1907
1908 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1909
1910         track_obj.h: Use this as a normal .h file.
1911
1912         Instead of genrating it from a .h.m4 file.
1913
1914 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1915
1916         track_obj.h.m4: Make this variadic.
1917
1918         This uses a tuple_for_each<>() utility taken from here:
1919         https://github.com/murraycu/murrayc-tuple-utils/tree/master/tuple-utils
1920         for the visit_each() specialization.
1921
1922 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1923
1924         hide.h: Use this as a normal .h file.
1925
1926         Instead of generating it from an .h.m4 file.
1927
1928 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1929
1930         hide_functor: Make this fully variadic.
1931
1932 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1933
1934         hide.h.m4: hide_functor::operator(): Make this variadic.
1935
1936         This uses some tuple manipulation utilities so that the variadic parameters
1937         with which we call a method can be based on the variadic parameters that the
1938         caller received, but not exactly. In this case, we need to replace an element
1939         in the middle of a tuple. There is probably a more efficient way to do this.
1940
1941         For now, this is using copies of the tuple utilities from here:
1942         https://github.com/murraycu/murrayc-tuple-utils/tree/master/tuple-utils
1943
1944 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1945
1946         Add tuple utils from murrayc-tuple-utils.
1947
1948 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1949
1950         exception_catch_functor::operator():
1951
1952         Remove the unnecessary operator()() overload.
1953         This did need me to change the test code so that it doesn't try to
1954         provide a catch function that returns something, but that seems
1955         more correct anyway.
1956
1957 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1958
1959         Another use of decltype(auto) for a return type
1960
1961 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1962
1963         Correct some documentation.
1964
1965 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1966
1967         More use of decltype(auto) for return types.
1968
1969 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1970
1971         retype: Make this variadic.
1972
1973         However, we still need to generate const/volatile/const_volatile/
1974         bound_const/bound_volatile/bound_const_volatile versions.
1975
1976 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1977
1978         slot.h: Remove comment about this being generated.
1979
1980 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1981
1982         slot.h: Use this as a normal .h file.
1983
1984         Instead of generating it from a .h.m4 file.
1985
1986 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1987
1988         slot: Make this fully variadic.
1989
1990 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1991
1992         slot.h.m4: make slot_call fully variadic.
1993
1994 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
1995
1996         bind_functor::operator()(): Give this a dummy template parameter.
1997
1998         And remove the m4 ifelse from slot.h.m4 because we can now resolve
1999         that operator() when calling it with an empty variadic parameter pack.
2000
2001 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2002
2003         slot.h.m4: visit_each specialization: Make this variadic.
2004
2005 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2006
2007         make_slot: Use decltype(auto) for return type.
2008
2009 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2010
2011         Replace some uses of result_type with decltype(auto).
2012
2013 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2014
2015         Remove code that used the SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD ifndefs.
2016
2017         See the previous commit.
2018
2019 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2020
2021         test_acum_iter: Replace signal_accumulated with signal<>::accumulated.
2022
2023         I've never noticed this sub-template before, but this syntax is
2024         arguably nicer.
2025
2026 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2027
2028         signal.h: Use this as a normal header file.
2029
2030         Instead of generating it from a .h.m4 file.
2031
2032 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2033
2034         signal: Make this fully variadic.
2035
2036 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2037
2038         signal.h.m4: Rename signal1/2/3/etc to signal_with_accumulator.
2039
2040         And make it fully variadic.
2041
2042 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2043
2044         signal1/2/3/etc: Make this variadic.
2045
2046         Though the separate generated signal1/2/3/etc still exist.
2047
2048 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2049
2050         signal1/2/3: Move T_accumulator to second position.
2051
2052         Because it can't go at the end if we want to change the args to
2053         a variadic template pack.
2054
2055 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2056
2057         Remove useless SIGC_TYPEDEF_REDEFINE_ALLOWED
2058
2059 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2060
2061         signal.h.m4: Make signal_emit fully variadic.
2062
2063 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2064
2065         signal_emit1/2/3/etc: Simplify call_type typedef.
2066
2067 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2068
2069         signal.h.m4: signal_emit1/2/3/etc: Make this variadic.
2070
2071         Though we still have the separate generated signal_emit1/2/3, etc.
2072
2073         This is the first time that we need to use a tuple, and then
2074         std::index_sequence(), to call another method with the stored
2075         (in a tuple) parameter pack.
2076
2077 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2078
2079         signal.h.m4: signal_emit: Put the T_Accumulator before the args.
2080
2081         So the args can be variadic eventually.
2082
2083 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2084
2085         test_disconnect: Use slot<> instead of slot1<>.
2086
2087         Because we are trying to remove slot1,2,3, etc.
2088
2089 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2090
2091         slot.h.m4: Make slot1/2/3/etc variadic.
2092
2093         While still having slot1/2/3/ themselves. This is lets us take
2094         another small step in the conversion to variadic templates.
2095
2096 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2097
2098         test_ptr_fun: Comment out what doesn't work with g++.
2099
2100         We probably need to get this working, but it already works with
2101         clang++ (I'm using clang++ 3.7), so I'm just doing this for now,
2102         with TODO comments, so I can move forwards.
2103         I'm using g++ 5.2.1 .
2104
2105 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2106
2107         bind(): Make this variadic.
2108
2109         Instead of generating many versions.
2110
2111         bind_functor<> is not at all variadic yet.
2112
2113 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2114
2115         bind(): Move T_functor the start.
2116
2117         This is different to the bind<number, ...> version but it's the only
2118         way to have a parameter pack at the end.
2119         Hopefully this version of bind() never needs to be called for specific
2120         template types.
2121
2122 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2123
2124         C++14: bind(): Use decltype(auto) for the return type.
2125
2126         This simplifies the code a bit.
2127
2128 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2129
2130         Rename deduce_result_type.h to adaptor_base.h
2131
2132         Because that is all this file now contains.
2133         However, I suspect that we don't need adaptor_base at all now.
2134
2135 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2136
2137         C++14 Remove now-unused deduce_result_t.
2138
2139 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2140
2141         C++14: compose: Remove use of deduce_result_type.
2142
2143         By removing use of SIGC_WORKAROUND_OPERATOR_PARENTHESES, which
2144         hopefully isn't necessary any more.
2145
2146 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2147
2148         C++14: operator(): Use decltype(auto) instead of deduce_result_type.
2149
2150         So we can remove all the nasty deduce_result_type code,
2151         which is hard to make fully variadic in bind().
2152
2153 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2154
2155         Use C++14.
2156
2157         By using the MM_AX_CXX_COMPILE_STDCXX() m4 macro that I just
2158         added to mm-common.
2159
2160         This lets us use std::integer_sequence (and std::index_sequence) with
2161         std::tuple.
2162
2163         We probably also want to use decltype(auto) return types for template
2164         methods, as long as that doesn't slow down compile times.
2165
2166 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2167
2168         deduce_result_type.h: Remove comment about it being generated.
2169
2170 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2171
2172         adaptor_trait.h: Remove comment about it being generated.
2173
2174 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2175
2176         C++11: Replace sigc::ref() with std::ref().
2177
2178         It seems to be remarkably similar.
2179
2180 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2181
2182         Remove (and replace) the _R_ and _P_ m4 macros.
2183
2184         They just make it that little bit harder to convert the code to
2185         non-generated C++.
2186
2187 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2188
2189         Remove (previously deprecated) lambda API.
2190
2191 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2192
2193         retype_functor: Make the slot version variadic.
2194
2195 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2196
2197         retype_functor: Make the pointer_functor version variadic.
2198
2199 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2200
2201         exception_catch.h: Use this as a normal .h file.
2202
2203         Instead of generating it from a .h.m4 file.
2204
2205 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2206
2207         exception_catch_functor: Make this variadic.
2208
2209         Instead of generating multiple overloads of operator().
2210
2211 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2212
2213         track_obj_functor1*(): Make operator() variadic.
2214
2215         Instead of generating multiple overloads.
2216
2217 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2218
2219         retype_return.h: Use this as a normal .h file.
2220
2221         Instead of generating it from a .h.m4 file.
2222
2223 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2224
2225         retype_return_functor: Make this variadic.
2226
2227         Instead of generating 7 overloads of operator().
2228
2229 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2230
2231         compose.h: Use this as a normal .h file.
2232
2233         Instead of generating it from a .h.m4 file.
2234
2235 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2236
2237         compose1_functor, compose2_functor: Make these variadic.
2238
2239         Instead of using 7 arguments with void defaults, and instead of
2240         generating 7 overloads of operator().
2241
2242 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2243
2244         deduce_result_type.h: Use this as a regular .h file.
2245
2246         Instead of generating it from a .h.m4 file.
2247
2248 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2249
2250         bind_return.h: Use this as a normal .h file.
2251
2252         Instead of generating it from a .h.m4 file.
2253
2254 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2255
2256         bind_return_functor: operator(): Make this variadic.
2257
2258         Instead of generating multiple overloads.
2259
2260 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2261
2262         adaptor_trait.h: Use this as a regular .h file.
2263
2264         Instead of generating it from a .h.m4 file.
2265
2266 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2267
2268         adaptor_function: Make the operator() variadic.
2269
2270         Instead of generating many overloads.
2271
2272 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2273
2274         adaptor_functor: Make deduce_result_type variadic.
2275
2276         Instead of having all 7 arguments, defaulting to void.
2277
2278 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2279
2280         mem_fun.h.m4: Remove now-unnecessary LIST() calls.
2281
2282 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2283
2284         filelist.am: Mention ptr_fun.h.
2285
2286         I forgot to do this when I changed this from a a .h.m4 file to a .h file.
2287
2288 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2289
2290         functor_trait.h: Use this as a normal header, not generated.
2291
2292 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2293
2294         functor_trait.h.m4: Use a variadic template instead of generating many.
2295
2296 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2297
2298         *mem_functor(): Remove the numbered versions, leaving just variadic ones.
2299
2300         Do not generate *mem_functor0 through *mem_functor7. Instead just
2301         generate variadic *mem_functor<>.
2302         We do still generate mem_functor, const_mem_functor and
2303         const_volatile_mem_functor, which seems messy.
2304
2305 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2306
2307         ptr_fun.h: Use this as a normal header instead of generating it.
2308
2309 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2310
2311         test_ptr_fun: Fix the build, at least temporarily.
2312
2313         See https://bugzilla.gnome.org/show_bug.cgi?id=753612#c11
2314
2315 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2316
2317         C++11: ptr_fun.h: Replace generated ptr_fun1/2/3/etc with ptr_fun<>.
2318
2319         Note that T_Return must now be the first parameter, so that the
2320         variadic template parameters may be trailing, and this means that
2321         the return type must now be specified if you specify any argument
2322         types.
2323         For instance:
2324         ptr_fun<type_arg1>(&somefunc)
2325         now becomes
2326         ptr_fun<void, type_arg2>(&somefunc)
2327
2328         and
2329         ptr_fun<type_arg1, type_return>(&somefunc)
2330         now becomes
2331         ptr_fun<type_return, type_arg1>(&somefunc)
2332
2333         which might be an annoying API change, even though most people just
2334         use ptr_fun().
2335
2336         However, this breaks the tests:
2337
2338         test_ptr_fun.cc: In function â€˜int main(int, char**)’:
2339         test_ptr_fun.cc:64:21: error: no matches converting function â€˜foo’ to type â€˜void (*)()’
2340         sigc::ptr_fun(&foo)();
2341         ^
2342         test_ptr_fun.cc:24:6: note: candidates are: void {anonymous}::foo(int)
2343         void foo(int i1)
2344         ^
2345         test_ptr_fun.cc:18:5: note:                 int {anonymous}::foo()
2346         int foo()
2347         ^
2348
2349 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2350
2351         C++11: ptr_fun.h: Replace generated pointer_functor1/2/3/etc with pointer_functor.
2352
2353         Using C++11 variadic templates arguments.
2354         Note that T_Return is now the first template parameter, so that the variadic
2355         parameters can be the trailing parameters, as in std::function.
2356
2357 2016-03-07  Murray Cumming  <murrayc@murrayc.com>
2358
2359         Fix tiny typo in a comment.
2360
2361 2016-03-06  Murray Cumming  <murrayc@murrayc.com>
2362
2363         docs: Refer to it as libsigc++, not libsigc++2.
2364
2365 2016-03-06  Murray Cumming  <murrayc@murrayc.com>
2366
2367         website/README: Mention the new git repository.
2368
2369 2016-03-03  Murray Cumming  <murrayc@murrayc.com>
2370
2371         SIGC_CXX_HAS_SUN_REVERSE_ITERATOR: Add std:: now that I removed the using std.
2372
2373         See https://bugzilla.gnome.org/show_bug.cgi?id=762065#c2
2374
2375 2016-03-03  Murray Cumming  <murrayc@murrayc.com>
2376
2377         C++11: Make all operator bool() explicit.
2378
2379 2016-03-03  Murray Cumming  <murrayc@murrayc.com>
2380
2381         Remove now-unnecessary SIGC_CXX_HAS_NAMESPACE_STD() configure check.
2382
2383         Bug #762065 (Kjell Ahlstedt)
2384
2385 2016-03-03  Murray Cumming  <murrayc@murrayc.com>
2386
2387         Remove unused SIGC_CXX_SELF_REFERENCE_IN_MEMBER_INITIALIZATION() configure check.
2388
2389         Bug #762065 (Kjell Ahlstedt)
2390
2391 2016-03-02  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2392
2393         Improve the documentation of mem_fun()
2394
2395         * sigc++/functors/macros/mem_fun.h.m4:
2396         * sigc++/functors/slot_base.h: Make it clear that mem_fun() does not return
2397         a slot, and 'auto s = sigc::mem_fun(....)' is not equivalent to
2398         'sigc::slot<....> s = sigc::mem_fun(....)'.
2399         The confusing documentation was noted by Andrejs Hanins on libsigc-list.
2400
2401 2016-03-01  Murray Cumming  <murrayc@murrayc.com>
2402
2403         Add test_bind_as_slot.
2404
2405         This tests sigc::bind()'s indirect use of adaptor_functor<>.
2406         I added this because this doesn't work yet in the variadic_bind branch.
2407
2408 2016-03-01  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2409
2410         2.7.1
2411
2412 2016-01-14  Murray Cumming  <murrayc@murrayc.com>
2413
2414         m4: Remove unused UPPER and LOWER functions.
2415
2416 2016-01-14  Murray Cumming  <murrayc@murrayc.com>
2417
2418         tests: Use = delete instead of private constructors.
2419
2420         To make classes non-copyable.
2421
2422 2016-01-07  Murray Cumming  <murrayc@murrayc.com>
2423
2424         functor_trait.m4: Correct the mem_functor<> declarations.
2425
2426         The first template types are T_return and T_obj, not the arguments.
2427         This doesn't seem to have been a problem. Maybe this code is not tested
2428         or used.
2429
2430 2015-12-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2431
2432         Don't use SIGC_USING_STD()
2433
2434         The SIGC_USING_STD() macro is defined as an empty string, if some standard
2435         C++ symbols are defined in namespace std. They always are.
2436         Since many years, SIGC_USING_STD() is an unnecessary macro.
2437
2438 2015-12-16  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2439
2440         Temporarily undefine the nil macro, if it's defined
2441
2442         * build/cxx.m4: Add SIGC_CXX_PRAGMA_PUSH_POP_MACRO.
2443         * configure.ac: Call SIGC_CXX_PRAGMA_PUSH_POP_MACRO.
2444         * sigc++config.h.in: Add SIGC_PRAGMA_PUSH_POP_MACRO.
2445         * sigc++/functors/macros/functor_trait.h.m4:
2446         * sigc++/adaptors/macros/bind.h.m4:
2447         * sigc++/adaptors/macros/retype.h.m4:
2448         * sigc++/functors/macros/slot.h.m4:
2449         * sigc++/macros/signal.h.m4: If nil and SIGC_PRAGMA_PUSH_POP_MACRO are
2450         defined, undefine nil temporarily in the header files.
2451         nil is a keyword in Objective-C++ and in Mac OS X C++. Bug #695235.
2452
2453 2015-12-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2454
2455         can_deduce_result_type_with_decltype: Rename the check() methods
2456
2457         * sigc++/functors/macros/functor_trait.h.m4: Rename the check() methods.
2458         check() is a preprocessor macro in Mac OS X. Bug #759315.
2459
2460 2015-12-13  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2461
2462         Fix some typos
2463
2464 2015-11-16  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2465
2466         Add a moving signal::connect() overload
2467
2468         * sigc++/macros/signal.h.m4: Add signal#::connect(slot_type&&),
2469         slot_list::insert(iterator i, slot_type&&),
2470         slot_list::push_front(slot_type&&), push_back(slot_type&&).
2471         * sigc++/signal_base.[h|cc]: Add signal_base::connect(slot_base&&),
2472         signal_base::insert(slot_base&&), signal_impl::connect(slot_base&&),
2473         signal_impl::insert(slot_base&&). Bug #756484.
2474
2475 2015-11-13  Murray Cumming  <murrayc@murrayc.com>
2476
2477         2.6.2
2478
2479 2015-11-12  Murray Cumming  <murrayc@murrayc.com>
2480
2481         Add warnings for use with --enable-warnings=fatal
2482
2483         Added use -Wsuggest-override and -Wzero-as-null-pointer-constant.
2484
2485 2015-11-10  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2486
2487         trackable, slot_base, signal_base, connection: Add some noexcept specs
2488
2489 2015-11-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2490
2491         slot and signal: Add missing move constructors and move assignments
2492
2493         * sigc++/functors/macros/slot.h.m4: Add move operators for slot<>.
2494         * sigc++/macros/signal.h.m4: Add move operators for signal#<> and signal<>.
2495         * tests/test_signal_move.cc:
2496         * tests/test_slot_move.cc: Test that the source objects are empty.
2497         Bug #756484.
2498
2499 2015-11-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2500
2501         trackable, slot, signal: Remove noexcept specifications
2502
2503         * sigc++/functors/macros/slot.h.m4:
2504         * sigc++/functors/slot_base.[h|cc]:
2505         * sigc++/signal_base.[h|cc]:
2506         * sigc++/trackable.[h|cc]: Remove noexcept from the move operators.
2507         Bug #756484.
2508
2509 2015-11-06  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2510
2511         slot: Handle auto-disconnection when a slot contains a slot
2512
2513         * sigc++/functors/macros/slot.h.m4: Add sigc::visitor<> specializations
2514         for slot# and slot.
2515         * tests/test_disconnect.cc: Test auto-disconnection of a slot that contains
2516         a slot. Bug #755003.
2517
2518 2015-11-06  Murray Cumming  <murrayc@murrayc.com>
2519
2520         signal_impl: =delete copy and move operations.
2521
2522         Prevent, copy and move constructors and assignment operators from
2523         being generated automatically. These are never used, but this
2524         will make sure of that.
2525         See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5
2526
2527 2015-11-06  Murray Cumming  <murrayc@murrayc.com>
2528
2529         typed_slot_rep: =delete unimplemented copy and move operations.
2530
2531         Prevent, copy assignment operator, move constructor and move
2532         assignment operators from being generated automatically.
2533         These are never used, but this will make sure of that.
2534         See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5
2535
2536 2015-11-06  Murray Cumming  <murrayc@murrayc.com>
2537
2538         slot_rep: =delete copy and move operations.
2539
2540         Prevent, copy and move constructors and assignment operators from
2541         being generated automatically. These are never used, but this
2542         will make sure of that.
2543         See https://bugzilla.gnome.org/show_bug.cgi?id=756484#c5
2544
2545 2015-11-06  Murray Cumming  <murrayc@murrayc.com>
2546
2547         Small whitespace changes in docs comment.
2548
2549 2015-10-31  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2550
2551         trackable: Add a comment
2552
2553 2015-10-21  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2554
2555         slot and signal: Fix move constructors and move assignments
2556
2557         * sigc++/functors/macros/slot.h.m4: Add documentation.
2558         * sigc++/functors/slot_base.[h|cc]: Fix the move operators of slot_base.
2559         Don't move a connected slot.
2560         * sigc++/signal_base.cc: Fix the move assignment of signal_base.
2561         * tests/test_signal_move.cc:
2562         * tests/test_slot_move.cc: Really test move assignment. Bug #756484.
2563
2564 2015-10-13  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2565
2566         More use of nullptr instead of 0
2567
2568 2015-10-11  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2569
2570         slot_rep::disconnect(): Remove a comment, add a test
2571
2572         * sigc++/functors/slot_base.cc: Remove a TODO comment at slot_rep::disconnect().
2573         * tests/test_slot_disconnect.cc: Add a test that assigns an empty slot.
2574
2575 2015-09-29  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2576
2577         Update sigc++/.gitignore
2578
2579 2015-09-27  Murray Cumming  <murrayc@murrayc.com>
2580
2581         2.6.1
2582
2583 2015-09-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2584
2585         sigc::trackable: Don't move the callback list
2586
2587         * sigc++/trackable.[h|cc]: Don't move the callback list.
2588         * tests/test_trackable_move.cc: Remove a comment. Bug #755393.
2589
2590 2015-09-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2591
2592         Recreate adaptors/lambda files necessary not to break ABI
2593
2594         * sigc++/adaptors/lambda/macros/base.h.m4:
2595         * sigc++/adaptors/lambda/macros/lambda.cc.m4:
2596         * sigc++/adaptors/lambda/macros/select.h.m4: Recreate these files.
2597         * sigc++/Makefile.am:
2598         * sigc++/filelist.am: Add the recreated lambda files.
2599         Approximately a reversion of commit a259b4c7a1753dbc389ee467fa536339ec820223,
2600         "Remove remaining parts of the sigc::lambda API."
2601         Differences from an exact reversion: MSVC_Net files are not modified.
2602         (Probably something ought to be changed in MSVC_Net2013.)
2603         tests/Makefile.am is not modified-
2604         is_base_and_derived<> is replaced by std::is_base_of<> in base.h.m4.
2605         The extern declarations that were previously in select.h.m4 are moved to
2606         lambda.cc.m4. Without them, sigc::_1 .. sigc::_7 are not included in
2607         the .so file.
2608         All code in the header files are inside #ifndef DOXYGEN_SHOULD_SKIP_THIS.
2609         Bug #755550.
2610
2611 2015-09-21  Murray Cumming  <murrayc@murrayc.com>
2612
2613         2.6.0
2614
2615 2015-09-17  Murray Cumming  <murrayc@murrayc.com>
2616
2617         C++11: deduce_result_type: Simpifying, removing use of std::is_same().
2618
2619         See https://bugzilla.gnome.org/show_bug.cgi?id=753612#c9
2620
2621 2015-09-17  Marcin Kolny  <marcin.kolny@gmail.com>
2622
2623         C++11: deduce_result_type: build fix, using SFINAE paradigm.
2624
2625         Bug #753612
2626
2627 2015-09-17  Murray Cumming  <murrayc@murrayc.com>
2628
2629         C++11: deduce_result_type: Simplify with variadic template and std::conditional<>.
2630
2631         Bug #753612
2632         However, the build then fails like so:
2633
2634         make[2]: Entering directory '/home/murrayc/checkout/gnome/libsigc++2/examples'
2635         g++ -DHAVE_CONFIG_H   -I.. -I..  -pedantic -Wall -Wextra -Wshadow -Wformat-security -Werror -Wall -g -O0 -std=c++11 -MT hello_world.o -MD -MP -MF .deps/hello_world.Tpo -c -o hello_world.o hello_world.cc
2636         In file included from ../sigc++/adaptors/adaptor_trait.h:10:0,
2637         from ../sigc++/functors/slot.h:7,
2638         from ../sigc++/signal_base.h:27,
2639         from ../sigc++/signal.h:8,
2640         from ../sigc++/sigc++.h:86,
2641         from hello_world.cc:10:
2642         ../sigc++/adaptors/deduce_result_type.h: In instantiation of â€˜struct sigc::deduce_result_type<sigc::pointer_functor1<const std::basic_string<char>&, void>, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void, void, void, void, void, void>’:
2643         ../sigc++/adaptors/deduce_result_type.h:60:80:   required by substitution of â€˜template<class T_functor, class ... T_args> using deduce_result_t = typename sigc::deduce_result_type::type [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_args = {const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void, void, void, void, void, void}]’
2644         ../sigc++/adaptors/adaptor_trait.h:67:104:   required from â€˜struct sigc::adaptor_functor<sigc::pointer_functor1<const std::basic_string<char>&, void> >::deduce_result_type<const std::basic_string<char>&, void, void, void, void, void, void>’
2645         ../sigc++/adaptors/adaptor_trait.h:88:3:   required by substitution of â€˜template<class T_arg1> typename sigc::adaptor_functor<T_functor>::deduce_result_type<T_arg1>::type sigc::adaptor_functor<T_functor>::operator()(T_arg1) const [with T_arg1 = const std::basic_string<char>&]’
2646         ../sigc++/functors/slot.h:137:20:   required from â€˜static T_return sigc::internal::slot_call1<T_functor, T_return, T_arg1>::call_it(sigc::internal::slot_rep*, sigc::type_trait_take_t<T_arg3>) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::type_trait_take_t<T_arg3> = const std::basic_string<char>&]’
2647         ../sigc++/functors/slot.h:144:37:   required from â€˜static void* (* sigc::internal::slot_call1<T_functor, T_return, T_arg1>::address())(void*) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::internal::hook = void* (*)(void*)]’
2648         ../sigc++/functors/slot.h:529:91:   required from â€˜sigc::slot1<T_return, T_arg1>::slot1(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
2649         ../sigc++/functors/slot.h:1161:26:   required from â€˜sigc::slot<T_return, T_arg1, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::slot(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
2650         hello_world.cc:25:50:   required from here
2651         ../sigc++/adaptors/deduce_result_type.h:56:12: error: no class template named â€˜deduce_result_type’ in â€˜class sigc::pointer_functor1<const std::basic_string<char>&, void>’
2652         >::type;
2653         ^
2654         In file included from ../sigc++/signal_base.h:27:0,
2655         from ../sigc++/signal.h:8,
2656         from ../sigc++/sigc++.h:86,
2657         from hello_world.cc:10:
2658         ../sigc++/functors/slot.h: In instantiation of â€˜static T_return sigc::internal::slot_call1<T_functor, T_return, T_arg1>::call_it(sigc::internal::slot_rep*, sigc::type_trait_take_t<T_arg3>) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::type_trait_take_t<T_arg3> = const std::basic_string<char>&]’:
2659         ../sigc++/functors/slot.h:144:37:   required from â€˜static void* (* sigc::internal::slot_call1<T_functor, T_return, T_arg1>::address())(void*) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::internal::hook = void* (*)(void*)]’
2660         ../sigc++/functors/slot.h:529:91:   required from â€˜sigc::slot1<T_return, T_arg1>::slot1(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
2661         ../sigc++/functors/slot.h:1161:26:   required from â€˜sigc::slot<T_return, T_arg1, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::slot(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
2662         hello_world.cc:25:50:   required from here
2663         ../sigc++/functors/slot.h:137:20: error: no matching function for call to â€˜sigc::adaptor_functor<sigc::pointer_functor1<const std::basic_string<char>&, void> >::operator()(const std::basic_string<char>&)’
2664         (a_1);
2665         ^
2666         ../sigc++/functors/slot.h:137:20: note: candidates are:
2667         In file included from ../sigc++/functors/slot.h:7:0,
2668         from ../sigc++/signal_base.h:27,
2669         from ../sigc++/signal.h:8,
2670         from ../sigc++/sigc++.h:86,
2671         from hello_world.cc:10:
2672         ../sigc++/adaptors/adaptor_trait.h:88:3: note: template<class T_arg1> typename sigc::adaptor_functor<T_functor>::deduce_result_type<T_arg1>::type sigc::adaptor_functor<T_functor>::operator()(T_arg1) const [with T_arg1 = T_arg1; T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>]
2673         operator()(T_arg1 _A_arg1) const
2674         ^
2675         ../sigc++/adaptors/adaptor_trait.h:88:3: note:   substitution of deduced template arguments resulted in errors seen above
2676         ../sigc++/adaptors/adaptor_trait.h:107:3: note: template<class T_arg1, class T_arg2> typename sigc::adaptor_functor<T_functor>::deduce_result_type<T_arg1, T_arg2>::type sigc::adaptor_functor<T_functor>::operator()(T_arg1, T_arg2) const [with T_arg1 = T_arg1; T_arg2 = T_arg2; T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>]
2677         operator()(T_arg1 _A_arg1, T_arg2 _A_arg2) const
2678         ^
2679         ../sigc++/adaptors/adaptor_trait.h:107:3: note:   template argument deduction/substitution failed:
2680         In file included from ../sigc++/signal_base.h:27:0,
2681         from ../sigc++/signal.h:8,
2682         from ../sigc++/sigc++.h:86,
2683         from hello_world.cc:10:
2684         ../sigc++/functors/slot.h:137:20: note:   candidate expects 2 arguments, 1 provided
2685         (a_1);
2686         ^
2687
2688 2015-09-11  Chun-wei Fan  <fanchunwei@src.gnome.org>
2689
2690         MSVC Builds: Add "Install" Project
2691
2692         This makes building the -mm stack easier by copying the headers and the
2693         built DLL, PDB and LIB files to a location where it can be picked up by
2694         the gtkmm stack automatically, when they are extracted in a common
2695         directory.  This is what is currently done with the GTK+ and Clutter
2696         stacks for Visual Studio builds.
2697
2698 2015-09-09  Chun-wei Fan  <fanchunwei@src.gnome.org>
2699
2700         Update README on Visual Studio Builds
2701
2702         Since the Visual Studio project files and the related sources have been
2703         updated to work with Visual Studio 2013, and that the test programs do
2704         run well there, update the README file to let people know the situation.
2705
2706         https://bugzilla.gnome.org/show_bug.cgi?id=754082
2707
2708 2015-09-09  Chun-wei Fan  <fanchunwei@src.gnome.org>
2709
2710         sigc++config.h.in: Allow Build for MSVC 2013
2711
2712         MSVC 2013 does not have the C++-11 noexcept, so we need to define that to
2713         _NOEXCEPT for MSVC 2013.  Plus, since by default MSVC 2013 does not allow
2714         us to re-define keywords, though they may or may not be supported, we need
2715         to use the _ALLOW_KEYWORD_MACROS macro to allow this to happen.
2716
2717         https://bugzilla.gnome.org/show_bug.cgi?id=754082
2718
2719 2015-09-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2720
2721         Update source of web page
2722
2723         * docs/website/fragments/footer.html_fragment:
2724         * docs/website/fragments/html_declaration.html_fragment:
2725         * docs/website/devel.shtml:
2726         * docs/website/doc.shtml:
2727         * docs/website/index.shtml:
2728         * docs/website/link.shtml:
2729         * docs/website/stable.shtml: Fix or remove broken links. Remove the lists of
2730         supported compilers. Mention that a C++11 compiler is required and that
2731         support for lambdas has been removed. Bug #754082.
2732
2733 2015-09-07  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2734
2735         Update .gitignore
2736
2737 2015-09-03  Murray Cumming  <murrayc@murrayc.com>
2738
2739         2.5.4
2740
2741 2015-09-03  Murray Cumming  <murrayc@murrayc.com>
2742
2743         Update tests/.gitignore
2744
2745 2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>
2746
2747         MSVC Builds: Use Windows Line Endings for .sln
2748
2749         The .sln files need to have Windows/DOS line endings to work properly so
2750         that Windows can detect the Visual Studio version of the solution file.
2751
2752 2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>
2753
2754         MSVC Builds: Add Forgotten Files
2755
2756         The MSVC projects now use property sheets, but they were forgotten from
2757         dist in the previous commits.  Dist them... sorry!
2758
2759 2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>
2760
2761         MSVC Builds: Remove MSVC 2005 and 2008 projects
2762
2763         They are now unable to build libsigc++ at all, so drop them.
2764
2765         https://bugzilla.gnome.org/show_bug.cgi?id=754082
2766
2767 2015-09-02  Chun-wei Fan  <fanchunwei@src.gnome.org>
2768
2769         MSVC Builds: Rename MSVC_Net2010/ to MSVC_Net2013/
2770
2771         Since libsigc++ now requires MSVC 2013 to build, the MSVC_Net2010 directory
2772         needs to be renamed to MSVC_Net2013, so that people will not be confused on
2773         what MSVC version is needed to build libsigc++.  Also remove MSVC_Net2005
2774         and MSVC_Net2008 from the distribution, as they are no longer able to build
2775         libsigc++.
2776
2777         https://bugzilla.gnome.org/show_bug.cgi?id=754082
2778
2779 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
2780
2781         signal_base, trackable: Make move operations noexcept.
2782
2783 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
2784
2785         Added test_signal_move.
2786
2787         This seems to work.
2788
2789 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
2790
2791         Added test_slot_move
2792
2793         This seems to do what it should, acting much like regular slot copying.
2794
2795 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
2796
2797         Add test_trackable_move.
2798
2799         It doesn't segfault, but I'm not sure it's doing what it should.
2800         See the TODO.
2801
2802 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
2803
2804         trackable: move constructor: null the src.
2805
2806 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
2807
2808         trackable: move assignment operator: null the src.
2809
2810 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
2811
2812         C++11: signal_base: Add move operations.
2813
2814 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
2815
2816         trackable: Add missing operator=(&&) implementation.
2817
2818 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
2819
2820         trackable: Add move operations.
2821
2822         Also adding them to trackable_callback_list and makeing
2823         trackable_callback_list noncopyable, which I think is intended.
2824
2825 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
2826
2827         C++11: slot*: Add move operations.
2828
2829 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
2830
2831         C++11 slot_base: Add move operations.
2832
2833         Improvements welcome.
2834
2835 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
2836
2837         slot_base::operator=(const &): Copy blocked_ too.
2838
2839         So, if we do
2840         a = b;
2841         then a will be blocked if b was blocked. Otherwise it depends on
2842         whether a was blocked, which seems odd.
2843
2844         If this is not the intended behaviour then we need a comment about it
2845         in operator=() and a test.
2846
2847 2015-09-01  Murray Cumming  <murrayc@murrayc.com>
2848
2849         2.5.3
2850
2851 2015-08-31  Chun-wei Fan  <fanchunwei@src.gnome.org>
2852
2853         MSVC Projects: Overhaul The Projects
2854
2855         The former MSVC 2010 (2012) projects carried over quite a bit of cruft from
2856         the Visual Studio 2003 days, and there are a number of items that could be
2857         consolidated into ptoperty sheets, so it's time that the projects get a
2858         clean up and overhaul.  This is not unlike what was done to the glibmm
2859         projects some time ago.
2860
2861         Consolidate the projects all into MSVC_Net2010, without subdirectories, as
2862         the property sheets will separate the object files of the various projects
2863         into their own places.
2864
2865         This will also likely enable us to support MSVC 2015 in a more efficient
2866         way.
2867
2868         Also, move the projects configs to MSVC 2013, as that is now the minimum
2869         version of MSVC required to build sigc++.
2870
2871 2015-08-14  Murray Cumming  <murrayc@murrayc.com>
2872
2873         deduce_result_t: Add initial T_return template parameter.
2874
2875         To make it clearer that this is how to use it.
2876
2877 2015-08-14  Murray Cumming  <murrayc@murrayc.com>
2878
2879         tests: Use sigc::deduce_result_t<> instead of deduce_result_type<>::type.
2880
2881         This removes the last use of sigc::deduce_result_type<>, allowing
2882         us to change the implementation of sigc::deduce_result_t more easily.
2883
2884 2015-08-14  Murray Cumming  <murrayc@murrayc.com>
2885
2886         exception_catch.h: Generate deduce_result_type for the void specializations too.
2887
2888         I guess this is correct and test_exception_catch still passes.
2889         Without this, it's actually using, for instance:
2890         sigc::deduce_result_type<T_arg1, T_Arg2>
2891         even though sigc::deduce_result_type<> should really be called with a result type
2892         first, like so:
2893         sigc::deduce_result_type<T_return, T_arg1, T_Arg2>
2894
2895         Explicitly changing it to use
2896         sigc::deduce_result_type<T_return, T_Arg1, T_Arg2>
2897         or
2898         sigc::deduce_result_type<T_Arg1, T_Arg2>
2899         instead of just
2900         deduce_result_type<T_Arg1, T_Arg2>
2901         doesn't seem to break things either, probably out of luck,
2902         but changing it to define a type that it actually seems to expect seems
2903         cleaner, and makes it easier for us to change sigc::deduce_result_type.
2904
2905 2015-08-13  Murray Cumming  <murrayc@murrayc.com>
2906
2907         C++11: deduce_result_type.h: Add and use a deduce_result_t<> alias.
2908
2909         This simplifies the code a bit, by replacing use of this:
2910         typename deduce_result_type<SomeType1, SomeType2>::type
2911         with this:
2912         deduce_result_t<SomeType1, SomeType2>
2913
2914         Note that the alias is a C++11 variadic template.
2915         Bug #753580
2916
2917 2015-08-13  Murray Cumming  <murrayc@murrayc.com>
2918
2919         type_traits.h: Remove the unused type and pointer types.
2920
2921         These were apparently never used.
2922         Bug #753580
2923
2924 2015-08-13  Murray Cumming  <murrayc@murrayc.com>
2925
2926         type_trait: Define and use type_trait_pass/take_t aliases.
2927
2928         This simplifies the code a bit, by replacing use of this:
2929         typename type_trait<SomeType>::take
2930         with this:
2931         type_trait_take_t<SomeType>
2932         Bug #753580
2933
2934 2015-08-13  Murray Cumming  <murrayc@murrayc.com>
2935
2936         2.5.2
2937
2938 2015-08-13  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2939
2940         Remove the sigc++/object.h header
2941
2942         Because it now contains no API.
2943         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
2944
2945 2015-08-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2946
2947         Update sigc++/.gitignore
2948
2949 2015-08-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
2950
2951         Store sigc++/slot.h in git, don't generate it from m4
2952
2953         * sigc++/macros/slot.h.m4: Remove.
2954         * sigc++/slot.h: New in git.
2955         * sigc++/filelist.am: Replace sigc++/macros/slot.h.m4 by sigc++/slot.h.
2956         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
2957
2958 2015-08-12  Murray Cumming  <murrayc@murrayc.com>
2959
2960         Remove the (generated) sigc++/hide.h header.
2961
2962         Because it now contains no API.
2963         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
2964
2965         The generated sigc++/hide file did not include sigc++/adaptors/hide.h
2966         so it did not exist as a convenience.
2967
2968 2015-08-12  Murray Cumming  <murrayc@murrayc.com>
2969
2970         Remove the (generated) sigc++/retype.h header.
2971
2972         Because it now contains no API.
2973         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
2974
2975         sigc++/macros/retype_h.m4 did define some m4 macros but these were
2976         not actually used. The generated sigc++/retype.h file did not
2977         include sigc++/adaptors/retype.h so it did not exist as a convenience.
2978
2979 2015-08-12  Murray Cumming  <murrayc@murrayc.com>
2980
2981         Remove the (generated) sigc++/object_slot.h header.
2982
2983         Because it now contains no API.
2984         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
2985
2986 2015-08-12  Murray Cumming  <murrayc@murrayc.com>
2987
2988         Remove the (generated) method_slot.h header.
2989
2990         Because it now contains no API.
2991         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
2992
2993 2015-08-12  Murray Cumming  <murrayc@murrayc.com>
2994
2995         Remove the (generated) class_slot.h header.
2996
2997         Because it now contains no API.
2998         See https://bugzilla.gnome.org/show_bug.cgi?id=752560#c6
2999
3000 2015-08-04  Chun-wei Fan  <fanchunwei@src.gnome.org>
3001
3002         Visual Studio Builds: Move 2010 Projects to 2012
3003
3004         Since the builds of the *mm stack are going to use C++11, this means that
3005         we can't build libsigc++ with MSVC 2005~2010 anymore, so we need to update
3006         the Visual Studio project files to version 2012 (11.0), so that we can
3007         still support building with Visual Studio, as it does support enough of
3008         C++11 features that is needed.
3009
3010         Also clean up a little bit by dropping some of the unneeded items from the
3011         projects and solution files.
3012
3013         These project files are clearly going to need more cleanup, and we should
3014         drop the MSVC_Net2005 and MSVC_Net2008 folders, and rename MSVC_Net2010 to
3015         MSVC_Net2012, but this commit will ensure that libsigc++ is indeed still
3016         buildable with Visual Studio, and we can support Visual Studio 2013 and
3017         2015 in a more efficient manner.
3018
3019 2015-08-03  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3020
3021         C++11: Replace deprecated std::auto_ptr by std::unique_ptr
3022
3023 2015-07-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3024
3025         C++11: visit_each_type<>(): Another check for the same type
3026
3027         The rest of my suggested additions in bug 752560 comment 3.
3028         The #include <type_traits> are necessary, if header files are included
3029         one-by-one, and not via #include <sigc++/sigc++.h>.
3030
3031 2015-07-25  Murray Cumming  <murrayc@murrayc.com>
3032
3033         C++11: visit_each<>: Check for the same type as well as the base.
3034
3035         As suggested by Kjell Ahlstedt here:
3036         https://bugzilla.gnome.org/show_bug.cgi?id=752560#c3
3037
3038         This fixes the test cases.
3039
3040 2015-07-25  Murray Cumming  <murrayc@murrayc.com>
3041
3042         C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>.
3043
3044         As suggested by Kjell's comment here:
3045         https://git.gnome.org/browse/libsigc++2/commit/sigc++/type_traits.h?id=1e9f65c978be67da71f15231643d504e06a6af3f
3046         This also removes sigc::is_base_and_derived<> which should cause
3047         only a slight API change but no ABI change.
3048
3049         Bug #752560
3050
3051 2015-07-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3052
3053         Update README, remove TODO
3054
3055         * README: Remove lambda from the list of directories.
3056         Remove the list of compatible compilers. It has become obsolete now that
3057         libsigc++ uses C++11 features.
3058         * TODO: Remove. It's obsolete. TODO comments are now scattered in
3059         the source code.
3060
3061 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
3062
3063         C++11: Use of range-based for loops.
3064
3065 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
3066
3067         C++11: More use of auto.
3068
3069 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
3070
3071         C++11: Use auto.
3072
3073         Trying to avoid using auto where its a specific type that we are
3074         trying to test for.
3075
3076 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
3077
3078         Use -Wformat-security with --enable-warnings=fatal.
3079
3080         Because we use it in glibmm already. No code changes were necessary.
3081
3082 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
3083
3084         Use -Wshadow with --enable-warnings=fatal.
3085
3086 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
3087
3088         Revert "C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>."
3089
3090         This reverts commit bf89034e116d4d9eb761ceb4597c69f0f2b9c597.
3091         I didn't meat to push that quite yet.
3092
3093 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
3094
3095         C++11: Use std::is_base_of<> instead of our sigc::is_base_and_derived<>.
3096
3097         As suggested by Kjell's comment here:
3098         https://git.gnome.org/browse/libsigc++2/commit/sigc++/type_traits.h?id=1e9f65c978be67da71f15231643d504e06a6af3f
3099         This also removes sigc::is_base_and_derived<> which should cause
3100         only a slight API change but no ABI change.
3101
3102 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
3103
3104         C++11: Use of nullptr instead of 0.
3105
3106 2015-07-18  Murray Cumming  <murrayc@murrayc.com>
3107
3108         2.5.1
3109
3110         2.5.1
3111
3112 2015-07-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3113
3114         Require mm-common 0.9.8
3115
3116 2015-07-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3117
3118         Remove remaining parts of the sigc::lambda documentation
3119
3120         * docs/index.html: Remove link to group__lambdas.html.
3121         * sigc++/adaptors/macros/bind.h.m4:
3122         * sigc++/adaptors/macros/compose.h.m4:
3123         * sigc++/adaptors/macros/hide.h.m4: Remove talk of sigc::group().
3124         * sigc++/.gitignore:
3125         * tests/.gitignore: Remove files that are no longer generated. Bug #672555.
3126
3127 2015-07-17  Murray Cumming  <murrayc@murrayc.com>
3128
3129         Remove remaining parts of the sigc::lambda API.
3130
3131         The remaining API, defined in a .cc file, does not actually end up
3132         being used by applications, so we can safely remove it.
3133         See https://bugzilla.gnome.org/show_bug.cgi?id=672555#c21
3134
3135 2015-07-17  Murray Cumming  <murrayc@murrayc.com>
3136
3137         Remove deprecated sigc::lambda API that is only in headers.
3138
3139         So this is an API removal (of deprecated API) but not an ABI change.
3140         The remaining deprecated API in the headers is needed by the definitions
3141         in lambda.cc.m4.
3142         Bug #672555
3143
3144 2015-07-14  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3145
3146         C++11: Avoid the need for SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE
3147
3148         * sigc++/adaptors/lambda/macros/base.h.m4:
3149         * sigc++/adaptors/lambda/macros/group.h.m4:
3150         * sigc++/adaptors/macros/track_obj.h.m4:
3151         * sigc++/macros/signal.h.m4: Remove all talk about
3152         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
3153         * sigc++/functors/slot_base.h: Mentioned that
3154         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE is not needed any more.
3155         * tests/test_cpp11_lambda.cc:
3156         * tests/test_track_obj.cc: Remove calls to
3157         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE and tests for C++11 capability.
3158         * sigc++/functors/macros/functor_trait.h.m4: Add class
3159         can_deduce_result_type_with_decltype<>. Use it as default value for the new
3160         template parameter I_can_use_decltype in struct functor_trait<>.
3161         Bug #672555.
3162         Murray Cumming made the changes of all files except functor_trait.h.m4.
3163
3164 2015-07-14  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3165
3166         Require C++11
3167
3168         * configure.ac: Use MM_AX_CXX_COMPILE_STDCXX_11 to check for compiler
3169         support for C++11 and use it (--std=c++11 for current versions of
3170         g++). Bug #672555.
3171
3172 2015-02-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3173
3174         2.4.1
3175
3176 2015-02-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3177
3178         Docs: Update for Doxygen 1.8.9
3179
3180         * docs/reference/Doxyfile.in: Update for Doxygen 1.8.9.
3181
3182 2014-10-23  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3183
3184         Tests: Improve test_disconnect_during_emit
3185
3186         * tests/test_disconnect_during_emit.cc: Test that the slot is really
3187         disconnected during signal emission.
3188
3189 2014-10-23  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3190
3191         slot_base: Let the assignment operator destroy the slot
3192
3193         * sigc++/functors/slot_base.cc: slot_base's assignment operator shall
3194         destroy the old slot_rep even if the assigned slot is empty. Bug #738602.
3195
3196 2014-09-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3197
3198         2.4.0
3199
3200 2014-09-15  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3201
3202         Docs: Use doxygen-extra.css
3203
3204         * configure.ac: Require mm-common 0.9.7.
3205         * docs/.gitignore: Ignore doxygen-extra.css.
3206         * docs/reference/Doxyfile.in: Use doxygen-extra.css instead of doxygen.css.
3207
3208 2014-09-11  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3209
3210         doap: Add <description>
3211
3212 2014-08-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3213
3214         test_lambda: Fix for MS Visual C++ 2013
3215
3216         * tests/test_lambda.cc: Don't rely on implicit conversion from std::ostream
3217         to bool. Instead, hide a problematic slot return type with sigc::hide_return().
3218         Bug #734368.
3219
3220 2014-08-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3221
3222         Add an include in limit_reference.h
3223
3224         * sigc++/macros/limit_reference.h.m4: limit_reference.h must include
3225         visit_each.h, with the primary definition of template struct visitor.
3226         https://mail.gnome.org/archives/libsigc-list/2014-August/msg00001.html
3227
3228 2014-08-01  Andre Klapper  <a9016009@gmx.de>
3229
3230         doap: add <programming-language>
3231
3232 2014-08-01  Olav Vitters  <olav@vitters.nl>
3233
3234         doap: link tarball name and git module
3235
3236 2014-07-31  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3237
3238         2.3.2
3239
3240 2014-07-31  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3241
3242         Remove .gitattributes
3243
3244         * .gitattributes: Instructed git to use a custom merge function for
3245         merging ChangeLog. Might have been useful, but it's not any more.
3246
3247 2014-07-30  Olav Vitters  <olav@vitters.nl>
3248
3249         doap category core
3250
3251 2014-07-29  Ryan Beasley  <rbeasley@vmware.com>
3252
3253         Tests: Enable C++11 lambda expressions with MS Visual Studio 2012 and later
3254
3255         * tests/test_cpp11_lambda.cc:
3256         * tests/test_track_obj.cc: Compile C++11 lambda expressions if
3257         _MSC_VER >= 1700. Bug #733752.
3258
3259 2014-07-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3260
3261         Documentation: Emphasize that signals are ref counted
3262
3263         * sigc++/signal_base.h: Emphasize that a sigc::signal holds a pointer to
3264         a ref counted signal_impl. Bug #611941.
3265
3266 2014-07-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3267
3268         Add test_visit_each to MSVC_Net2010
3269
3270         * MSVC_Net2010/filelist.am: Add new project files.
3271         * MSVC_Net2010/libsigc++2.sln: Add new project.
3272         * MSVC_Net2010/tests/test_visit_each/: New test case. Bug #724496.
3273
3274 2014-07-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3275
3276         Tests: Add test_visit_each
3277
3278         * tests/.gitignore:
3279         * tests/Makefile.am: Add test_visit_each.
3280         * tests/test_visit_each.cc: New file. Bug #724496.
3281
3282 2014-07-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3283
3284         Replace visit_each() overloads by struct visitor<>
3285
3286         Note: This patch breaks API for some users, but it does not break ABI.
3287         Only users who have added their own visit_each() overloads are affected by
3288         the API break. Their programs will still compile, but there will be run-time
3289         errors, if they rely on auto-disconnection of slots.
3290         Updated instructions for users who implement their own adaptors are found in
3291         the description of sigc::adapts<>.
3292
3293         * sigc++/adaptors/bound_argument.h:
3294         * sigc++/adaptors/macros/adaptor_trait.h.m4:
3295         * sigc++/adaptors/macros/bind.h.m4:
3296         * sigc++/adaptors/macros/bind_return.h.m4:
3297         * sigc++/adaptors/macros/compose.h.m4:
3298         * sigc++/adaptors/macros/exception_catch.h.m4:
3299         * sigc++/adaptors/macros/hide.h.m4:
3300         * sigc++/adaptors/macros/retype.h.m4:
3301         * sigc++/adaptors/macros/retype_return.h.m4:
3302         * sigc++/adaptors/macros/track_obj.h.m4:
3303         * sigc++/adaptors/lambda/macros/base.h.m4:
3304         * sigc++/adaptors/lambda/macros/group.h.m4:
3305         * sigc++/adaptors/lambda/macros/operator.h.m4:
3306         * sigc++/functors/macros/mem_fun.h.m4:
3307         * sigc++/macros/limit_reference.h.m4:
3308         * sigc++/visit_each.h: Replace overloads of visit_each<>() by
3309         specializations of struct visitor<> with a specialized member function
3310         do_visit_each<>(). Qualify all calls to visit_each() with sigc:: to avoid
3311         argument-dependent lookup.
3312         * sigc++/functors/macros/slot.h.m4: Qualify the calls to visit_each_type()
3313         with sigc:: to avoid argument-dependent lookup.
3314         * tests/test_functor_trait.cc: Fix the expected result now when the test
3315         really works.
3316         Thanks to Ryan Beasley <rbeasley@vmware.com>, bug #724496.
3317
3318 2014-07-25  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3319
3320         signal_impl::notify(): Don't delete signal_impl during erase()
3321
3322         * sigc++/signal_base.cc: signal_impl::notify() and sweep(): Don't delete
3323         signal_impl while its slot list is being manipulated. Without this fix,
3324         tests/test_bind_refptr crashes in MS Visual C++ in debug mode.
3325         The behaviour without the fix is risky, and shall be avoided. Bug #564005.
3326
3327 2014-07-24  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3328
3329         Update the signal_impl::notify() documentation
3330
3331         * sigc++/signal_base.h: Update the signal_impl::notify() documentation.
3332         It should have been updated when notify() was updated. Bug #167714.
3333
3334 2014-07-24  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3335
3336         Add a maintainer in the DOAP file
3337
3338 2014-07-18  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3339
3340         Update MSVC_Net2010
3341
3342         * MSVC_Net2010/filelist.am: Add new project files.
3343         * MSVC_Net2010/libsigc++2.sln: Add new projects.
3344         * MSVC_Net2010/libsigc++2.vcxproj.filters:
3345         * MSVC_Net2010/libsigc++2.vcxproj: Update the list of header files.
3346         * MSVC_Net2010/tests/test_*/test_*.vcxproj.filters:
3347         * MSVC_Net2010/tests/test_*/test_*.vcxproj: Add testutilities.[h|cc].
3348         * MSVC_Net2010/tests/test_accum_iter/:
3349         * MSVC_Net2010/tests/test_bind_ref/:
3350         * MSVC_Net2010/tests/test_bind_refptr/:
3351         * MSVC_Net2010/tests/test_copy_invalid_slot/:
3352         * MSVC_Net2010/tests/test_cpp11_lambda/:
3353         * MSVC_Net2010/tests/test_custom/:
3354         * MSVC_Net2010/tests/test_lambda/:
3355         * MSVC_Net2010/tests/test_limit_reference/:
3356         * MSVC_Net2010/tests/test_slot_disconnect/:
3357         * MSVC_Net2010/tests/test_track_obj/: New test case projects. Bug #724496.
3358
3359 2014-07-14  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3360
3361         Fix 'make check' with clang++ and --enable-warnings=fatal
3362
3363         * tests/test_cpp11_lambda.cc:
3364         * tests/test_deduce_result_type.cc:
3365         * tests/test_track_obj.cc: Don't define functions which are not used.
3366         The clang++ compiler considers unused functions an error, when libsigc++ is
3367         configured with --enable-warnings=fatal. Bug #724496.
3368
3369 2013-10-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3370
3371         Documentation: Talk less about std::function
3372
3373         * sigc++/functors/macros/slot.h.m4:
3374         * sigc++/functors/slot_base.h: Remove the examples with std::function.
3375         Add an example with a C++11 lambda expression.
3376         https://mail.gnome.org/archives/libsigc-list/2013-October/msg00003.html
3377
3378 2013-10-27  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3379
3380         Update .gitignore files
3381
3382         * build/.gitignore:
3383         * tests/.gitignore: Ignore files generated by automake 1.13 and 'make check'.
3384
3385 2013-10-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3386
3387         Documentation: Mention std::function and std::bind() in more comments
3388
3389         * sigc++/functors/macros/functor_trait.h.m4: Mention that
3390         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE does not support functors
3391         with overloaded operator()().
3392         * sigc++/adaptors/macros/track_obj.h.m4:
3393         * sigc++/functors/macros/slot.h.m4:
3394         * sigc++/functors/slot_base.h:
3395         * sigc++/signal_base.h: Mention std::function as an alternative to
3396         sigc::slot.
3397         * sigc++/macros/signal.h.m4: connect(): Describe why the result of
3398         std::bind() can't be connected directly to a signal.
3399
3400 2013-10-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3401
3402         Fix test_cpp11_lambda for gcc 4.8
3403
3404         * tests/test_cpp11_lambda.cc: Remove an unneccesary std::ref().
3405         Show that std::bind() can be assigned to a slot, if it's combined with
3406         std::function.
3407
3408 2013-07-30  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3409
3410         signal_base, signal_impl: Speed up disconnection of slots.
3411
3412         * sigc++/signal_base.cc: Tell signal_impl::notify() which slot is being
3413         disconnected. Execution time is then usually O(1) instead of O(n), where n
3414         is the size of the slot list. Disconnect all connected slots when a signal is
3415         deleted. Disconnect slots before they are erased from a signal's slot list.
3416         Bug #167714.
3417
3418 2013-07-03  José Alburquerque  <jaalburquerque@gmail.com>
3419
3420         Move to a generated ChangeLog.
3421
3422 2013-07-02  José Alburquerque  <jaalburquerque@gmail.com>
3423
3424         Auto-generate the ChangeLog from the git log for 'make dist'.
3425
3426         * Makefile.am: Include the dist-changelog.am file copied in build/
3427         from mm-common so that the ChangeLog is automatically generated from
3428         the git commit messages on 'make dist'.
3429
3430 2013-05-01  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3431
3432         Don't use __file__ in the FIREWALL m4 macro.
3433
3434         * sigc++/adaptors/lambda/macros/group.h.m4:
3435         * sigc++/adaptors/macros/*.h.m4:
3436         * sigc++/functors/macros/*.h.m4:
3437         * sigc++/macros/class_slot.h.m4:
3438         * sigc++/macros/hide.h.m4:
3439         * sigc++/macros/limit_reference.h.m4:
3440         * sigc++/macros/method_slot.h.m4:
3441         * sigc++/macros/retype.h.m4:
3442         * sigc++/macros/slot.h.m4: Replace __FIREWALL__ with _FIREWALL(filename).
3443         * sigc++/macros/template.macros.m4: Replace __FIREWALL__ with _FIREWALL,
3444         taking a parameter. Don't use __file__ to generate the name of the C++
3445         preprocessor macro. __file__ may expand to an absolute path, containing
3446         almost all sorts of special characters and being excessively long.
3447         Bug #699168.
3448
3449 2013-04-11  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3450
3451         Use DOXYGEN_SHOULD_SKIP_THIS consistently.
3452
3453         * docs/reference/Doxyfile.in: EXTRACT_ALL=YES, like in most mm packages.
3454         * sigc++/sigc++.h: Mention that the reference manual contains only some of
3455         the template specializations.
3456         * sigc++/adaptors/bound_argument.h:
3457         * sigc++/adaptors/lambda/macros/base.h.m4:
3458         * sigc++/adaptors/lambda/macros/group.h.m4:
3459         * sigc++/adaptors/macros/adaptor_trait.h.m4:
3460         * sigc++/adaptors/macros/bind.h.m4:
3461         * sigc++/adaptors/macros/bind_return.h.m4:
3462         * sigc++/adaptors/macros/compose.h.m4:
3463         * sigc++/adaptors/macros/deduce_result_type.h.m4:
3464         * sigc++/adaptors/macros/exception_catch.h.m4:
3465         * sigc++/adaptors/macros/hide.h.m4:
3466         * sigc++/adaptors/macros/retype.h.m4:
3467         * sigc++/adaptors/macros/retype_return.h.m4:
3468         * sigc++/adaptors/macros/track_obj.h.m4:
3469         * sigc++/functors/macros/functor_trait.h.m4:
3470         * sigc++/functors/macros/mem_fun.h.m4:
3471         * sigc++/macros/limit_reference.h.m4:
3472         * sigc++/type_traits.h:
3473         * sigc++/visit_each.h: Use DOXYGEN_SHOULD_SKIP_THIS to mark what Doxygen
3474         shall not extract.
3475
3476 2013-03-20  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3477
3478         Suppress erroneous links in documentation.
3479
3480         * sigc++/adaptors/lambda/macros/base.h.m4:
3481         * sigc++/adaptors/lambda/macros/group.h.m4:
3482         * sigc++/adaptors/lambda/macros/select.h.m4: Doxygen links std::bind to
3483         sigc::bind. Suppress these links. No link is better than the wrong link.
3484
3485 2013-03-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3486
3487         Deprecate libsigc++ lambdas, sigc::group(), sigc::var().
3488
3489         * configure.ac: Add MM_ARG_DISABLE_DEPRECATED_API(SIGCXX).
3490         * sigc++/adaptors/lambda/macros/base.h.m4:
3491         * sigc++/adaptors/lambda/macros/group.h.m4:
3492         * sigc++/adaptors/lambda/macros/lambda.cc.m4:
3493         * sigc++/adaptors/lambda/macros/operator.h.m4:
3494         * sigc++/adaptors/lambda/macros/select.h.m4: Deprecate everything.
3495         * sigc++/macros/template.macros.m4: Add deprecation macros.
3496         * sigc++config.h.in: Add #undef SIGCXX_DISABLE_DEPRECATED.
3497         * tests/test_lambda.cc: Skip test if SIGCXX_DISABLE_DEPRECATED is defined.
3498         Bug #672555.
3499
3500 2013-02-26  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3501
3502         Add track_obj() and test_track_obj.
3503
3504         * sigc++/.gitignore: Add adaptors/track_obj.h.
3505         * sigc++/adaptors/adaptors.h: Add sigc++/adaptors/track_obj.h.
3506         * sigc++/adaptors/lambda/macros/group.h.m4:
3507         * sigc++/adaptors/macros/adaptor_trait.h.m4: Mention track_obj() in the
3508         documentation.
3509         * sigc++/adaptors/macros/track_obj.h.m4: New file.
3510         * sigc++/filelist.am: Add track_obj.h.m4 and track_obj.h.
3511         * tests/.gitignore:
3512         * tests/Makefile.am: Add test_track_obj.
3513         * tests/test_cpp11_lambda.cc: Use track_obj() to test auto-disconnection.
3514         * tests/test_track_obj.cc: New test case.
3515         Bug #672555.
3516
3517 2013-01-07  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3518
3519         Documentation: Fix many warnings from Doxygen.
3520
3521         * configure.ac: Require mm-common 0.9.6 or later.
3522         * docs/reference/Doxyfile.in: Don't warn for undocumented classes and structs.
3523         * sigc++/adaptors/macros/bind.h.m4:
3524         * sigc++/adaptors/macros/bind_return.h.m4:
3525         * sigc++/adaptors/macros/compose.h.m4:
3526         * sigc++/adaptors/macros/hide.h.m4:
3527         * sigc++/connection.h:
3528         * sigc++/macros/limit_reference.h.m4: Make all parameter names in @param
3529         commands equal to the corresponding names in the function declarations.
3530         * sigc++/signal_base.h: Remove an extraneous period that confuses Doxygen.
3531         * sigc++/type_traits.h: Add a missing @code/@endcode pair.
3532
3533 2012-10-18  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3534
3535         Test cases: Report pass/fail with exit status.
3536
3537         * tests/testutilities.[h|cc]: New files. Code common to all test cases.
3538         * tests/*.cc: Use class TestUtilities. Don't print anything
3539         if the test passes. Return EXIT_FAILURE if the test fails.
3540         * tests/Makefile.am: Add testutilities.[h|cc] to all test cases.
3541         Bug #684956.
3542
3543 2012-10-18  Murray Cumming  <murrayc@murrayc.com>
3544
3545         2.3.1
3546
3547 2012-10-18  Murray Cumming  <murrayc@murrayc.com>
3548
3549         Update the Doxyfile.in syntax.
3550
3551         * docs/reference/Doxyfile.in: By running doxygen -u
3552         on it.
3553
3554 2012-10-17  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3555
3556         Add some missing newin{}.
3557
3558         * docs/reference/Doxyfile.in: Add ALIASES newin.
3559         * sigc++/functors/macros/functor_trait.h.m4: Add newin{2,2,11} to
3560         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
3561         * sigc++/signal_base.h: Add newin{2,4} to signal_impl::blocked(), block() and
3562         signal_base::blocked(), block(), unblock(). Bug #153780.
3563
3564 2012-10-12  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3565
3566         signal_base: Add blocked(), block(), unblock().
3567
3568         * sigc++/signal_base.[h|cc]: Add signal_impl::blocked(), block() and
3569         signal_base::blocked(), block(), unblock(). Bug #153780.
3570
3571 2012-09-23  Murray Cumming  <murrayc@murrayc.com>
3572
3573         2.2.11
3574
3575 2012-09-20  Andris Pavenis  <andris.pavenis@iki.fi>
3576
3577         Fix comma operator in lambda expressions.
3578
3579         * sigc++/adaptors/lambda/macros/operator.h.m4: Add lambda_action<>
3580         specialization for comma operator (operator,()).
3581         * tests/test_cpp11_lambda.cc:
3582         * tests/test_lambda.cc: Add a test case for the comma operator. Bug #342911.
3583
3584 2012-09-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3585
3586         Add SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE.
3587
3588         * sigc++/adaptors/lambda/macros/base.h.m4:
3589         * sigc++/adaptors/lambda/macros/group.h.m4:
3590         * sigc++/functors/macros/functor_trait.h.m4:
3591         * tests/test_cpp11_lambda.cc: Replace the preprocessor macro
3592         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH(C_keyword) with
3593         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE. Bug #672555.
3594
3595 2012-09-10  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3596
3597         Correct a bug number in ChangeLog.
3598
3599 2012-09-10  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3600
3601         Use std::size_t and std::ptrdiff_t.
3602
3603         * sigc++/macros/signal.h.m4: Use std::size_t and std::ptrdiff_t instead
3604         of ::size_t and ::ptrdiff_t. Only the std versions are required to be
3605         declared in <cstddef>.
3606         * sigc++/signal_base.h: Use std::size_t instead of ::size_t. (I did not change
3607         MSVC++-only code in this file and other files.)
3608
3609 2012-09-07  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3610
3611         Fix 'make check' with gcc 4.7.
3612
3613         * sigc++/adaptors/lambda/macros/base.h.m4: Define sigc::unwrap_lambda_value()
3614         before it's used in sigc::lambda::operator[]() and operator=().
3615         * sigc++/adaptors/lambda/macros/group.h.m4: Fix the C++11 examples in the
3616         documentation as in test_cpp11_lambda.cc.
3617         * tests/test_cpp11_lambda.cc: Only variables with automatic storage duration
3618         shall be captured in C++11 lambda expressions.
3619
3620 2012-08-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3621
3622         Update .gitignore and tests/.gitignore
3623
3624         * .gitignore: Add *~ (gedit's backup files).
3625         * tests/.gitignore: Add missing executable test files.
3626
3627 2012-08-28  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3628
3629         Add SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH for C++11 lambda expressions.
3630
3631         * sigc++/functors/macros/functor_trait.h.m4: Add the preprocessor macro
3632         SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH(C_keyword), which makes it possible to
3633         assign C++11 lambda expressions with any return type to slots.
3634         Thanks to Chow Loong Jin, who posted similar code on libsigc-list.
3635         * sigc++/adaptors/lambda/macros/base.h.m4:
3636         * sigc++/adaptors/lambda/macros/group.h.m4: Add information on C++11 lambda
3637         expressions to the documentation of lambda expressions and sigc::group().
3638         * tests/Makefile.am: Add test_cpp11_lambda.cc.
3639         * tests/test_cpp11_lambda.cc: New test case, showing that most uses of
3640         libsigc++'s lambda expressions can be replaced by standard C++11 lambda
3641         expressions. Bug #672555.
3642
3643 2012-03-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3644
3645         Enable test_lambda in 'make check'.
3646
3647         * tests/Makefile.am: Enable test_lambda in 'make check'.
3648         * tests/test_lambda.cc: Comment out the tests with sigc::ref() in lambda
3649         functions' parameter lists. See Bug #669128.
3650
3651 2012-02-29  Andre Klapper  <ak-47@gmx.net>
3652
3653         Add missing bug-database entry to DOAP file
3654
3655 2011-09-22  Krzesimir Nowak  <qdlacz@gmail.com>
3656
3657         Don't use obsolete macros.
3658
3659         * autogen.sh: Warn about everything during autoreconf.
3660         * build/cxx.m4:
3661         * build/cxx_std.m4: Replaced AC_TRY_COMPILE with AC_COMPILE_IFELSE.
3662         * configure.ac: Use LT_INIT.
3663
3664 2011-07-25  Murray Cumming  <murrayc@murrayc.com>
3665
3666         2.2.10
3667
3668 2011-07-21  Thomas Rydzynski  <qsorix@rydznet.pl>
3669
3670         Mention visit_each() in the documentation of sigc::adapts.
3671
3672         * sigc++/adaptors/macros/adaptor_trait.h.m4: Mention that a user-supplied
3673         adaptor must be accompanied by a specialization of template function
3674         visit_each(). Correct some minor errors in the example of a user-supplied
3675         adaptor. Bug #486373.
3676
3677 2011-07-20  Murray Cumming  <murrayc@murrayc.com>
3678
3679         Missing changes from the previous commit.
3680
3681 2011-07-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3682
3683         Add a test case for the previous commit.
3684
3685         * tests/Makefile.am:
3686         * tests/test_bind_refptr.cc: A version of this test is also in glibmm.
3687         Note that this includes a copy/paste of RefPtr.
3688         See Bug #564005#14
3689
3690 2011-07-19  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3691
3692         slot_rep: Avoid access to deleted object in notify().
3693
3694         * sigc++/functors/slot_base.cc: slot_rep::notify() calls disconnect() before
3695         destroy(). If disconnect() has deleted the slot_rep object, destroy() is not
3696         called. Bug #564005.
3697
3698 2011-05-24  Olav Vitters  <olav@vitters.nl>
3699
3700         Use tar-ustar instead of tar-pax to ensure OpenBSD compatibility
3701
3702 2011-03-08  Murray Cumming  <murrayc@murrayc.com>
3703
3704         2.2.9
3705
3706 2011-02-22  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>
3707
3708         trackable: Avoid calling the same callback function twice
3709
3710         * sigc++/trackable.cc: Invalidate a callback function entry in
3711         trackable_callback_list::remove_callback() when the list is being cleared.
3712         Bug 589202.
3713
3714 2011-02-04  Kalev Lember  <kalev@smartlink.ee>
3715
3716         Fix the build with GCC 4.6
3717
3718         * sigc++/signal_base.h: Include <cstddef> for size_t.
3719
3720 2010-10-12  David King  <davidk@openismus.com>
3721
3722         Update .gitignore and tests/.gitignore
3723
3724 2010-10-12  David King  <davidk@openismus.com>
3725
3726         Documentation changes
3727
3728         * *.h.m4: Minor changes to documentation to fix up code example
3729         formatting, by removing the additional two spaces of indentation.
3730         Additionally, fix some spelling and grammar mistakes and typos.
3731
3732 2010-09-26  Armin Burgmeier  <armin@arbur.net>
3733
3734         Add support for 64 bit to MSVC project files
3735
3736 2010-09-27  Armin Burgmeier  <armin@arbur.net>
3737
3738         * MSVC_Net2005/libsigc++2.sln:
3739         * MSVC_Net2005/libsigc++2.vcproj:
3740         * MSVC_Net2005/tests/test_accumulated/test_accumulated.vcproj:
3741         * MSVC_Net2005/tests/test_bind/test_bind.vcproj:
3742         * MSVC_Net2005/tests/test_bind_return/test_bind_return.vcproj:
3743         * MSVC_Net2005/tests/test_compose/test_compose.vcproj:
3744         * MSVC_Net2005/tests/test_deduce_result_type/test_deduce_result_type.vcproj:
3745         * MSVC_Net2005/tests/test_disconnect/test_disconnect.vcproj:
3746         * MSVC_Net2005/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj:
3747         * MSVC_Net2005/tests/test_exception_catch/test_exception_catch.vcproj:
3748         * MSVC_Net2005/tests/test_functor_trait/test_functor_trait.vcproj:
3749         * MSVC_Net2005/tests/test_hide/test_hide.vcproj:
3750         * MSVC_Net2005/tests/test_mem_fun/test_mem_fun.vcproj:
3751         * MSVC_Net2005/tests/test_ptr_fun/test_ptr_fun.vcproj:
3752         * MSVC_Net2005/tests/test_retype/test_retype.vcproj:
3753         * MSVC_Net2005/tests/test_retype_return/test_retype_return.vcproj:
3754         * MSVC_Net2005/tests/test_signal/test_signal.vcproj:
3755         * MSVC_Net2005/tests/test_size/test_size.vcproj:
3756         * MSVC_Net2005/tests/test_slot/test_slot.vcproj:
3757         * MSVC_Net2005/tests/test_trackable/test_trackable.vcproj:
3758         * MSVC_Net2008/libsigc++2.sln:
3759         * MSVC_Net2008/libsigc++2.vcproj:
3760         * MSVC_Net2008/tests/test_accumulated/test_accumulated.vcproj:
3761         * MSVC_Net2008/tests/test_bind/test_bind.vcproj:
3762         * MSVC_Net2008/tests/test_bind_return/test_bind_return.vcproj:
3763         * MSVC_Net2008/tests/test_compose/test_compose.vcproj:
3764         * MSVC_Net2008/tests/test_deduce_result_type/test_deduce_result_type.vcproj:
3765         * MSVC_Net2008/tests/test_disconnect/test_disconnect.vcproj:
3766         * MSVC_Net2008/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj:
3767         * MSVC_Net2008/tests/test_exception_catch/test_exception_catch.vcproj:
3768         * MSVC_Net2008/tests/test_functor_trait/test_functor_trait.vcproj:
3769         * MSVC_Net2008/tests/test_hide/test_hide.vcproj:
3770         * MSVC_Net2008/tests/test_mem_fun/test_mem_fun.vcproj:
3771         * MSVC_Net2008/tests/test_ptr_fun/test_ptr_fun.vcproj:
3772         * MSVC_Net2008/tests/test_retype/test_retype.vcproj:
3773         * MSVC_Net2008/tests/test_retype_return/test_retype_return.vcproj:
3774         * MSVC_Net2008/tests/test_signal/test_signal.vcproj:
3775         * MSVC_Net2008/tests/test_size/test_size.vcproj:
3776         * MSVC_Net2008/tests/test_slot/test_slot.vcproj:
3777         * MSVC_Net2008/tests/test_trackable/test_trackable.vcproj:
3778         * MSVC_Net2010/libsigc++2.vcxproj:
3779         * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj:
3780         * MSVC_Net2010/tests/test_bind/test_bind.vcxproj:
3781         * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj:
3782         * MSVC_Net2010/tests/test_compose/test_compose.vcxproj:
3783         * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj:
3784         * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj:
3785         * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj:
3786
3787 2010-09-26  Armin Burgmeier  <armin@arbur.net>
3788
3789         Add test_accumulated to the MSVC projects
3790
3791 2010-09-27  Armin Burgmeier  <armin@arbur.net>
3792
3793         * MSVC_Net2005/libsigc++2.sln:
3794         * MSVC_Net2005/tests/test_accumulated/test_accumulated.vcproj:
3795         * MSVC_Net2008/libsigc++2.sln:
3796         * MSVC_Net2008/tests/test_accumulated/test_accumulated.vcproj: Add
3797         test_accumulated to the MSVC projects.
3798
3799 2010-09-20  Armin Burgmeier  <armin@arbur.net>
3800
3801         Added MSVC 2010 project files
3802
3803 2010-09-19  Armin Burgmeier  <armin@arbur.net>
3804
3805         * MSVC_Net2010/filelist.am:
3806         * MSVC_Net2010/libsigc++2.sln:
3807         * MSVC_Net2010/libsigc++2.vcxproj:
3808         * MSVC_Net2010/libsigc++2.vcxproj.filters:
3809         * MSVC_Net2010/sigc.rc.in:
3810         * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj:
3811         * MSVC_Net2010/tests/test_accumulated/test_accumulated.vcxproj.filters:
3812         * MSVC_Net2010/tests/test_bind/test_bind.vcxproj:
3813         * MSVC_Net2010/tests/test_bind/test_bind.vcxproj.filters:
3814         * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj:
3815         * MSVC_Net2010/tests/test_bind_return/test_bind_return.vcxproj.filters:
3816         * MSVC_Net2010/tests/test_compose/test_compose.vcxproj:
3817         * MSVC_Net2010/tests/test_compose/test_compose.vcxproj.filters:
3818         * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj:
3819         * MSVC_Net2010/tests/test_deduce_result_type/test_deduce_result_type.vcxproj.filters:
3820         * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj:
3821         * MSVC_Net2010/tests/test_disconnect/test_disconnect.vcxproj.filters:
3822         * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj:
3823         * MSVC_Net2010/tests/test_disconnect_during_emit/test_disconnect_during_emit.vcxproj.filters:
3824         * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj:
3825         * MSVC_Net2010/tests/test_exception_catch/test_exception_catch.vcxproj.filters:
3826         * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj:
3827         * MSVC_Net2010/tests/test_functor_trait/test_functor_trait.vcxproj.filters:
3828         * MSVC_Net2010/tests/test_hide/test_hide.vcxproj:
3829         * MSVC_Net2010/tests/test_hide/test_hide.vcxproj.filters:
3830         * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj:
3831         * MSVC_Net2010/tests/test_mem_fun/test_mem_fun.vcxproj.filters:
3832         * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj:
3833         * MSVC_Net2010/tests/test_ptr_fun/test_ptr_fun.vcxproj.filters:
3834         * MSVC_Net2010/tests/test_retype/test_retype.vcxproj:
3835         * MSVC_Net2010/tests/test_retype/test_retype.vcxproj.filters:
3836         * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj:
3837         * MSVC_Net2010/tests/test_retype_return/test_retype_return.vcxproj.filters:
3838         * MSVC_Net2010/tests/test_signal/test_signal.vcxproj:
3839         * MSVC_Net2010/tests/test_signal/test_signal.vcxproj.filters:
3840         * MSVC_Net2010/tests/test_size/test_size.vcxproj:
3841         * MSVC_Net2010/tests/test_size/test_size.vcxproj.filters:
3842         * MSVC_Net2010/tests/test_slot/test_slot.vcxproj:
3843         * MSVC_Net2010/tests/test_slot/test_slot.vcxproj.filters:
3844         * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj:
3845         * MSVC_Net2010/tests/test_trackable/test_trackable.vcxproj.filters:
3846
3847         * Makefile.am:
3848         * configure.ac: Added project files for Visual Studio 2010.
3849
3850 2010-06-05  David King  <davidk@openismus.com>
3851
3852         Small website updates
3853
3854         * docs/index.html: Remove broken namespace links.
3855         * docs/website/doc.shtml: Link to library.gnome.org tutorial and API
3856         reference.
3857
3858 2010-06-04  Murray Cumming  <murrayc@murrayc.com>
3859
3860         2.2.8
3861
3862 2010-06-04  Murray Cumming  <murrayc@murrayc.com>
3863
3864         Manual: Add an id=index attribute in case that helps library.gnome.org.
3865
3866         * docs/manual/libsigc_manual.xml: Add it to the <book> tag.
3867
3868 2010-05-04  Murray Cumming  <murrayc@murrayc.com>
3869
3870         2.2.7
3871
3872 2010-05-04  Murray Cumming  <murrayc@murrayc.com>
3873
3874         Documentation improvements.
3875
3876         * docs/manual/libsigc_manual.xml: Remove Marshallers section because
3877         it is apparently outdated and there is no example code to test it.
3878         This fixes bug #417924 (Michael Ekstrand)
3879         Also changed LibSigC++ to libsigc++ for consistency.
3880         * sigc++/sigc++.h: Main page text: Rearranged slightly.
3881
3882 2010-04-27  David King  <davidk@openismus.com>
3883
3884         Improvements to main page documentation
3885
3886         * sigc++/sigc++.h: Minor improvements.
3887
3888 2010-04-23  David King  <davidk@openismus.com>
3889
3890         Add main page to Doxygen documentation
3891
3892         * docs/Makefile.am: Parse sigc++/sigc++.h for documentation.
3893         * sigc++/sigc++.h: Add main page to Doxygen documentation.
3894
3895 2010-04-23  David King  <davidk@openismus.com>
3896
3897         Fix the functors Doxygen group in the m4 files
3898
3899         * sigc++/functors/macros/functor_trait.h.m4:
3900         * sigc++/functors/macros/mem_fun.h.m4:
3901         * sigc++/functors/macros/ptr_fun.h.m4: Rename functors to
3902         sigcfunctors.
3903
3904 2010-04-16  Murray Cumming  <murrayc@murrayc.com>
3905
3906         2.2.6
3907
3908 2010-04-16  Murray Cumming  <murrayc@murrayc.com>
3909
3910         Docs: Fix the functors group and the link from the overview.
3911
3912         * docs/website/doc.shtml: Revert this to point to the overview page at
3913         docs/indeex.html, which I have manually uploaded to the website, until
3914         we add this overview to the doxygen-generated documentation itself.
3915         * sigc++/functors/slot_base.h:
3916         * sigc++/visit_each.h: Rename the functors doxygen group to sigcfunctors,
3917         because doxygen seems to confuse it with the one in libstdc++.
3918         * docs/index.html: Update the links.
3919
3920 2010-04-16  Murray Cumming  <murrayc@murrayc.com>
3921
3922         Website: Fix the Makefile so upload works with sourceforge again.
3923
3924 2010-04-06  Murray Cumming  <murrayc@murrayc.com>
3925
3926         Website: Update the reference API link.
3927
3928         * docs/website/doc.shtml: Update the reference API link to use
3929         library.gnome.org. We should make sure that the tutorial docbook is there
3930         too.
3931         * docs/website/devel.shtml: Remove CVS-specific instructions, quickly
3932         mentioning the git module instead.
3933         However, the Makefile must be updated to cope with sourceforge's changes.
3934         I was not able to upload this yet.
3935
3936 2010-03-29  Murray Cumming  <murrayc@murrayc.com>
3937
3938         2.2.5
3939
3940 2010-01-06  Daniel Elstner  <daniel.kitta@gmail.com>
3941
3942         Use non-blurry font for dot graph labels
3943
3944         * docs/reference/Doxyfile.in (SHOW_INCLUDE_FILES): Enable.
3945         (SHOW_USED_FILES): Disable.
3946         (DOT_FONTNAME): Change from FreeSans to Sans, as the hinting for the
3947         former appears to be rather bad.
3948         (TEMPLATE_RELATIONS): Disable to reduce noise.
3949
3950 2009-12-29  Murray Cumming  <murrayc@murrayc.com>
3951
3952         Accumulators: Allow return types that are different to the signal's.
3953
3954         * sigc++/macros/signal.h.m4: signal_emit*: Correct the slot_iterator_buf_type
3955         and slot_reverse_iterator_buf_type typedefs to allow accumulators with
3956         return types that are different to the signal's return type.
3957         * tests/Makefile.am: Reenable test_accumulated, so we can test the fix.
3958         It should be manually disabled if building on AIX (if the AIX problem cannot
3959         be fixed properly).
3960         * tests/test_accumulated.cc: Add an accumulator with a return type that is
3961         different to the signal's return type. In this case it's a vector listing
3962         all results.
3963         Bug #586436.
3964
3965 2009-12-27  Daniel Elstner  <daniel.kitta@gmail.com>
3966
3967         Disable collaboration graphs in documentation
3968
3969         * docs/reference/Doxyfile.in (CLASS_DIAGRAMS): Enable.  Contrary to
3970         what the Doxygen documentation says, no dot class inheritance graphs
3971         will be generated if both CLASS_DIAGRAMS and COLLABORATION_GRAPH are
3972         set to NO.
3973         (COLLABORATION_GRAPH), (GROUP_GRAPHS): Turn off additional graphs to
3974         reduce the noise.
3975
3976 2009-10-26  Armin Burgmeier  <armin@arbur.net>
3977
3978         Fix build with MSVC
3979
3980 2009-10-26  Armin Burgmeier  <armin@arbur.net>
3981
3982         * sigc++config.h: Move the first five definitions to the !SIGC_MSC
3983         ifdef block, so MSVC does not see them and only uses the definitions
3984         from the SIGC_MSC block. This fixes the build with MSVC.
3985
3986 2009-09-19  Daniel Elstner  <daniel.kitta@gmail.com>
3987
3988         Support Automake silent rules
3989
3990         * configure.ac: Call the AM_SILENT_RULES macro if it is defined.
3991         * docs/doc-manual.am, sigc++/Makefile.am: Prefix the commands of
3992         custom rules with $(AM_V_GEN) or $(AM_V_at) in order to support
3993         the silent rules feature of Automake.
3994
3995 2009-09-18  Michael Hasselmann  <michaelh@openismus.com>
3996
3997         Documentation cleanup: sigc::hide() always only hides one signal argument
3998
3999         * sigc++/adaptors/macros/hide.h.m4: The documentation stated that sigc::hide()
4000         could discard multiple signal arguments when in fact the whole API only allows
4001         control over one (dummy) signal argument at a time. The  "multiple argument
4002         hiding" example lives in it own section now to make it clearer you have to nest
4003         sigc::hide() for that.
4004
4005 2009-09-13  Daniel Elstner  <daniel.kitta@gmail.com>
4006
4007         Enable verbose output of autoreconf
4008
4009         * autogen.sh: Pass --verbose option to autoreconf.
4010
4011 2009-09-07  Daniel Elstner  <danielk@openismus.com>
4012
4013         Delete obsolete MAINTAINERS file
4014
4015 2009-09-02  Daniel Elstner  <danielk@openismus.com>
4016
4017         Bump version to 2.2.4.2 and update NEWS
4018
4019         * configure.ac (AC_INIT): Increment version number to 2.2.4.2.
4020         (MM_PREREQ): Require mm-common 0.7.2.
4021         * NEWS: Write news entry for libsigc++ 2.2.4.2.
4022
4023 2009-09-02  Daniel Elstner  <danielk@openismus.com>
4024
4025         Document namespace sigc briefly
4026
4027         * sigc++/signal_base.h (sigc): Prepend documentation comment to
4028         provide a brief description of namespace sigc, so that Doxygen
4029         will recognize the namespace as documented.
4030
4031 2009-08-31  Daniel Elstner  <danielk@openismus.com>
4032
4033         Update Doxygen configuration for Doxygen 1.6.1
4034
4035         * docs/reference/Doxyfile.in: Update configuration template using
4036         Doxygen 1.6.1.
4037         (SORT_MEMBERS_CTORS_1ST): Enable.
4038
4039 2009-08-31  Daniel Elstner  <danielk@openismus.com>
4040
4041         Protect space after comma in M4 output
4042
4043         * sigc++/macros/template.macros.m4 (_LOOP_SEP): Triple-quote the
4044         list separator in this hairy construct, since the macro definition
4045         itself is not quoted at all and the space after the comma got lost
4046         in the output.  This, in turn, produced overlong lines in the HTML
4047         reference documentation.
4048
4049 2009-08-28  Daniel Elstner  <danielk@openismus.com>
4050
4051         Update news entry for libsigc++ 2.2.4.1 release
4052
4053         * NEWS: Update top entry for release 2.2.4.1 of libsigc++.
4054         (2.2.4): Correct spelling of Frédéric Péters' name.
4055
4056 2009-08-27  Daniel Elstner  <danielk@openismus.com>
4057
4058         Use shared mm-common Doxygen style sheet
4059
4060         * configure.ac (MM_PREREQ): Require mm-common 0.7.
4061         * docs/Makefile.am (dist_noinst_DATA): List doxygen.css.
4062         * docs/reference/Doxyfile.in (HTML_STYLESHEET): Assign path
4063         to the shared doxygen.css provided by mm-common.
4064
4065 2009-08-27  Daniel Elstner  <danielk@openismus.com>
4066
4067         Remove header and footer HTML fragments
4068
4069         * docs/reference/libsigc_{header,footer}.html_fragment: Delete
4070         files.  These custom fragments were an unnecessary maintenance
4071         hassle.  Also, the files were out of date with respect to the
4072         encoding and CSS classes used by Doxygen.
4073         * docs/reference/Doxyfile.in (HTML_HEADER), (HTML_FOOTER): Set
4074         to the empty string.
4075         (PROJECT_NAME): Substitute @PACKAGE_NAME@.
4076         (PROJECT_NUMBER): Substitute @PACKAGE_VERSION@.  It does look
4077         nicer in the generated HTML pages, and is probably also less
4078         confusing.
4079         (SORT_GROUP_NAMES): Enable for predictability.
4080
4081 2009-08-27  Daniel Elstner  <danielk@openismus.com>
4082
4083         Change version of upcoming release to 2.2.4.1
4084
4085         * configure.ac (AC_INIT): Adjust version number to 2.2.4.1.
4086         * NEWS: Correct version of top news entry to 2.2.4.1.
4087
4088 2009-08-26  Daniel Elstner  <danielk@openismus.com>
4089
4090         Bump version to 2.2.5 and update NEWS
4091
4092         * configure.ac (AC_INIT): Increment version number to 2.2.5.
4093         * NEWS: Write news entry for libsigc++ 2.2.5.
4094
4095 2009-08-26  Daniel Elstner  <danielk@openismus.com>
4096
4097         Reenable hierarchy graphs for each class
4098
4099         * docs/reference/Doxyfile.in (COLLABORATION_GRAPH): Set option
4100         to YES to enable the per-class inheritance graphs.
4101
4102 2009-08-25  Daniel Elstner  <danielk@openismus.com>
4103
4104         Have Automake check NEWS and use bzip2
4105
4106         * configure.ac (AM_INIT_AUTOMAKE): Add options check-news and
4107         dist-bzip2.
4108
4109 2009-08-25  Daniel Elstner  <danielk@openismus.com>
4110
4111         Update NEWS for libsigc++ 2.2.4 release
4112
4113 2009-08-25  Daniel Elstner  <danielk@openismus.com>
4114
4115         Bump version to 2.2.4 and require mm-common 0.6.1
4116
4117         * configure.ac (AC_INIT): Increase version number to 2.2.4.
4118         (MM_PREREQ): Require mm-common 0.6.1 for the updated default
4119         location of the reference documentation.
4120
4121 2009-08-25  Daniel Elstner  <danielk@openismus.com>
4122
4123         Change documentation host to library.gnome.org
4124
4125         * README, docs/manual/libsigc_manual.xml: Adjust links to the
4126         reference documentation in the text.
4127         * docs/Makefile.am (pubdocbase), (htmlrefpub): Remove override
4128         and use the updated mm-common default values.
4129         * sigc++{,-uninstalled}.pc.in (htmlrefpub): Adjust link.
4130
4131 2009-08-24  Daniel Elstner  <danielk@openismus.com>
4132
4133         Add id="content" element to documentation index
4134
4135         * docs/reference/libsigc_header.html_fragment: Start <div> element
4136         with attribute id="content" to match the other C++ binding modules.
4137         * docs/reference/libsigc_footer.html_fragment: Close <div> element.
4138
4139 2009-08-20  Daniel Elstner  <danielk@openismus.com>
4140
4141         Use new version component substitutions
4142
4143         * MSVC_Net200[58]/sigc.rc.in: Replace the no longer defined
4144         @FP_*_VERSION@ substitutions by the new @SIGCXX_*_VERSION@
4145         substitutions for the version number components.  These are
4146         defined by MM_INIT_MODULE() from mm-common.
4147
4148 2009-08-20  Daniel Elstner  <danielk@openismus.com>
4149
4150         Substitute API version in filenames dynamically
4151
4152         * sigc++.pc.in: Rename file from sigc++-2.0.pc.in.
4153         * sigc++-uninstalled.pc.in: Rename file from
4154         sigc++-2.0-uninstalled.pc.in.
4155         * MSVC_Net200[58]/sigc.rc.in: Rename files from sigc-2.0.rc.in
4156         and use @SIGCXX_API_VERSION@ substitution for the API version.
4157         Also replace @VERSION@ with @PACKAGE_VERSION@.
4158         * MSVC_Net200[58]/libsigc++2.{sln,vcproj}: Remove version from
4159         the project name and filenames.
4160         * MSVC_Net200[58]/filelist.am: Remove version from filenames.
4161         * configure.ac (AC_CONFIG_FILES): Insert ${SIGCXX_MODULE_NAME}
4162         into output filenames and remove the version from the input
4163         filenames.
4164         * Makefile.am: Use $(SIGCXX_MODULE_NAME) in pkg-config file
4165         names instead of hard-coding the API version.
4166         * sigc++/Makefile.am (lib_LTLIBRARIES): Instead of hard-coding
4167         the libtool archive name, substitute @SIGCXX_API_VERSION@ into
4168         it, as well as into the derived variable names.
4169
4170 2009-08-17  Daniel Elstner  <danielk@openismus.com>
4171
4172         Set libtool version information
4173
4174         * sigc++/Makefile.am (libsigc_2_0_la_LDFLAGS): Add libtool option
4175         -version-info 0:0:0 to specify the version information explicitly.
4176
4177 2009-08-16  Daniel Elstner  <daniel.kitta@gmail.com>
4178
4179         Remove unused parameter names for correctness
4180
4181         * tests/test_copy_invalid_slot.cc, tests/test_custom.cc,
4182         tests/test_deduce_result_type.cc, tests/test_functor_trait.cc,
4183         tests/test_limit_reference.cc: Remove the names of unused function
4184         parameters from the prototype, in order to get libsigc++ to build
4185         with fatal compiler warnings.
4186
4187 2009-08-16  Daniel Elstner  <daniel.kitta@gmail.com>
4188
4189         Rename scripts/ to build/ for consistency
4190
4191         * build/: Rename directory from scripts/ for consistency with most
4192         of the other modules that switched to the new build infrastructure.
4193         * Makefile.am (ACLOCAL_AMFLAGS): Adjust M4 include directory.
4194         * README: Adjust a reference to scripts/ in the text.
4195         * configure.ac (AC_CONFIG_AUX_DIR): Copy auxiliary files to build/.
4196         (AC_CONFIG_MACRO_DIR): Place Autoconf M4 files into build/.
4197         * docs/Makefile.am: Include $(top_srcdir)/build/doc-reference.am.
4198
4199 2009-08-16  Daniel Elstner  <danielk@openismus.com>
4200
4201         Copy log entry into legacy ChangeLog file
4202
4203 2009-08-16  Daniel Elstner  <danielk@openismus.com>
4204
4205         Update for latest mm-common 0.4
4206
4207         * configure.ac (MM_PREREQ): Require mm-common 0.4.
4208         (MM_INIT_MODULE): Omit now optional version number argument.
4209         (MM_CONFIG_DOCTOOL_DIR): Copy the documentation utilities into docs/
4210         instead of scripts/.
4211         * Makefile.am (dist_noinst_DATA): Remove documentation utilities.
4212         * sigc++-2.0.pc.in (htmlrefpub): Append trailing slash.
4213         * sigc++-2.0-uninstalled.pc.in (htmlrefpub): ditto,
4214         * docs/Makefile.am (htmlrefpub): ditto.
4215         (doc_input): Perform a VPATH search for each input file, to correctly
4216         handle the case of rebuilding the documentation of a tarball release
4217         which includes the generated sources.
4218         (dist_noinst_DATA): List documentation utilities.
4219
4220 2009-08-11  Daniel Elstner  <danielk@openismus.com>
4221
4222         Do not recurse into MSVC subdirectories
4223
4224         * MSVC_Net200[58]/filelist.am: New Automake include files, defining
4225         the lists of files to ship from the MSVC project directories.
4226         * MSVC_Net200[58]/Makefile.am: Delete recursive Makefile.am files.
4227         * Makefile.am: Include MSVC_Net200[58]/filelist.am.
4228         (dist_noinst_DATA): Distribute MSVC project files.
4229         (SUBDIRS): Do not recurse into the MSVC_Net200[58] subdirectories.
4230         * configure.ac (AC_CONFIG_FILES): Remove the output files
4231         MSVC_Net200[58]/Makefile.am from the list.
4232         (AC_CONFIG_COMMANDS): Copy sigc++config.h into the MSVC project
4233         directories at the end of config.status.
4234
4235 2009-08-11  Daniel Elstner  <danielk@openismus.com>
4236
4237         Remove now superfluous doctool overrides
4238
4239         * docs/Makefile.am: Remove overrides for the documentation
4240         utilities, since MM_CONFIG_DOCTOOL_DIR() already takes care
4241         of setting MMDOCTOOLDIR to the local directory.
4242         * sigc++-2.0.pc.in (datadir): Substitute value, just in case.
4243
4244 2009-08-10  Daniel Elstner  <danielk@openismus.com>
4245
4246         List mm-common files in scripts/.gitignore
4247
4248 2009-08-10  Daniel Elstner  <danielk@openismus.com>
4249
4250         Have mm-common-prepare install the doc utils
4251
4252         * configure.ac: Call MM_CONFIG_DOCTOOL_DIR([scripts]) to set
4253         up the destination directory for mm-common-prepare to copy
4254         the documentation utilities to.
4255         * scripts/doc-install.pl: Delete file.
4256         * scripts/doc-postprocess.pl: ditto,
4257         * scripts/tagfile-to-devhelp2.xsl: ditto.
4258
4259 2009-08-09  Daniel Elstner  <danielk@openismus.com>
4260
4261         Refresh doc-install and doc-postprocess copies
4262
4263         * scripts/doc-install.pl, scripts/doc-postprocess.pl: Copy
4264         latest versions from the mm-common module.
4265         * docs/Makefile.am (doc_install), (doc_postprocess): Include
4266         $(PERL) interpreter command in front of the script name.
4267
4268 2009-08-08  Daniel Elstner  <danielk@openismus.com>
4269
4270         Disable extraction of undocumented identifiers
4271
4272         * docs/reference/Doxyfile.in (EXTRACT_ALL): Change setting to
4273         NO, and adapt a number of related options accordingly.  The
4274         result is a net loss of about 300 generated .html files.  The
4275         roughly 450 files which remain now are still an insanely high
4276         number, though.
4277         (PREDEFINED): Predefine the Autoconf configuration defines to
4278         nudge Doxygen towards documenting the canonical code paths.
4279
4280 2009-08-07  Daniel Elstner  <danielk@openismus.com>
4281
4282         Use #error explicitly instead of broken code
4283
4284         * sigc++config.h.in: Do use the #error preprocessor directive,
4285         instead of an errornous piece of code.  This code does not need
4286         the same level of obfuscation as an Autoconf feature test.
4287
4288 2009-08-07  Daniel Elstner  <danielk@openismus.com>
4289
4290         Change bug report URL to point to Bugzilla
4291
4292         * configure.ac (AC_INIT): Change the bug-report argument to the
4293         URL for filing a new libsigc++ bug on bugzilla.gnome.org.  Also
4294         name the website URL as fifth argument.  It will simply be ignored
4295         if the installed Autoconf does not support this new feature.
4296
4297 2009-08-07  Daniel Elstner  <danielk@openismus.com>
4298
4299         Do not enable -pedantic mode by default
4300
4301         * configure.ac (MM_ARG_ENABLE_WARNINGS): Remove -pedantic from the
4302         list of compiler flags to use at warning level "min" (the default).
4303
4304 2009-08-07  Daniel Elstner  <danielk@openismus.com>
4305
4306         Correct M4 forbidden tokens pattern
4307
4308         * configure.ac (m4_pattern_forbid): Take into account that the
4309         pattern is applied to tokens, not lines.  Also catch unexpanded
4310         calls to underscore-prefixed private macros.
4311
4312 2009-08-06  Daniel Elstner  <danielk@openismus.com>
4313
4314         Transition to new mm-common build infrastructure
4315
4316         * autogen.sh: Replace with a minimal script that simply executes
4317         mm-common-prepare, autoreconf and configure.
4318         * configure.ac: Get rid of an enormous amount of old cruft.  Use
4319         macros from the new mm-common module to set up Doxygen for building
4320         the documentation.  Add option to enable more compiler warnings.
4321         * sigc++-2.0-uninstalled.pc.in: New pkg-config data file to allow
4322         linking to an uninstalled libsigc++.
4323         * sigc++-2.0.pc.in: Modernize.  Provide the location of the
4324         installed reference documentation and the Doxygen tag file.
4325         * sigc++config.h.in: Modernize and update for new build
4326         infrastructure.
4327         * Makefile.am, */Makefile.am: Modernize and adapt to the new C++
4328         binding build infrastructure in the mm-common module.
4329         * sigc++/filelist.am: New Automake include file.  Defines lists
4330         of C++ and M4 source files.
4331         * docs/Makefile.am: Rewrite using doc-reference.am from the
4332         mm-common module.
4333         * docs/doc-manual.am: New Automake include file for building the
4334         libsigc++ Docbook manual.
4335         * docs/images/Makefile.am: Remove file.
4336         * docs/manual/Makefile.am: ditto,
4337         * docs/reference/Makefile.am: ditto.
4338         * docs/Makefile_web.am_fragment: Remove for now, to be taken care
4339         of later.
4340         * docs/reference/Doxyfile.in: Modernize and adapt to new build
4341         infrastructure.
4342         * docs/reference/beautify_docs.pl: Remove and use the more recent
4343         scripts/doc-postprocess.pl instead.
4344         * libsigc++-2.0.spec.in: Remove, to be resurrected only if someone
4345         complains.
4346         * scripts/Makefile.am: Remove file.  Distribute the files from the
4347         toplevel Makefile.am instead.
4348         * scripts/cxx_std.m4: Add missing third argument to AC_DEFINE().
4349         * scripts/doc-install.pl: New file, copied from mm-common.
4350         * scripts/doc-postprocess.pl: ditto,
4351         * scripts/tagfile-to-devhelp2.xsl: ditto.
4352
4353 2009-06-24  Daniel Elstner  <danielk@openismus.com>
4354
4355         Add Description of a Project (DOAP) file
4356
4357 2008-11-13  Murray Cumming  <murrayc@murrayc.com>
4358
4359         Correct the download link so it shows all versions, not just 2.0.
4360
4361 2008-11-13  Murray Cumming  <murrayc@murrayc.com>
4362
4363         * docs/website/stable.shtml: Correct the download link so it shows all 
4364         versions, not just 2.0.
4365
4366         svn path=/trunk/; revision=302
4367
4368 2008-10-15  Murray Cumming  <murrayc@src.gnome.org>
4369
4370         Increased version
4371
4372         svn path=/trunk/; revision=301
4373
4374 2008-10-08  Armin Burgmeier  <armin@arbur.net>
4375
4376         Changed output name to match the new naming convention.
4377
4378 2008-10-08  Armin Burgmeier  <armin@arbur.net>
4379
4380         * MSVN_Net2005/libsigc++2.vcproj: Changed output name to match the new
4381         naming convention.
4382
4383         * MSVC_Net2008/: Added MSVC 2008 project files. These are basically
4384         the same as for MSVC 2005, but converted to MSVC 2008 projects.
4385
4386         * configure.ac:
4387         * Makefile.am: Added the new files to the build.
4388
4389         svn path=/trunk/; revision=300
4390
4391 2008-08-08  Armin Burgmeier  <armin@arbur.net>
4392
4393         Enable the disconnect_during_emit test by default.
4394
4395 2008-08-08  Armin Burgmeier  <armin@arbur.net>
4396
4397         * MSVC_Net2005/libsigc++2.sln: Enable the disconnect_during_emit test
4398         by default.
4399
4400         * MSVC_Net2005/libsigc++2.vcproj: Renamed the generated debug database
4401         file to sigc-2.0d.pdb (the default), to stay consistent with the *mm
4402         wrapper libraries.
4403
4404         svn path=/trunk/; revision=299
4405
4406 2008-08-08  Armin Burgmeier  <armin@arbur.net>
4407
4408         Moved from MSVC_Net2003.
4409
4410 2008-08-08  Armin Burgmeier  <armin@arbur.net>
4411
4412         * MSVC_Net2005/: Moved from MSVC_Net2003.
4413
4414         * MSVC_Net2005/libsigc++2.sln:
4415         * MSVC_Net2005/libsigc++2.vcproj:
4416         * MSVC_Net2005/tests/*/*.vcproj: Converted the Visual Studio 2003
4417         project files to 2005 ones.
4418
4419         * MSVC_Net2005/Makefile.am:
4420         * Makefile.am:
4421         * configure.ac: Adapted build files accordingly.
4422
4423         svn path=/trunk/; revision=298
4424
4425 2008-04-06  Cedric Gustin  <cedric.gustin@gmail.com>
4426
4427         Removed ATL/MFC header files dependency as afxres.h is not part of the
4428
4429         2008-04-06 Cedric Gustin <cedric.gustin@gmail.com>
4430
4431         * MSVC_Net2003/sigc-2.0.rc.in: Removed ATL/MFC header files 
4432         dependency as afxres.h is not part of the Microsoft Platform
4433         SDK provided with Visual C++ Express 2008.
4434         Bug #503933.
4435
4436         svn path=/trunk/; revision=297
4437
4438 2008-03-10  Murray Cumming  <murrayc@src.gnome.org>
4439
4440         Increased version
4441
4442         svn path=/trunk/; revision=296
4443
4444 2008-02-28  Murray Cumming  <murrayc@src.gnome.org>
4445
4446         Increased version
4447
4448         svn path=/trunk/; revision=295
4449
4450 2008-02-28  Elaine Xiong  <elaine.xiong@sun.com>
4451
4452         Add ifdefs around uses of reverse_iterator to really fix the build with
4453
4454 2008-02-28  Elaine Xiong  <elaine.xiong@sun.com>
4455
4456         * sigc++/macros/signal.h.m4:
4457         * tests/test_accum_iter.cc: Add ifdefs around uses of 
4458         reverse_iterator to really fix the build with recent 
4459         versions of Sun CC.
4460         Bug #302098.
4461
4462         svn path=/trunk/; revision=294
4463
4464 2008-02-22  Murray Cumming  <murrayc@src.gnome.org>
4465
4466         Increased version
4467
4468         svn path=/trunk/; revision=293
4469
4470 2008-01-01  Ryan Hill  <dirtyepic@gentoo>
4471
4472         Include the cstdlib and cstring headers to fix the build with the gcc 4.3
4473
4474 2008-01-01  Ryan Hill  <dirtyepic@gentoo.>
4475
4476         * tests/test_copy_invalid_slot.cc: Include the cstdlib 
4477         and cstring headers to fix the build with the gcc 4.3 
4478         pre-release. Bug #454882.
4479
4480         svn path=/trunk/; revision=292
4481
4482 2007-12-09  Murray Cumming  <murrayc@murrayc.com>
4483
4484         Added some includes to fix the build in some environments, such as when
4485
4486 2007-08-31  Murray Cumming  <murrayc@murrayc.com>
4487
4488         * tests/test_copy_invalid_slot.cc: Added some includes to 
4489         fix the build in some environments, such as when using Sun CC.
4490         Thanks to Vladimir Marek in bug #469872.
4491
4492         svn path=/trunk/; revision=291
4493
4494 2007-09-10  Murray Cumming  <murrayc@src.gnome.org>
4495
4496         Mark version in ChangeLog
4497
4498         svn path=/trunk/; revision=290
4499
4500 2007-09-10  Murray Cumming  <murrayc@src.gnome.org>
4501
4502         Added MAINTAINERS file
4503
4504         svn path=/trunk/; revision=288
4505
4506 2007-08-14  Murray Cumming  <murrayc@src.gnome.org>
4507
4508         Increase version
4509
4510         svn path=/trunk/; revision=286
4511
4512 2007-08-14  Murray Cumming  <murrayc@murrayc.com>
4513
4514         Removed this header.
4515
4516 2007-08-14  Murray Cumming  <murrayc@murrayc.com>
4517
4518         * sigc++/Makefile.am:
4519         * sigc++/compatibility.h: Removed this header.
4520         * sigc++/bind.h:
4521         * sigc++/bind_return.h:
4522         * sigc++/connection.h:
4523         * sigc++/macros/class_slot.h.m4:
4524         * sigc++/macros/hide.h.m4:
4525         * sigc++/macros/method_slot.h.m4:
4526         * sigc++/macros/object_slot.h.m4:
4527         * sigc++/macros/retype.h.m4:
4528         * sigc++/macros/signal.h.m4:
4529         * sigc++/macros/slot.h.m4:
4530         * sigc++/object.h:
4531         * sigc++/retype_return.h: Removed deprecated 
4532         compatibility API, to probably fix the build with 
4533         some compilers, such as some versions of the Sun Forte C++ 
4534         CC compiler. This API has been deprecated April 2004, and 
4535         is not widely used, so it seems safe to do this now.
4536
4537         * tests/Makefile.am:
4538         * tests/test_compatibility.cc: Removed this test.
4539
4540         svn path=/trunk/; revision=285
4541
4542 2007-07-28  Michael Elkstrand  <michael@elehack.net>
4543
4544         slot_iterator_buf, slot_reverse_iterator_buf: Added typedefs for
4545
4546 2007-07-28  Michael Elkstrand  <michael@elehack.net>
4547
4548         * sigc++/macros/signal.h.m4: slot_iterator_buf, 
4549         slot_reverse_iterator_buf: Added typedefs for 
4550         value_type, reference, and pointer, so that these 
4551         iterators are more like standard C++ iterators, so they can 
4552         be used with standard C++ algorithms.  
4553         * tests/Makefile.am:
4554         * tests/test_accum_iter.cc: Added a test for this.
4555         Bug #417926.
4556
4557         svn path=/trunk/; revision=284
4558
4559 2006-11-14  Daniel Elstner  <daniel@src.gnome.org>
4560
4561         Wholly replace this script with a critter from one of my personal
4562
4563         * autogen.sh: Wholly replace this script with a critter from one
4564         of my personal projects, with slight modifications.  This one does
4565         some sophisticated stuff like probing version numbers of available
4566         automake and aclocal executables, in order to choose the right one
4567         accordingly.  All this is necessary to make the build system work
4568         robustly in custom environments such as Maemo where automake-1.9
4569         doesn't come preinstalled.
4570
4571 2006-06-20  Murray Cumming  <murrayc@murrayc.com>
4572
4573         Revert the previous changes, because none is used in the exported symbol
4574
4575 2006-06-20  Murray Cumming  <murrayc@murrayc.com>
4576
4577         * sigc++/adaptors/macros/bind.h.m4:
4578         * sigc++/adaptors/macros/retype.h.m4:
4579         * sigc++/functors/macros/functor_trait.h.m4:
4580         * sigc++/functors/macros/slot.h.m4:
4581         * sigc++/macros/retype.h.m4:
4582         * sigc++/macros/signal.h.m4: Revert the previous changes, because none is
4583         used in the exported symbol names from gtkmm, so this would break the ABI
4584         of gtkmm.
4585
4586 2006-06-06  Régis Duchesne  <hpreg@vmware.com>
4587
4588         Renamed 'nil' to 'none' to allow an Objective-C++ compiler to compile the
4589
4590         2006-05-26  Régis Duchesne <hpreg@vmware.com>
4591
4592         * sigc++/adaptors/macros/bind.h.m4:
4593         * sigc++/adaptors/macros/retype.h.m4:
4594         * sigc++/functors/macros/functor_trait.h.m4:
4595         * sigc++/functors/macros/slot.h.m4:
4596         * sigc++/macros/retype.h.m4:
4597         * sigc++/macros/signal.h.m4:
4598         Renamed 'nil' to 'none' to allow an Objective-C++ compiler to compile
4599         the library header files.
4600
4601 2005-12-21  Murray Cumming  <murrayc@murrayc.com>
4602
4603         Make remaining reverse_iterator_buf operator--() methods return by
4604
4605 2005-12-21  Murray Cumming  <murrayc@murrayc.com>
4606
4607         * sigc++/macros/signal.h.m4: Make remaining
4608         reverse_iterator_buf operator--() methods
4609         return by reference, like the operator++() methods.
4610         Bug #304402 from John Profic.
4611
4612 2005-12-20  Murray Cumming  <murrayc@murrayc.com>
4613
4614         Make all operator--() methods return by reference, like the operator++()
4615
4616 2005-12-20  Murray Cumming  <murrayc@murrayc.com>
4617
4618         * sigc++/macros/signal.h.m4: Make all operator--() methods
4619         return by reference, like the operator++() methods.
4620         Bug #304402 from John Profic.
4621
4622 2005-12-14  John Profic  <profic@kursknet.ru>
4623
4624         Fix compilation problem in the last patch.
4625
4626         2005-12-14  John Profic <profic@kursknet.ru>
4627
4628         * sigc++/macros/signal.h.m4: Fix compilation problem in
4629         the last patch.
4630
4631 2005-12-14  John Profic  <profic@kursknet.ru>
4632
4633         Added emit_reverse().
4634
4635         2005-12-14  John Profic <profic@kursknet.ru>
4636
4637         * sigc++/macros/signal.h.m4: Added emit_reverse().
4638
4639 2005-12-14  Murray Cumming  <murrayc@src.gnome.org>
4640
4641         mark branch in ChangeLog
4642
4643 2005-12-01  Murray Cumming  <murrayc@murrayc.com>
4644
4645         slot_base::disconnect(): Set call_ to 0, to invalidate the slot, even if
4646
4647         2005-12-01  Murray Cumming <murrayc@murrayc.com>
4648
4649         * sigc++/functors/slot_base.cc:
4650         slot_base::disconnect(): Set call_ to 0,
4651         to invalidate the slot, even if parent_ is 0.
4652         I think parent_ is, for instance, a signal, but
4653         disconnect should still work on a slot that is not
4654         connected to a signal, because a slot can be invoked
4655         directly.
4656         Fixes bug #311057 from James Lin.
4657
4658 2005-12-01  Murray Cumming  <murrayc@murrayc.com>
4659
4660         Added test case from bug #311057.
4661
4662         2005-12-01  Murray Cumming <murrayc@murrayc.com>
4663
4664         * tests/Makefile.am:
4665         * tests/test_slot_disconnect.cc: Added test
4666         case from bug #311057.
4667
4668 2005-11-16  Philipp Berndt  <philipp.berndt@gmx.net>
4669
4670         Make member exception_catch_functor<T_functor, T_catcher, void>::catcher_
4671
4672 2005-11-16  Philipp Berndt  <philipp.berndt@gmx.net>
4673
4674         * sigc++/adaptors/macros/exception_catch.h.m4: Make member
4675         exception_catch_functor<T_functor, T_catcher, void>::catcher_
4676         public so that it can be accessed by visit_each()
4677         (bug fixed for generalization on 2004-11-06)
4678         ~
4679
4680 2005-08-17  Murray Cumming  <murrayc@src.gnome.org>
4681
4682         Increased version. Forgot to commit this a few days ago.
4683
4684 2005-08-01  Neal E. Coombes  <nealc@trdlnk.com>
4685
4686         Updated the documentation for temp_slot_list as requested in bug #303896.
4687
4688 2005-08-01  Neal E. Coombes  <nealc@trdlnk.com>
4689
4690         * sigc++/signal_base.h: Updated the documentation for temp_slot_list
4691         as requested in bug #303896.
4692
4693 2005-08-01  Murray Cumming  <murrayc@murrayc.com>
4694
4695         Added missing ) in call to sun_forte_workaround(), fixing build on SUN
4696
4697 2005-07-13  Murray Cumming  <murrayc@murrayc.com>
4698
4699         * sigc++/adaptors/hide.h.m4: Added missing
4700         ) in call to sun_forte_workaround(), fixing
4701         build on SUN Forte 5.5. Bug #312020.
4702
4703 2005-08-01  Bruno Martinez  <brunom@fing.edu.uy>
4704
4705         Renamed ::sigc::is_base_and_derived::internal to
4706
4707         2005-08-19  Bruno Martinez <brunom@fing.edu.uy>
4708
4709         * sigc++/type_traits.h: Renamed
4710         ::sigc::is_base_and_derived::internal to
4711         ::sigc::is_base_and_derived::internal_class
4712         in order to avoid conflict with
4713         namespace internal.
4714
4715 2005-07-13  Murray Cumming  <murrayc@src.gnome.org>
4716
4717         fix typo.
4718
4719 2005-07-13  Murray Cumming  <murrayc@murrayc.com>
4720
4721         Correct mentions of 1.2 stuff instead of 2.0. Patch in bug #310213 from
4722
4723 2005-07-13  Murray Cumming  <murrayc@murrayc.com>
4724
4725         * docs/manual/libsigc_manual.xml: Correct mentions of
4726         1.2 stuff instead of 2.0. Patch in bug #310213 from
4727         pebble.org.uk.
4728
4729 2005-07-13  Murray Cumming  <murrayc@murrayc.com>
4730
4731         Fixed typo found by Antonio Coralles.
4732
4733 2005-07-13  Murray Cumming  <murrayc@murrayc.com>
4734
4735         * docs/manual/libsigc_manual.xml: Fixed typo
4736         found by Antonio Coralles.
4737
4738 2005-07-09  Murray Cumming  <murrayc@murrayc.com>
4739
4740         Did the same (see last commit) for slot_const_iterator and
4741
4742 2005-07-09  Murray Cumming  <murrayc@murrayc.com>
4743
4744         * sigc++/macros/signal.h.m4: Did the same (see
4745         last commit) for slot_const_iterator and
4746         slot_iterator_buf.
4747
4748 2005-07-09  Murray Cumming  <murrayc@murrayc.com>
4749
4750         slot_iterator: operator--() now returns value, not reference, like
4751
4752 2005-07-09  Murray Cumming  <murrayc@murrayc.com>
4753
4754         * sigc++/macros/signal.h.m4: slot_iterator:
4755         operator--() now returns value, not reference, like
4756         operator++() already did. This caused crashes when
4757         using --no-inline with g++. Bug #308651 by
4758         Michael Andres.
4759
4760 2005-07-04  Murray Cumming  <murrayc@src.gnome.org>
4761
4762         Increased version
4763
4764 2005-07-04  Philip Langdale  <plangdale@vmware.com>
4765
4766         Add a setter typedef to compose*_functor and use it instead of the
4767
4768 2005-07-04  Philip Langdale  <plangdale@vmware.com>
4769
4770         * sigc++/adaptors/macros/compose.h.m4: Add a setter typedef to
4771         compose*_functor and use it instead of the (incorrect) getter
4772         typedef in the compose* specialization of visit_each<>().
4773         This corrects the lifetime management of slots created with
4774         compose(). Bug #308433.
4775
4776 2005-06-13  Marek Rouchal  <marek.rouchal@infineon.com>
4777
4778         Specify int return type for main(), to be more ISO C++ compliant. Bug
4779
4780 2005-06-13  Marek Rouchal  <marek.rouchal@infineon.com>
4781
4782         * tests/test_deduce_result_type.cc: Specify int return type
4783         for main(), to be more ISO C++ compliant. Bug #307478.
4784
4785 2005-06-13  Andris Pavenis  <pavenis@latnet.lv>
4786
4787         sigc++/adaptors/lambda/macros/select.h.m4 Specify only a type (not a
4788
4789         2005-06-11  Andris Pavenis <pavenis@latnet.lv>
4790
4791         * sigc++/adaptors/lambda/macros/base.h.m4:
4792         * sigc++/adaptors/lambda/macros/select.h.m4
4793         * sigc++/adaptors/macros/hide.h.m4: Specify only a type (not a
4794         parameter name) for unused member function parameters
4795
4796 2005-06-12  Paul Pogonyshev  <pogonyshev@gmx.net>
4797
4798         Add test for whether the compiler allows referencing to member functions
4799
4800 2005-06-12  Paul Pogonyshev  <pogonyshev@gmx.net>
4801
4802         * configure.ac:
4803         * scripts/cxx.m4:
4804         * sigc++config.h.in: Add test for whether the compiler allows
4805         referencing to member functions of the class/structure being
4806         declared from a definition of a static member variable.
4807         Supposedly a generic solution for GCC 3.2 compilation problems.
4808
4809         * sigc++/type_traits.h: Define SIGC_WRAP_IS_BASE_CLASS_ based on
4810         results of the above test.
4811         (struct is_base_and_derived): Wrap up is_base_class_() functions
4812         in an internal class if SIGC_WRAP_IS_BASE_CLASS_ is defined.
4813
4814 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
4815
4816         Use CALL_SIZE instead of hard-coded 7s and 6s.
4817
4818 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
4819
4820         * sigc++/adaptors/macros/bind.h.m4:
4821         * sigc++/functors/macros/slot.h.m4:
4822         * sigc++/macros/signal.h.m4: Use CALL_SIZE instead of
4823         hard-coded 7s and 6s.
4824
4825 2005-06-10  Murray Cumming  <murrayc@src.gnome.org>
4826
4827         Increased version
4828
4829 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
4830
4831         Make the limit_derived_target::with_type inner class an outer class, to
4832
4833 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
4834
4835         * sigc++/visit_each.h: Make the
4836         limit_derived_target::with_type inner class an outer class,
4837         to satisfy the SUN CC 5.7 compiler, though I think it is a
4838         compiler bug. Bug #302098 has the test case.
4839
4840 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
4841
4842         Make the limit_derived_target::with_type inner class an outer class, to
4843
4844 2005-06-10  Murray Cumming  <murrayc@murrayc.com>
4845
4846         * sigc++/visit_each.h: Make the
4847         limit_derived_target::with_type inner class an outer class,
4848         to satisfy the SUN CC 5.7 compiler, though I think it is a
4849         compiler bug. Bug #302098 has the test case.
4850
4851 2005-06-09  Murray Cumming  <murrayc@src.gnome.org>
4852
4853         Increased version
4854
4855 2005-06-07  Murray Cumming  <murrayc@src.gnome.org>
4856
4857         Removed missing call to missing macro from configure.in
4858
4859 2005-06-07  Murray Cumming  <murrayc@murrayc.com>
4860
4861         Specify the actual class when using test_int(), instead of the derived
4862
4863         2005-06-07  Murray Cumming <murrayc@murrayc.com>
4864
4865         * tests/test_compatibility.cc: Specify the actual class when
4866         using test_int(), instead of the derived class, to fix the build
4867         on SUN Forte CC 5.5. Patch from Friedemann Kleint in
4868         Bug #305647
4869
4870 2005-06-07  Murray Cumming  <murrayc@murrayc.com>
4871
4872         signal_emit::emit(): Use scope to ensure a certain order of destruction of
4873
4874         2005-06-07  Murray Cumming <murrayc@murrayc.com>
4875
4876         * sigc++/macros/signal.h.m4: signal_emit::emit(): Use scope to
4877         ensure a certain order of destruction of the member variables, to
4878         avoid a leak on MSVC++. Patch by Andreas Ames in Bug #306249.
4879
4880 2005-06-07  Murray Cumming  <murrayc@murrayc.com>
4881
4882         Added comments about commenting-out SIGC_TYPEDEF_REDEFINE_ALLOWED when
4883
4884         2005-06-07  Murray Cumming <murrayc@murrayc.com>
4885
4886         * sigc++/macros/signal.h.m4: Added comments about commenting-out
4887         SIGC_TYPEDEF_REDEFINE_ALLOWED when using SUN Forte CC 5.7,
4888         because I can not seem to create a test for it.
4889
4890 2005-06-07  Murray Cumming  <murrayc@murrayc.com>
4891
4892         Added check for the non-standard SUN Forte reverse_iterator<>, and used
4893
4894         2005-06-07  Murray Cumming <murrayc@murrayc.com>
4895
4896         * configure.ac:
4897         * scripts/cxx_std.m4:
4898         * sigc++/macros/signal.h.m4:
4899         * sigc++config.h.in: Added check for
4900         the non-standard SUN Forte reverse_iterator<>,
4901         and used it. This is based on the same stuff in
4902         gtkmm.
4903
4904 2005-06-07  Murray Cumming  <murrayc@murrayc.com>
4905
4906         limit_derived_target(): Just some whitespace changes.
4907
4908         2005-06-07  Murray Cumming <murrayc@murrayc.com>
4909
4910         * sigc++/visit_each.h: limit_derived_target(): Just some whitespace
4911         changes.
4912
4913 2005-06-07  Murray Cumming  <murrayc@murrayc.com>
4914
4915         limit_derived_target(): Just some whitespace changes.
4916
4917         2005-06-07  Murray Cumming <murrayc@murrayc.com>
4918
4919         * sigc++/visit_each.h: limit_derived_target(): Just some whitespace
4920         changes.
4921
4922 2005-06-04  Neal E. Coombes  <nealc@trdlnk.com>
4923
4924         Modified temp_slot_list to be a temporary view into a slot list. Instead
4925
4926 2005-05-16  Neal E. Coombes  <nealc@trdlnk.com>
4927
4928         * sigc++/signal_base.h:  Modified temp_slot_list to be a temporary view
4929         into a slot list.  Instead of emptying the original it now simply tacks
4930         a placeholder to the end of the original.  It then uses this as it's
4931         'end' iterator.  This should allow for conscious recursiveness, as well
4932         as inserting a slot to any position in the slot list during emittion.
4933         See bug #303896.
4934
4935 2005-06-04  Friedemann Kleint  <kleint@bifab.de>
4936
4937         visit_each() template specializations: Mention the bool
4938
4939         2005-06-04  Friedemann Kleint <kleint@bifab.de>
4940
4941         * sigc++/macros/limit_reference.h.m4:
4942         visit_each() template specializations:
4943         Mention the bool I_derives_trackable
4944         template type, to fix the build on Solaris
4945         Forte 5.5.
4946
4947 2005-05-10  Murray Cumming  <murrayc@src.gnome.org>
4948
4949         Increased version
4950
4951 2005-05-10  Murray Cumming  <murrayc@src.gnome.org>
4952
4953         Added missing include
4954
4955 2005-05-10  Régis Duchesne  <hpreg@vmware.com>
4956
4957         New class that just stores a reference, and makes sure that if the
4958
4959         2005-05-06  Régis Duchesne <hpreg@vmware.com>
4960
4961         * sigc++/macros/limit_reference.h.m4 (added):
4962         * sigc++/Makefile.am:
4963         New class that just stores a reference, and makes sure that if the
4964         reference derives from trackable, then the trackable reference will be
4965         used instead of the derived reference in visit_each().
4966         * sigc++/functors/macros/mem_fun.h.m4: Better fix for bug #169225 by
4967         Régis Duchesne and Christian Hammond, based on the new limit_reference
4968         class.
4969         * sigc++/adaptors/bound_argument.h (added): New class (built upon the
4970         new limit_reference class) that handles all 3 kinds of bound arguments:
4971         by value, by reference, and by constant reference. References are
4972         unwrapped in the bound_argument's constructor.
4973         * sigc++/adaptors/macros/bind.h.m4: Fix for bug #302327 by Régis
4974         Duchesne. Bound arguments now need to know whether they are passed by
4975         reference or not. So bind() now builds bind_functor instances using
4976         'reference_wrapper<Foo>' types, instead of 'Foo &' types. The
4977         bind_functor code is modified to compensate.
4978         * sigc++/adaptors/macros/bind_return.h.m4: Similar fix for a similar
4979         bug (unfiled) with bound return arguments.
4980         * sigc++/reference_wrapper.h:
4981         * sigc++/type_traits.h:
4982         The reference_wrapper class is only used in bound_argument.h. Put
4983         correct but unused code under #if 0.
4984         * sigc++/adaptors/lambda/base.h: This file needs reference_wrapper.h,
4985         but was incorrectly relying on type_traits.h to include it.
4986         * tests/Makefile.am:
4987         * tests/test_virtualbase_delete.cc (deleted):
4988         * tests/test_virtualbase_delete_ref_param.cc (deleted):
4989         * tests/test_limit_reference.cc (added):
4990         Replaced test_virtualbase_delete*.cc with a simpler
4991         test_limit_reference.cc which checks for all 3 aspects of the same bug
4992         in one file.
4993         * tests/test_bind_ref.cc: Slots must use 'Foo &' types. We were lucky
4994         this broken usage worked before this change. The change in
4995         type_traits.h made this bug obvious, by preventing the code to compile.
4996         * tests/test_bind_return.cc: After my change, bind() and bind_return()
4997         must use 'reference_wrapper<Foo>' types.
4998         * tests/test_custom.cc: Made this test a no-op (so it does not perturb
4999         'make check' on released versions of the library) and made it a
5000         template ready to be modified by hackers.
5001
5002 2005-05-04  Murray Cumming  <murrayc@src.gnome.org>
5003
5004         Added missing file
5005
5006 2005-05-01  Murray Cumming  <murrayc@src.gnome.org>
5007
5008         Added test case
5009
5010 2005-05-01  Murray Cumming  <murrayc@murrayc.com>
5011
5012         slot_base::slot_base(src): If the source slot_base has a null rep->call_,
5013
5014         2005-05-01  Murray Cumming <murrayc@murrayc.com>
5015
5016         * sigc++/functors/slot_base.cc:
5017         slot_base::slot_base(src): If the source
5018         slot_base has a null rep->call_, meaning that the
5019         slot is invalid, just return a default-constructed
5020         slot, to prevent the crash shown in
5021         tests/tests_copy_invalid_slot.cc. Bug #302515 by
5022         Régis Duchesne.
5023
5024 2005-05-01  Murray Cumming  <murrayc@src.gnome.org>
5025
5026         Added test
5027
5028 2005-05-01  Murray Cumming  <murrayc@murrayc.com>
5029
5030         bound_*<>: Add a new is_base_and_derived<sigc::trackable> parameter to the
5031
5032         2005-05-01  Murray Cumming <murrayc@murrayc.com>
5033
5034         * sigc++/functors/macros/mem_fun.h.m4: bound_*<>:
5035         Add a new is_base_and_derived<sigc::trackable>
5036         parameter to the template and thereby provide a
5037         specialization for T_Obj types that derive from
5038         sigc::trackable. This prevents a crash when casting
5039         from the derived type to sigc::trackable after the
5040         derived destructor has run. This cast can sometimes
5041         fail when using multiple inheritance, at least with
5042         g++. Bug #169225 by Régis Duchesne and Christian
5043         Hammond.
5044         * sigc++/type_traits.h: Add documenation for
5045         the internal is_base_and_derived<> template, which
5046         allows us to specialize other templates for certain
5047         template types.
5048
5049 2005-04-28  Murray Cumming  <murrayc@murrayc.com>
5050
5051         Added comments for users of g++ 3.2.
5052
5053         2005-04-28  Murray Cumming <murrayc@murrayc.com>
5054
5055         * sigc++/type_traits.h: Added comments for users of
5056         g++ 3.2.
5057
5058 2005-04-28  Murray Cumming  <murrayc@murrayc.com>
5059
5060         Added simplified test case from bug #169225. We have a patch to make this
5061
5062         2005-04-28  Murray Cumming <murrayc@murrayc.com>
5063
5064         * tests/Makefile.am:
5065         * tests/test_virtualbase_delete.cc: Added
5066         simplified test case from bug #169225. We have a patch
5067         to make this succeed but I am not ready to commit it
5068         just yet.
5069
5070 2005-04-27  Murray Cumming  <murrayc@murrayc.com>
5071
5072         Added a place to put extra test code, so I don't have to keep installing
5073
5074         2005-04-27  Murray Cumming <murrayc@murrayc.com>
5075
5076         * tests/Makefile.am:
5077         * tests/test_custom.cc:
5078         Added a place to put extra test code, so I don't have
5079         to keep installing my crazy libsigc++ versions.
5080
5081 2005-04-27  Murray Cumming  <murrayc@murrayc.com>
5082
5083         Revert back to the non-explicit template call, because we can not specify
5084
5085         2005-04-27  Murray Cumming <murrayc@murrayc.com>
5086
5087         * sigc++/visit_each.h: Revert back to the non-explicit
5088         template call, because we can not specify the
5089         template specialization so easily, because the
5090         specializations have different numbers of types.
5091         * tests/Makefile/am:
5092         * tests/test_bind_ref.cc: Add a simple test only for
5093         sigc::ref disconnection.
5094
5095 2005-04-26  Murray Cumming  <murrayc@murrayc.com>
5096
5097         Use the explicit template specialization, needed for Tru64 and AIX
5098
5099         2005-04-26  Murray Cumming <murrayc@murrayc.com>
5100
5101         * sigc++/visit_each.h: Use the explicit template
5102         specialization, needed for Tru64 and AIX compilers.
5103         This causes a crash in some uses of sigc::ref()
5104         (when using g++ 3.3.4 or 3.3.5 , but not with 3.4) but
5105         seems to fix a crash in some uses of multiple inheritance
5106         (bug #169225).
5107         * tests/test_bind.cc: Comment out the crashing (not with
5108         g++ 3.4) use of sigc::ref() with an explanatory comment.
5109
5110 2005-04-25  Murray Cumming  <murrayc@src.gnome.org>
5111
5112         tiny comment change
5113
5114 2005-03-31  Murray Cumming  <murrayc@src.gnome.org>
5115
5116         Increased version
5117
5118 2005-03-18  Murray Cumming  <murrayc@murrayc.com>
5119
5120         Updated the list of supported compilers.
5121
5122         2005-03-18  Murray Cumming <murrayc@murrayc.com>
5123
5124         * index.shtml: Updated the list of supported
5125         compilers.
5126
5127 2005-03-18  Murray Cumming  <murrayc@murrayc.com>
5128
5129         Remove links to the sourceforge download page, because we do not use it.
5130
5131         2005-03-18  Murray Cumming <murrayc@murrayc.com>
5132
5133         * fragments/footer.html_fragment:
5134         * fragments/html_declaration.html_fragment:
5135         * link.shtml: Remove links to the sourceforge
5136         download page, because we do not use it.
5137         * notes.shtml: Removed this. It is not linked
5138         from anywhere anyway.
5139
5140 2005-03-09  Cedric Gustin  <cedric.gustin@swing.be>
5141
5142         Fixed typo in today's date.
5143
5144         2005-03-09  Cedric Gustin <cedric.gustin@swing.be>
5145
5146         * ChangeLog: Fixed typo in today's date.
5147
5148 2005-03-09  Cedric Gustin  <cedric.gustin@swing.be>
5149
5150         Moved MSVC_Net2003 directory to SUBDIRS. Added blank.cpp to EXTRA_DIST.
5151
5152         2005-01-24  Cedric Gustin <cedric.gustin@swing.be>
5153
5154         * Makefile.am: Moved MSVC_Net2003 directory to SUBDIRS.
5155         * MSVC_Net2003/Makefile.am: Added blank.cpp to EXTRA_DIST.
5156         * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Removed
5157         test_accumulated and test_lambda projects as the tests are
5158         disabled in the standard, configure-based build.
5159         * MSVC_Net2003/MSVC_Net2003/libsigc++2_msvcNet2003.vcproj:
5160         Generate a PDB file in the Debug target.
5161
5162 2005-03-04  Murray Cumming  <murrayc@murrayc.com>
5163
5164         Mention actual supported compilers. Removed broken examples links. Change
5165
5166 2005-03-05  Murray Cumming  <murrayc@murrayc.com>
5167
5168         * docs/website/stable.html: Mention actual supported compilers.
5169         * docs/website/docs.html: Removed broken examples links. Change
5170         reference link to the reference overview page.
5171
5172 2005-02-23  Murray Cumming  <murrayc@murrayc.com>
5173
5174         Make slot_base::operator=() public, to fix the build with SUN Forte C++
5175
5176 2005-02-23  Murray Cumming  <murrayc@murrayc.com>
5177
5178         * sigc++/functors/slot_base.h: Make slot_base::operator=() public, to
5179         fix the build with SUN Forte C++ 5.5 and Tru64.
5180
5181 2005-02-22  Murray Cumming  <murrayc@src.gnome.org>
5182
5183         Increased version
5184
5185 2005-02-20  Murray Cumming  <murrayc@murrayc.com>
5186
5187         #included <new> to avoid an unresolved symbol error with the Tru64
5188
5189 2005-02-20  Murray Cumming  <murrayc@murrayc.com>
5190
5191         * tests/test_slot.cc, test_disconnect.cc: #included <new> to avoid
5192         an unresolved symbol error with the Tru64 compiler. Solutio found by
5193         Tim Mooney in bug #161503.
5194
5195 2005-02-20  Murray Cumming  <murrayc@murrayc.com>
5196
5197         #included <new> to avoid an unresolved symbol error with the Tru64
5198
5199 2005-02-20  Murray Cumming  <murrayc@murrayc.com>
5200
5201         * tests/test_slot.cc, test_disconnect.cc: #included <new> to avoid
5202         an unresolved symbol error with the Tru64 compiler. Solutio found by
5203         Tim Mooney in bug #161503.
5204
5205 2005-02-20  Martin Schulze  <mschulze@cvs.gnome.org>
5206
5207         Add some documentation.
5208
5209 2005-02-20  Martin Schulze  <mschulze@cvs.gnome.org>
5210
5211         * sigc++/signal_base.h: Add some documentation.
5212
5213 2005-02-20  Martin Schulze  <mschulze@cvs.gnome.org>
5214
5215         Reset deferred_ flag to false in signal_impl::sweep() (Neal E. Coombes).
5216
5217 2005-02-20  Martin Schulze  <mschulze@cvs.gnome.org>
5218
5219         * sigc++/signal_base.cc: Reset deferred_ flag to false in
5220         signal_impl::sweep() (Neal E. Coombes). Partly fixes bug
5221         #167714.
5222
5223 2005-02-11  Martin Schulze  <mschulze@cvs.gnome.org>
5224
5225         Set the correct group in post-html.
5226
5227 2005-02-11  Martin Schulze  <mschulze@cvs.gnome.org>
5228
5229         * docs/manual/Makefile.am: Set the correct group in post-html.
5230
5231 2005-02-11  Murray Cumming  <murrayc@murrayc.com>
5232
5233         Fix typo in url for reference docs. Found by James Lin.
5234
5235 2005-02-11  Murray Cumming  <murrayc@murrayc.com>
5236
5237         * docs/website/doc.shtml: Fix typo in url for reference docs. Found by
5238         James Lin.
5239
5240 2005-02-11  Murray Cumming  <murrayc@src.gnome.org>
5241
5242         reverted stuff I did not mean to commit
5243
5244 2005-02-11  Murray Cumming  <murrayc@murrayc.com>
5245
5246         Fix typo in url for reference docs. Found by James Lin.
5247
5248 2005-02-11  Murray Cumming  <murrayc@murrayc.com>
5249
5250         * docs/website/doc.shtml: Fix typo in url for reference docs. Found by
5251         James Lin.
5252
5253 2005-02-06  Murray Cumming  <murrayc@murrayc.com>
5254
5255         temp_slot_list::begin(), end(): Actually return the iterators.
5256
5257 2005-02-06  Murray Cumming  <murrayc@murrayc.com>
5258
5259         * sigc++/signal_base.h: temp_slot_list::begin(), end(): Actually
5260         return the iterators.
5261
5262 2005-02-04  Neal E. Coombes  <nealc@trdlnk.com>
5263
5264         Add temp_slot_list struct to facilitate allowing new connections to a
5265
5266         2005-02-03  Neal E. Coombes <nealc@trdlnk.com>
5267
5268         * sigc++/signal_base.h: Add temp_slot_list struct to facilitate
5269         allowing new connections to a signal during an emittion without
5270         affecting that emittion.
5271         * sigc++/macros/signal.h.m4: Use the new struct temp_slot_list
5272         to
5273         prevent connections made during an emittion from being called in
5274         the
5275         same emittion (which has the potential of causing things like
5276         infinite loops).  This guarantees an emittion will be finite, as
5277         well
5278         as maintaining any order of emittion guarantees that may have
5279         already
5280         been in place.
5281
5282 2005-02-02  Murray Cumming  <murrayc@src.gnome.org>
5283
5284         Updated NEWS
5285
5286 2005-02-02  Murray Cumming  <murrayc@src.gnome.org>
5287
5288         Increase version
5289
5290 2005-02-02  Murray Cumming  <murrayc@src.gnome.org>
5291
5292         Reenabled tests
5293
5294 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
5295
5296         Add sigc::var<>() documentation, from Roger Ferrer Ibáñez in bug
5297
5298 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
5299
5300         * sigc++/adapators/macros/base.h.m4: Add sigc::var<>() documentation,
5301         from Roger Ferrer Ibáñez in bug #149483.
5302
5303 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
5304
5305         In the template specializations of visit_each(): As before, specify the
5306
5307 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
5308
5309         * sigc++/adaptors/macros/compose.h.m4: In the template specializations
5310         of visit_each(): As before, specify the specific other template
5311         specializations of visit_each that we use. Needed by AIX.
5312         * tests/Makefile.am: Reenabled most tests, because AIX can now
5313         build them.
5314
5315 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
5316
5317         [murrayc@localhost libsigc++2]$ more ChangeLog 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
5318
5319         * sigc++/visit_each.h: visit_each_type(): Specify the specific
5320         template specialization of visit_each<>() to use. The AIX compiler,
5321         and possibly the Tru64 compiler, need this extra hint.
5322
5323 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
5324
5325         Define bind_functor::operator() inline because the AIX compiler/linker
5326
5327 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
5328
5329         * bind.h.m4: Define bind_functor::operator() inline because the AIX
5330         compiler/linker sometimes fails to find it when it is defined
5331         outside of the class.
5332
5333 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
5334
5335         2.0.8:
5336
5337 2005-01-30  Murray Cumming  <murrayc@murrayc.com>
5338
5339         * sigc++/type_traits.h: is_base_and_derived: Added
5340         avoid_gcc3_warning_(), to avoid an incorrect warning when using
5341         g++ 3.3.5
5342
5343 2005-01-30  Murray Cumming  <murrayc@murrayc.com>
5344
5345         is_base_and_derived: Added avoid_gcc3_warning_(), to avoid an incorrect
5346
5347 2005-01-30  Murray Cumming  <murrayc@murrayc.com>
5348
5349         * sigc++/type_traits.h: is_base_and_derived: Added
5350         avoid_gcc3_warning_(), to avoid an incorrect warning when using
5351         g++ 3.3.5
5352
5353 2005-01-30  Liza Klerck  <liza@trdlnk.com>
5354
5355         Add a sigc:: namespace prefix to the nested use of visit_each(), to avoid
5356
5357 2005-01-28  Liza Klerck   <liza@trdlnk.com>
5358
5359         * sigc++/functors/macros/mem_fun.h.m4: Add a sigc:: namespace
5360         prefix to the nested use of visit_each(), to avoid ambiguity when
5361         using 2 versions of the libsigc++ API inside different namespace.
5362
5363 2005-01-27  Murray Cumming  <murrayc@murrayc.com>
5364
5365         Add a sigc:: namespace prefix to the nested use of visit_each(), to avoid
5366
5367 2005-01-27  Murray Cumming  <murrayc@murrayc.com>
5368
5369         * sigc++/adaptors/macros/adaptor_trait.h.m4: Add a sigc:: namespace
5370         prefix to the nested use of visit_each(), to avoid ambiguity when
5371         using 2 versions of the libsigc++ API inside different namespace,
5372         which is not very advisable anyway. Bug #165222 from
5373         liza at trdlnk.com.
5374
5375 2005-01-26  Murray Cumming  <murrayc@src.gnome.org>
5376
5377         Increased version
5378
5379 2005-01-25  Murray Cumming  <murrayc@src.gnome.org>
5380
5381         Updated NEWS
5382
5383 2005-01-24  Cedric Gustin  <cedric.gustin@swing.be>
5384
5385         Moved the SIGC_USING_STD macro definition out of the SIGC_CONFIGURE
5386
5387         2005-01-24  Cedric Gustin <cedric.gustin@swing.be>
5388
5389         * sigc++config.h.in : Moved the SIGC_USING_STD macro definition
5390         out of the SIGC_CONFIGURE section. We also need it for MSVC.
5391         * MSVC_Net2003/.cvsignore : Added .def and .aps files
5392         * MSVC_Net2003/Makefile.am: Rewrote rule for local copy of
5393         sigc++config.h (required for 'make distcheck').
5394         * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Added test_retype and
5395         test_disconnect_during_emit tests.
5396         * MSVC_Net2003/tests/test_disconnect_during_emit/*,
5397         MSVC_Net2003/tests/test_retype/*: Initial commit.
5398
5399 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
5400
5401         Disabled the test_accumulator, test_bind, and test_compose tests, and part
5402
5403 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
5404
5405         * tests/: Disabled the test_accumulator, test_bind, and test_compose
5406         tests, and part of test_mem_fun because the AIX xlC compiler can not
5407         build them, but it can still do most things, including the examples.
5408         See the comments in tests/Makefile.am.
5409
5410 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
5411
5412         non-member operator()(): Specify the extra nil arguments in the templated
5413
5414 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
5415
5416         * sigc++/adaptors/bind.h.m4: non-member operator()(): Specify the
5417         extra nil arguments in the templated class name prefix. Oddly, the
5418         AIX xlC compiler says that the type of the first parameter does not
5419         match the template if you don't do this.
5420
5421 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
5422
5423         is_base_and_derived struct: Move the is_base_class_() functions out of the
5424
5425 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
5426
5427         * sigc++/type_traits.h: is_base_and_derived struct: Move the
5428         is_base_class_() functions out of the inner class, because the AIX
5429         xlC compiler does not like that - see the comments in the code.
5430         * sigc++/adaptors/bind.h.m4: Add the extra nil template types to
5431         the template specializations, as in slot and signal.
5432
5433 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
5434
5435         slot and signal template specialization for various numbers of template
5436
5437 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
5438
5439         * sigc++/functors/macros/slot.h.m4, sigc++/macros/signal.h.m4:
5440         slot and signal template specialization for
5441         various numbers of template args: In the class slot line, specify
5442         all the remaining template types as null, instead of expecting the
5443         compiler to guess them in itself. This partly fixes the build on
5444         AIX with the xlC compiler. Bug #164685.
5445
5446 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
5447
5448         struct is_base_and_derived: Make the test inner struct a friend, so that
5449
5450 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
5451
5452         * sigc++/type_traits: struct is_base_and_derived: Make the test inner
5453         struct a friend, so that it can use the big inner struct. This is
5454         required by the Tru64 compiler.
5455         * sigc++/adaptors/lambda/base.h: Put the unwrap_lambda_value()
5456         definitions at the top, because Tru64 (understandably) needs them to
5457         be declared before use.
5458
5459 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
5460
5461         Added cxx_std.m4, with a test copied from glibmm/scripts/cxx_std.m4 to
5462
5463 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
5464
5465         * scripts/: Added cxx_std.m4, with a test copied from
5466         glibmm/scripts/cxx_std.m4 to check if the compiler has the std::
5467         namespace.
5468         * sigcconfig.h: #undef the new #define and add SIGC_USING_STD(),
5469         like GLIBMM_USING_STD, to put stuff in the std:: namespace when it
5470         is not there already,
5471         * configure.in: Used the new test.
5472         * tests/*: Uses SIG_USING_STD() for every std:: thing that we use.
5473         This is needed by the Tru64 and HP-UX compilers when using their
5474         defaults.
5475
5476 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
5477
5478         Added cxx_std.m4, with a test copied from glibmm/scripts/cxx_std.m4 to
5479
5480 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
5481
5482         * scripts/: Added cxx_std.m4, with a test copied from
5483         glibmm/scripts/cxx_std.m4 to check if the compiler has the std::
5484         namespace.
5485         * sigcconfig.h: #undef the new #define and add SIGC_USING_STD(),
5486         like GLIBMM_USING_STD, to put stuff in the std:: namespace when it
5487         is not there already,
5488         * configure.in: Used the new test.
5489         * tests/*: Uses SIG_USING_STD() for every std:: thing that we use.
5490         This is needed by the Tru64 and HP-UX compilers when using their
5491         defaults.
5492
5493 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
5494
5495         AC_INIT(): Provide the extra tarball name parameter, so that it does not
5496
5497 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
5498
5499         * configure.in: AC_INIT(): Provide the extra tarball name parameter,
5500         so that it does not create a libsigc--- tarball.
5501
5502 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
5503
5504         AC_INT(): Use libsigc++ instead of sigc++, attempting to get the correct
5505
5506 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
5507
5508         * configure.in: AC_INT(): Use libsigc++ instead of sigc++, attempting
5509         to get the correct tarball name.
5510
5511 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
5512
5513         Used the autoconf 2.93 and AM_INIT_AUTOMAKE() technique to specify ustar
5514
5515 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
5516
5517         * configure.in: Used the autoconf 2.93 and AM_INIT_AUTOMAKE()
5518         technique to specify ustar format for the tarball, to prevent files
5519         with long file names from appearing at the top of the tarball.
5520         Based on the same fix in gtkmm 2.6.
5521
5522 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
5523
5524         Specify the base class when using the rep_ member variable. This stops the
5525
5526 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
5527
5528         * sigc++/functors/macros/slot_h.m4: Specify the base class when
5529         using the rep_ member variable. This stops the HP-UX aCC compiler
5530         from saying that a Nonstatic member  is referenced in a nested class,
5531         local class or static member initializer. Bug #150719.
5532
5533 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
5534
5535         Bug #159597 - patch from e97_far at e.kth.se to replace C-style casts with
5536
5537 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
5538
5539         * Bug #159597 - patch from e97_far at e.kth.se to replace C-style
5540         casts with reinterpret_cast<> and static_cast<> to avoid warnings.
5541
5542 2005-01-17  Murray Cumming  <murrayc@murrayc.com>
5543
5544         Specifying html/index.html instead of just the html directory as a target
5545
5546 2005-01-17  Murray Cumming  <murrayc@murrayc.com>
5547
5548         * docs/manual/Makefile.am: Specifying html/index.html instead of
5549         just the html directory as a target seems to fix distcheck problems.
5550         I can also now confirm that the install works on solaris, when using
5551         gmake, though not when using make.
5552
5553 2005-01-17  Murray Cumming  <murrayc@murrayc.com>
5554
5555         Add built files to DISTCLEANFILES to fix the distcheck. Specify in paths,
5556
5557 2005-01-17  Murray Cumming  <murrayc@murrayc.com>
5558
5559         * MSVC_Net2004/Makefile.am: Add built files to DISTCLEANFILES to fix
5560         the distcheck.
5561         * docs/reference/Makefile.am, manual/Makefile.am: Specify  in
5562         paths, to fix distcheck of the manual, and maybe fix install problems
5563         on Solaris.
5564
5565 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
5566
5567         Updated the text about binary packages. Link to the 2.0 documentation
5568
5569 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
5570
5571         * docs/website/stable.html: Updated the text about binary packages.
5572         * docs/website/docs.html: Link to the 2.0 documentation instead of the
5573         1.2 documentation.
5574
5575 2005-01-11  GregSchussman  <schussman@slac.stanford.edu>
5576
5577         Clean up punctuation, make definitions complete sentences, and add
5578
5579 2004-12-17  GregSchussman  <schussman@slac.stanford.edu>
5580
5581         * glossary.shtml: Clean up punctuation, make definitions complete
5582         sentences, and add clarifications for certain definitions according to
5583         what Murray Cumming's suggestions and answers to my questions.
5584         Bug #161580.
5585
5586 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
5587
5588         Added manual, copied from the libsigc++-1.2 cvs module, and updated it for
5589
5590 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
5591
5592         * docs/: Added manual, copied from the libsigc++-1.2 cvs module,
5593         and updated it for the new 2.0 API.
5594
5595 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
5596
5597         Added website, copied from the libsigc++-1.2 cvs module. We will use it
5598
5599 2005-01-11  Murray Cumming  <murrayc@murrayc.com>
5600
5601         * docs/: Added website, copied from the libsigc++-1.2 cvs module.
5602         We will use it from here from now on.
5603
5604 2004-12-12  Cedric Gustin  <cedric.gustin@swing.be>
5605
5606         parse version tags at configure time (for sigc-2.0.rc). New resource file.
5607
5608         2004-12-11  Cedric Gustin <cedric.gustin@swing.be>
5609
5610         * configure.ac : parse version tags at configure time (for
5611         sigc-2.0.rc).
5612         * MSVC_Net2003/sigc-2.0.rc.in : New resource file.
5613         * MSVC_Net2003/Makefile.am: include sigc-2.0.rc in distribution.
5614
5615 2004-12-08  Cedric Gustin  <cedric.gustin@swing.be>
5616
5617         get sigc++config.h from $(top_builddir) instead of $(top_srcdir).
5618
5619         2004-12-08  Cedric Gustin <cedric.gustin@swing.be>
5620
5621         * MSVC_Net2003/Makefile.am: get sigc++config.h from $(top_builddir)
5622         instead of $(top_srcdir).
5623
5624 2004-12-08  Cedric Gustin  <cedric.gustin@swing.be>
5625
5626         copy sigc++config.h from $(top_srcdir) at build time. sigc++config.h
5627
5628         2004-12-08  Cedric Gustin <cedric.gustin@swing.be>
5629
5630         * MSVC_Net2003/Makefile.am: copy sigc++config.h from $(top_srcdir)
5631         at build time. sigc++config.h removed from CVS.
5632
5633 2004-12-08  Cedric Gustin  <cedric.gustin@swing.be>
5634
5635         Renamed libsigc++ target to sigc-2.0d.dll (Debug) and sigc-2.0.dll
5636
5637         2004-12-08  Cedric Gustin <cedric.gustin@swing.be>
5638
5639         * MSVC_Net2003/*/*.vcproj: Renamed libsigc++ target to
5640         sigc-2.0d.dll (Debug) and sigc-2.0.dll (Release). Added
5641         $(SolutionDir) and $(SolutionDir)\.. to "Additional Include
5642         Directories" in tests projects.
5643         * sigc++config.h.in: Rewrote dllexport/dllimport macros for
5644         MSVC, for better consistency with glibmm/gtkmm.
5645         * MSVC_Net2003/Makefile.am: copy sigc++config.h from $(top_srcdir)
5646         at build time.
5647
5648 2004-11-27  Murray Cumming  <murrayc@murrayc.com>
5649
5650         Revert the AC_PROG_LIBTOOL change, so that this builds with actually
5651
5652 2004-11-27  Murray Cumming  <murrayc@murrayc.com>
5653
5654         * configure.in: Revert the AC_PROG_LIBTOOL change, so that this builds
5655         with actually released libtool versions, and in jhbuild, so that it
5656         gets testing.
5657
5658 2004-11-06  Martin Schulze  <mschulze@cvs.gnome.org>
5659
5660         Make catcher_ member public so that it can be accessed by visit_each()
5661
5662 2004-11-06  Martin Schulze  <mschulze@cvs.gnome.org>
5663
5664         * sigc++/adaptors/macros/exception_catch.h.m4: Make catcher_
5665         member
5666         public so that it can be accessed by visit_each() (bug reported
5667         on
5668         ml by Philip Langdale <plangdale@vmware.com>).
5669
5670 2004-10-24  Martin Schulze  <mschulze@cvs.gnome.org>
5671
5672         Link with the "multithreaded DLL" runtime libraries and enable RTTI for
5673
5674 2004-10-24  Martin Schulze  <mschulze@cvs.gnome.org>
5675
5676         *
5677         MSVC_Net2003/*/*.vcproj: Link with the "multithreaded DLL"
5678         runtime
5679         libraries and enable RTTI for the MSVC build
5680         (patch from Timothy M. Shead <tshead@k-3d.com>).
5681         * MSVC_Net2003/*/.cvsignore: Hide generated build files from cvs
5682         (patch from Timothy M. Shead <tshead@k-3d.com>).
5683
5684 2004-10-12  Martin Schulze  <mschulze@src.gnome.org>
5685
5686         Update ChangeLog (add '2.0.6:').
5687
5688 2004-10-12  Martin Schulze  <mschulze@cvs.gnome.org>
5689
5690         Fix project files to compile out-of-the-box and add dummy file so that .cc
5691
5692 2004-10-12  Martin Schulze  <mschulze@cvs.gnome.org>
5693
5694         * MSVC_Net2003/*/*.vcproj, MSVC_Net2003/blank.cpp: Fix project
5695         files
5696         to compile out-of-the-box and add dummy file so that .cc files
5697         get
5698         recognized as c++ code files (patch from Timothy M. Shead).
5699
5700 2004-10-12  Martin Schulze  <mschulze@cvs.gnome.org>
5701
5702         If SIGC_NEW_DELETE_IN_LIBRARY_ONLY is defined, implement
5703
5704         2004-10-10  Martin Schulze <mschulze@cvs.gnome.org>
5705
5706         * sigc++/signal_base.{h,cc}, sigc++/functors/slot_base.{h,cc},
5707         sigc++/functors/macros/slot.h.m4: If
5708         SIGC_NEW_DELETE_IN_LIBRARY_ONLY
5709         is defined, implement signal_base::operator new/delete and
5710         slot_rep::operator new/delete (suggested by Timothy M. Shead).
5711         Remove old work-around from 2004-10-02 since it didn't work.
5712
5713 2004-10-07  Martin Schulze  <mschulze@cvs.gnome.org>
5714
5715         Update for libtool 1.5a (with support for Intel C++). Remove bogus
5716
5717         2004-10-07  Martin Schulze <mschulze@cvs.gnome.org>
5718
5719         * configure.ac: Update for libtool 1.5a (with support for Intel C++).
5720         * MSVC_Net2003/sigc++config.h: Remove bogus '#define'
5721         (reported by Timothy M. Shead <tshead@k-3d.com>).
5722
5723 2004-10-02  Martin Schulze  <mschulze@cvs.gnome.org>
5724
5725         Bump version number to 2.0.6. Add ChangeLog summary for version 2.0.6.
5726
5727         2004-10-02  Martin Schulze <mschulze@cvs.gnome.org>
5728
5729         * configure.ac: Bump version number to 2.0.6.
5730         * NEWS: Add ChangeLog summary for version 2.0.6.
5731
5732 2004-10-02  Martin Schulze  <mschulze@src.gnome.org>
5733
5734         Update tests/.cvsignore (Martin)
5735
5736 2004-10-02  Martin Schulze  <mschulze@cvs.gnome.org>
5737
5738         Rename (typed_)slot_rep::detach to (typed_)slot_rep::destroy. Call the
5739
5740         2004-10-02  Martin Schulze <mschulze@cvs.gnome.org>
5741
5742         * sigc++/functors/slot_base.{h,cc},
5743         sigc++/functors/macros/slot.h.m4:
5744         Rename (typed_)slot_rep::detach to (typed_)slot_rep::destroy.
5745         Call the dtor of the functor stored in typed_slot_rep from
5746         destroy().
5747         A cleaner solution would be to add an additional "virtual"
5748         function
5749         that calls 'delete' or a real virtual dtor. However, this would
5750         be
5751         less efficient and might break the ABI. (Fixes #152323.)
5752
5753 2004-10-02  Martin Schulze  <mschulze@cvs.gnome.org>
5754
5755         Define and use new macro SIGC_NEW_DELETE_IN_LIBRARY_ONLY to ABI-compatibly
5756
5757         2004-10-02  Martin Schulze <mschulze@cvs.gnome.org>
5758
5759         * sigc++config.h.in, MSVC_Net2003/sigc++config.h,
5760         sigc++/signal_base.cc, sigc++/functors/slot_base.{h,cc},
5761         sigc++/functors/macros/slot.h.m4: Define and use new macro
5762         SIGC_NEW_DELETE_IN_LIBRARY_ONLY to ABI-compatibly move
5763         all calls to new and delete into non-inline library code.
5764
5765 2004-09-26  Martin Schulze  <mschulze@cvs.gnome.org>
5766
5767         Add a missing template keyword in the definition of
5768
5769         2004-09-26  Martin Schulze <mschulze@cvs.gnome.org>
5770
5771         * sigc++/adaptors/lambda/macros/group.h.m4: Add a missing
5772         template keyword in the definition of deduce_result_type::type
5773         (hopefully fixes #152327).
5774
5775 2004-09-26  Martin Schulze  <mschulze@cvs.gnome.org>
5776
5777         Use correct bound_mem_functor variants for const (volatile) methods (fixes
5778
5779         2004-09-26  Martin Schulze <mschulze@cvs.gnome.org>
5780
5781         * sigc++/macros/object_slot.h.m4: Use correct bound_mem_functor
5782         variants for const (volatile) methods (fixes #148744).
5783
5784 2004-09-01  Martin Schulze  <mschulze@cvs.gnome.org>
5785
5786         Correct link to lambda module.
5787
5788         2004-09-01  Martin Schulze <mschulze@cvs.gnome.org>
5789
5790         * docs/index.html: Correct link to lambda module.
5791
5792 2004-09-01  Martin Schulze  <mschulze@src.gnome.org>
5793
5794         update .cvsignore
5795
5796 2004-09-01  Martin Schulze  <mschulze@cvs.gnome.org>
5797
5798         Update compatibility section.
5799
5800         2004-09-01  Martin Schulze <mschulze@cvs.gnome.org>
5801
5802         * README: Update compatibility section.
5803
5804 2004-09-01  Martin Schulze  <mschulze@cvs.gnome.org>
5805
5806         2.0.5:
5807
5808         2004-09-01  Martin Schulze <mschulze@cvs.gnome.org>
5809
5810         * MSVC_Net2003/Makefile.am: Add sigc++config.h to EXTRA_DIST.
5811         * configure.ac: Bump version number to 2.0.5.
5812         * NEWS: Add ChangeLog summary for version 2.0.5.
5813
5814 2004-08-21  Martin Schulze  <mschulze@cvs.gnome.org>
5815
5816         Use sigc::var("\n") instead of sigc::ref("\n"). Comment out the affected
5817
5818         2004-08-21  Martin Schulze <mschulze@cvs.gnome.org>
5819
5820         * tests/test_lambda.cc: Use sigc::var("\n") instead of
5821         sigc::ref("\n").
5822         Comment out the affected lines, nevertheless.
5823         Sun FORTE and Compaq C++ can handle neither sigc::ref("\n") nor
5824         sigc::var("\n"). I see more chances fixing sigc::var("\n").
5825         * sigc++/adaptors/lambda/macros/base.h.m4: Add a comment about a
5826         possible work around for sigc::var("\n") compiler problems.
5827         * tests/test_compatibility.cc: Remove a 'const' keyword that
5828         prevents
5829         the test case from compiling with the Sun FORTE.
5830         * tests/test_trackable.cc: Remove a 'virtual' keyword and an
5831         unused
5832         variable to avoid compiler warnings.
5833         * NEWS: Add ChangeLog summary for version 2.0.4.
5834
5835 2004-08-09  Murray Cumming  <murrayc@src.gnome.org>
5836
5837         tiny ChangeLog fix
5838
5839 2004-08-04  James Lin  <slimjimmy@mail.com>
5840
5841         Added SIGC_API qualifier to all externally-visible non-template
5842
5843         2004-08-03  James Lin <slimjimmy@mail.com>
5844
5845         * Added SIGC_API qualifier to all externally-visible
5846         non-template
5847         classes/structs.
5848         * Added #include <sigc++config.h> to the files that use
5849         SIGC_API.
5850         * Added empty SIGC_API definition to sigc++config.h.in for
5851         non-MSVC
5852         compilers.  I'm not sure if this is the right place to put this
5853         (probably not).
5854         * Added MSVC-specific sigc++config.h to the MSVC project
5855         directory.
5856         (The comment in it probably should be edited.)
5857         * Changed MSVC project settings to output a multi-threaded DLL,
5858         set
5859         the include paths to work (hopefully) out-of-the-box.  Disabled
5860         precompiled headers, since they just complicate things and
5861         shouldn't be necessary for such a relatively project.
5862
5863 2004-08-03  James Lin  <slimjimmy@mail.com>
5864
5865         Added SIGC_API qualifier to all externally-visible non-template
5866
5867         2004-08-03  James Lin <slimjimmy@mail.com>
5868
5869         * Added SIGC_API qualifier to all externally-visible
5870         non-template
5871         classes/structs.
5872         * Added #include <sigc++config.h> to the files that use
5873         SIGC_API.
5874         * Added empty SIGC_API definition to sigc++config.h.in for
5875         non-MSVC
5876         compilers.  I'm not sure if this is the right place to put this
5877         (probably not).
5878         * Added MSVC-specific sigc++config.h to the MSVC project
5879         directory.
5880         (The comment in it probably should be edited.)
5881         * Changed MSVC project settings to output a multi-threaded DLL,
5882         set
5883         the include paths to work (hopefully) out-of-the-box.  Disabled
5884         precompiled headers, since they just complicate things and
5885         shouldn't be necessary for such a relatively project.
5886
5887 2004-08-01  Martin Schulze  <mschulze@cvs.gnome.org>
5888
5889         Remove type_trait<>::instance() (was unimplemented and unused; caused
5890
5891         2004-08-01  Martin Schulze <mschulze@cvs.gnome.org>
5892
5893         * sigc++/type_traits.h: Remove type_trait<>::instance()
5894         (was unimplemented and unused; caused problems with the MSVC).
5895
5896 2004-07-23  Martin Schulze  <mschulze@cvs.gnome.org>
5897
5898         Fix typo concerning distribution of libsigc++-2.0.spec. Mention our
5899
5900         2004-07-23  Martin Schulze <mschulze@cvs.gnome.org>
5901
5902         * Makefile.am: Fix typo concerning distribution of
5903         libsigc++-2.0.spec.
5904         * AUTHORS: Mention our contributors for platforms Sun FORTE and
5905         Intel C++.
5906
5907 2004-07-15  Martin Schulze  <mschulze@cvs.gnome.org>
5908
5909         Don't call operator()() in sun_forte_workaround(); rather copy
5910
5911         2004-07-15  Martin Schulze <mschulze@cvs.gnome.org>
5912
5913         * *.h.m4: Don't call operator()() in sun_forte_workaround(); rather copy
5914         operator()(). Calling operator()() makes a copy of the arguments causing
5915         wrong results if an argument type is a reference. Hopefully fixes #147311.
5916
5917 2004-07-15  Martin Schulze  <mschulze@cvs.gnome.org>
5918
5919         Break "std::cout << [expr] << a << std::endl;" into "std::cout << [expr];
5920
5921         2004-07-15  Martin Schulze <mschulze@cvs.gnome.org>
5922
5923         * tests/test_lambda.cc: Break "std::cout << [expr] << a << std::endl;"
5924         into "std::cout << [expr]; std::cout << a << std::endl;".
5925         I hope this fixes #147313 where the right values for "[expr]" but wrong
5926         values for "a" were written to std::cout for some compiler with optimizations
5927         turned off.
5928
5929 2004-07-15  Martin Schulze  <mschulze@cvs.gnome.org>
5930
5931         Correct return type deduction of lambda expressions in
5932
5933         2004-07-15  Martin Schulze <mschulze@cvs.gnome.org>
5934
5935         * sigc++/adaptors/lambda/macros/operator.h.m4: Correct return type deduction
5936         of lambda expressions in lambda_operator*::operator()(). Might be related to
5937         bug #147313.
5938         * sigc++/adaptors/lambda/macros/group.h.m4: Use m4 macro _P_().
5939
5940 2004-07-15  Martin Schulze  <mschulze@cvs.gnome.org>
5941
5942         Add configure check SIGC_OPERATOR_OVERLOAD_AMBUGUITY for a SUN FORTE
5943
5944         2004-07-15  Martin Schulze <mschulze@cvs.gnome.org>
5945
5946         * scripts/cxx.m4, sigc++config.h.in, configure.ac,
5947         sigc++/adaptors/lambda/macros/operator.h.m4, tests/test_lambda.cc:
5948         Add configure check SIGC_OPERATOR_OVERLOAD_AMBUGUITY for a SUN FORTE
5949         compiler problem (bug #147391). Use it to decide whether the lambda
5950         action operators may be overloaded (not doing so restricts the API slightly).
5951         * sigc++/adaptors/lambda/macros/operator.h.m4: Add some doxygen comments
5952         and remove attic code.
5953         * sigc++/adaptors/lambda/macros/base.h.m4:
5954         Add templates unwrap_lambda_type and unwrap_lambda_value() to support
5955         the non-overloaded lambda action operators. Also add some doxygen comments
5956         and remove attic code.
5957         * sigc++/adaptors/lambda/macros/group.h.m4: Fix a bug that resulted in
5958         gargabe values being passed on to the functor contained in the group adaptor
5959         (partly fixes #147313).
5960
5961 2004-07-11  Martin Schulze  <mschulze@cvs.gnome.org>
5962
5963         Split SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD into
5964
5965         2004-07-11  Martin Schulze <mschulze@cvs.gnome.org>
5966
5967         * scripts/cxx.m4, sigc++config.h.in, configure.ac, *.h.m4:
5968         Split SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
5969         into SIGC_CXX_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
5970         and SIGC_CXX_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD.
5971         Remove LIBSIGC_TEMPLATE_PREFIX. Add template keyword to
5972         SIGC_WORKAROUND_OPERATOR_PARENTHESES depending on the configure
5973         checks.
5974         Should fix the compiler problems with MSVC.
5975
5976 2004-07-11  Martin Schulze  <mschulze@cvs.gnome.org>
5977
5978         Use sigc::ptr_fun instead of std::ptr_fun. (fixes bug #144846)
5979
5980         2004-07-11  Martin Schulze <mschulze@cvs.gnome.org>
5981
5982         * examples/hello_world.cc: Use sigc::ptr_fun instead of
5983         std::ptr_fun.
5984         (fixes bug #144846)
5985
5986 2004-07-11  Eric Bourque  <ericb@computer.org>
5987
5988         new file patched generate spec file ignore generated file (Martin Schulze)
5989
5990         2004-07-11  Eric Bourque <ericb@computer.org>
5991
5992         * libsigc++-2.0.spec.in: new file
5993         * configure.ac : patched generate spec file
5994         * .cvsignore: ignore generated file (Martin Schulze)
5995         * Makefile.am: distribute spec file (Martin Schulze)
5996
5997 2004-07-11  Murray Cumming  <murrayc@murrayc.com>
5998
5999         Added some comments. operator=(): Check for self-asignment, though I do
6000
6001 2004-07-11  Murray Cumming  <murrayc@murrayc.com>
6002
6003         * sigc++/connection.cc: Added some comments.
6004         * sigc++/trackable.cc: operator=(): Check for self-asignment, though I
6005         do not know of any actual bug that this fixes. Added some comments.
6006         * sigc++/trackable.h Added some doxygen documentation.
6007
6008 2004-07-09  Murray Cumming  <murrayc@murrayc.com>
6009
6010         Added test_disconnect_during_emit.cc, to prove that this works.
6011
6012 2004-07-09  Murray Cumming  <murrayc@murrayc.com>
6013
6014         * tests/: Added test_disconnect_during_emit.cc, to prove that this
6015         works.
6016
6017 2004-07-08  Murray Cumming  <murrayc@murrayc.com>
6018
6019         foo::operator(int): return a value. The SUN Forte 5.5 compiler complains
6020
6021 2004-07-08  Murray Cumming  <murrayc@murrayc.com>
6022
6023         * sigc++/tests/test_retype_return.cc: foo::operator(int): return a
6024         value. The SUN Forte 5.5 compiler complains about this, as it should.
6025
6026 2004-07-08  Murray Cumming  <murrayc@murrayc.com>
6027
6028         class signal*: Rename the slot_list typedef to slot_list_type, because
6029
6030 2004-07-08  Murray Cumming  <murrayc@murrayc.com>
6031
6032         * sigc++/macros/signal.h.m4: class signal*: Rename the slot_list
6033         typedef to slot_list_type, because there is already a template class
6034         called slot_type. SUN Forte 5.5 seems to complain about this and I am
6035         not surprised. The old typdef is still there for backwards
6036         compatibility, except when building with SUN Forte.
6037
6038 2004-07-07  Murray Cumming  <murrayc@murrayc.com>
6039
6040         SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD(): Don't define the
6041
6042 2004-07-07  Murray Cumming  <murrayc@murrayc.com>
6043
6044         * scripts/cxx.m4: SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD():
6045         Don't define the SIGC_TEMPLATE_SPECIALIZATOIN_OPERATOR_OVERLOAD C
6046         macro at all if the test fails. This might fix the build on SUN Forte.
6047         * sigc++/functors/macros/mem_fun.h.m4: Default constructor: Initialize
6048         the func_ptr_ member variable. I have no evidence that this solves any
6049         problems, but it worried me.
6050         * sigc++/functors/slot_base.h: operator bool(): Correct documentation,
6051         to use @code instead of <code>
6052         * sigc++/macros/signal.h.m4: Remove the documentation for the
6053         parameters named first and last, because they do not exist.
6054
6055 2004-05-31  Martin Schulze  <mschulze@cvs.gnome.org>
6056
6057         Add '--force'-flag to the 'libtoolize'-command (bug #143425).
6058
6059 2004-05-31  Martin Schulze  <mschulze@cvs.gnome.org>
6060
6061         * autogen.sh: Add '--force'-flag to the 'libtoolize'-command (bug #143425).
6062
6063 2004-05-30  Martin Schulze  <mschulze@cvs.gnome.org>
6064
6065         Bump version number to 2.0.3. Add ChangeLog summary for version 2.0.3. Fix
6066
6067 2004-05-30  Martin Schulze  <mschulze@cvs.gnome.org>
6068
6069         * configure.ac: Bump version number to 2.0.3.
6070         * NEWS: Add ChangeLog summary for version 2.0.3.
6071         * sigc++/macros/signal.h.m4: Fix segfault on emission of unconnected sig
6072         nal.
6073         * tests/test_signal.cc, tests/test_accumulated.cc: Emit unconnected sign
6074         al.
6075         * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
6076         dynamic_cast<>-test (tested by Christof Petig/Timothy M. Shead).
6077
6078 2004-05-23  Martin Schulze  <mschulze@cvs.gnome.org>
6079
6080         Bump version number to 2.0.2. Add ChangeLog summary for version 2.0.2.
6081
6082 2004-05-22  Martin Schulze  <mschulze@cvs.gnome.org>
6083
6084         * configure.ac: Bump version number to 2.0.2.
6085         * NEWS: Add ChangeLog summary for version 2.0.2.
6086
6087 2004-05-20  Martin Schulze  <mschulze@cvs.gnome.org>
6088
6089         If a custom accumulator is specified invoke it on signal emission even if
6090
6091 2004-05-20  Martin Schulze  <mschulze@cvs.gnome.org>
6092
6093         * sigc++/macros/signal.h.m4: If a custom accumulator is specified
6094         invoke it on signal emission even if the signal's slot list is empty.
6095         (This used to be the case in libsigc++-1.2 as pointed out by Timothy.)
6096
6097 2004-05-20  Martin Schulze  <mschulze@cvs.gnome.org>
6098
6099         Suppress compiler warning at dynamic_cast<>-test (suggested by Timothy M.
6100
6101 2004-05-20  Martin Schulze  <mschulze@cvs.gnome.org>
6102
6103         * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
6104         dynamic_cast<>-test (suggested by Timothy M. Shead).
6105
6106 2004-05-01  Martin Schulze  <mschulze@cvs.gnome.org>
6107
6108         Updated for libsigc++-2.0.
6109
6110 2004-05-01  Martin Schulze  <mschulze@cvs.gnome.org>
6111
6112         * README: Updated for libsigc++-2.0.
6113
6114 2004-04-28  Martin Schulze  <mschulze@cvs.gnome.org>
6115
6116         Bump version number to 2.0.1. Add ChangeLog summary for version 2.0.1.
6117
6118 2004-04-27  Martin Schulze  <mschulze@cvs.gnome.org>
6119
6120         * configure.ac: Bump version number to 2.0.1.
6121         * NEWS: Add ChangeLog summary for version 2.0.1.
6122         * sigc++/adaptors/lambda/macros/base.h.m4: Fixed documentation.
6123         * sigc++/adaptors/macros/bind.h.m4: Hide work-arounds from doxygen.
6124         * scripts/cxx.m4, sigc++config.h.in, configure.ac,
6125         sigc++/adaptors/macros/bind.h.m4: Removed configure     check. It
6126         showed that the Apple gcc can also compile the sophisticated version
6127         of the work-around.
6128
6129 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
6130
6131         Modified test for SigC::Object inheritance so that it also works if
6132
6133 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
6134
6135         * sigc++/macros/object_slot.h.m4: Modified test for SigC::Object
6136         inheritance so that it also works if SigC::Object is virtual base.
6137         (Fixes bug 141094 reported by Jonathan Brandmeyer)
6138
6139 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
6140
6141         Updated the configure check. It would probably have succeeded on the
6142
6143 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
6144
6145         * scripts/cxx.m4: Updated the configure check. It would probably
6146         have succeeded on the Apple.
6147
6148 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
6149
6150         Add work-arounds for bind<-1>::deduce_result_type compilation error on
6151
6152 2004-04-26  Martin Schulze  <mschulze@cvs.gnome.org>
6153
6154         * sigc++/adaptors/macros/bind.h.m4: Add work-arounds for
6155         bind<-1>::deduce_result_type compilation error on Apple gcc 3.3.
6156         * scripts/cxx.m4, sigc++config.h.in, configure.ac: Add configure
6157         check for the compilation error above.
6158         * sigc++/adaptors/lambda/macros/operator.h.m4: Replace _A with
6159         _Aa. _A is a reserved keyword on Apple gcc 3.3 (Spundun Bhatt).
6160         (fixes bug #10444 reported by Spundun Bhatt)
6161
6162 2004-04-19  Martin Schulze  <mschulze@cvs.gnome.org>
6163
6164         Fixed serious bug in signal_base::impl(): Only reference a newly created
6165
6166 2004-04-19  Martin Schulze  <mschulze@cvs.gnome.org>
6167
6168         * sigc++/signal_base.cc: Fixed serious bug in signal_base::impl():
6169         Only reference a newly created object (initial reference).
6170         (This fixes bug #140269 reported by Andris.)
6171
6172 2004-04-19  Murray Cumming  <murrayc@murrayc.com>
6173
6174         Updated the operator() template check, because it failed with gcc 3.4
6175
6176 2004-04-19  Murray Cumming  <murrayc@murrayc.com>
6177
6178         * scripts/cxx.m4: Updated the operator() template check, because it
6179         failed with gcc 3.4 (from cvs). Apparently the template keyword can
6180         only be used from another template.
6181
6182 2004-04-12  Martin Schulze  <mschulze@cvs.gnome.org>
6183
6184         Bump version number to 2.0.0. Add ChangeLog summary for version 2.0.0.
6185
6186 2004-04-06  Martin Schulze  <mschulze@cvs.gnome.org>
6187
6188         * configure.ac: Bump version number to 2.0.0.
6189         * NEWS: Add ChangeLog summary for version 2.0.0.
6190         * TODO, AUTHORS: Bring up to date.
6191         * sigc++-2.0.pc.in, Makefile.am: 1.9 -> 2.0
6192         * Added more documentation.
6193
6194 2004-04-10  Murray Cumming  <murrayc@murrayc.com>
6195
6196         Implement blocked() to avoid undefined symbol linker error.
6197
6198 2004-04-10  Murray Cumming  <murrayc@murrayc.com>
6199
6200         * sigc++/connection.[h|cc]: Implement blocked() to avoid undefined
6201         symbol linker error.
6202
6203 2004-04-07  Murray Cumming  <murrayc@murrayc.com>
6204
6205         dist the scripts directory.
6206
6207 2004-04-08  Murray Cumming  <murrayc@murrayc.com>
6208
6209         * dist the scripts directory.
6210
6211 2004-04-06  Martin Schulze  <teebaum@cvs.gnome.org>
6212
6213         Bump version number to 1.9.16. Add ChangeLog summary for version 1.9.16.
6214
6215 2004-04-06  Martin Schulze  <teebaum@cvs.gnome.org>
6216
6217         * configure.ac: Bump version number to 1.9.16.
6218         * NEWS: Add ChangeLog summary for version 1.9.16.
6219
6220 2004-04-02  Murray Cumming  <murrayc@murrayc.com>
6221
6222         Make block() and unblock() always return a value, to fix compiler
6223
6224 2004-04-02  Murray Cumming  <murrayc@murrayc.com>
6225
6226         * sigc++/connection.cc: Make block() and unblock() always return a
6227         value, to fix compiler warnings. Patch from bug #138620 by
6228         Alexander Nedotsukov.
6229
6230 2004-04-02  Murray Cumming  <murrayc@murrayc.com>
6231
6232         * Fix the compile of examples/member_method.cc. Bug #131701 from
6233         Kirill Smelkov. I also made the examples build as part of the regular
6234         build.
6235
6236 2004-04-02  Murray Cumming  <murrayc@murrayc.com>
6237
6238         Remove every undef apart from the one we need, to avoid clashes, because
6239
6240 2004-04-02  Murray Cumming  <murrayc@murrayc.com>
6241
6242         * sigc++config.h.m4: Remove every undef apart from the one we need, to
6243         avoid clashes, because we #include this in a public header.
6244
6245 2004-03-25  Murray Cumming  <murrayc@murrayc.com>
6246
6247         Rename the template_keyword check to template_specialization, because the
6248
6249 2004-03-25  Murray Cumming  <murrayc@murrayc.com>
6250
6251         * scripts/cxx.m4, configure.in, sigc++config.h.in: Rename the
6252         template_keyword check to template_specialization, because the problem
6253         is with or without the keyword.
6254         * sigc++/adaptors/macros/adaptor_trait.h.m4: Define
6255         SIGC_WORKAROUND_OPERATOR_PARENTHESES, which calls either operator() or
6256         sun_forte_workaround() depending on the result of the compiler test.
6257         * many .m4 files: Add sun_forte_workaround methods that call the
6258         operator() methods. Put them in #ifdefs so that only SUN Forte C++
6259         sees them.
6260
6261 2004-03-21  Murray Cumming  <murrayc@murrayc.com>
6262
6263         Fix the sigc++config.h.in disting, to fix make distcheck.
6264
6265 2004-03-22  Murray Cumming  <murrayc@murrayc.com>
6266
6267         * Makefile.am, sigc++/Makfile.am: Fix the sigc++config.h.in disting,
6268         to fix make distcheck.
6269
6270 2004-03-21  Murray Cumming  <murrayc@murrayc.com>
6271
6272         Rename config.h.in to sigc++config.h.in so that gtkmm does not include
6273
6274 2004-03-21  Murray Cumming  <murrayc@murrayc.com>
6275
6276         * Rename config.h.in to sigc++config.h.in so that gtkmm does not
6277         include some other config.h at strange times - fixes a problem in
6278         the gtkmm demos. This should really be in the sigc++ directory, but
6279         that seems to add that as an include path, which causes the STL
6280         headers to include sigc++/signal.h instead of some STL signal.h header.
6281
6282 2004-03-20  Murray Cumming  <murrayc@murrayc.com>
6283
6284         Install the config.h platform-specific header. Report the include path for
6285
6286 2004-03-20  Murray Cumming  <murrayc@murrayc.com>
6287
6288         * Makefile.am: Install the config.h platform-specific header.
6289         * sigc++-2.0.pc.in: Report the include path for config.h
6290
6291 2004-03-19  Murray Cumming  <murrayc@murrayc.com>
6292
6293         Added config.h.in, using autoheader, from which config.h will be
6294
6295 2004-03-20  Murray Cumming  <murrayc@murrayc.com>
6296
6297         * Added config.h.in, using autoheader, from which config.h will be
6298         generated, so we can detect compiler features.
6299         * configure.ac: Added AC_CONFIG_HEADER(config.h) to generate config.h
6300         from config.h.in.
6301         * scripts/cxx.m4: Added this directory and file, with a
6302         SIGC_CXX_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD macro that defines
6303         the SIGC_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD C macro.
6304         * autogen.sh: Added -I scripts to the aclocal call, so that it finds
6305         the m4 macro for configure.ac.
6306         * sigc++/adapators/macros/adaptor_trait.h.m4: Include config.h and
6307         use SIGC_TEMPLATE_KEYOWRD_OPERATOR_OVERLOAD.
6308
6309 2004-03-17  Martin Schulze  <mschulze@cvs.gnome.org>
6310
6311         Don't test making functors from overloaded methods with partial template
6312
6313 2004-03-18  Martin Schulze  <mschulze@cvs.gnome.org>
6314
6315         * tests/test_mem_fun.cc, tests/test_ptr_fun.cc: Don't test
6316         making functors from overloaded methods with partial template
6317         specialization. Not portable among different compilers (SUN FORTE).
6318         * adaptors/macros/apdaptor_trait.h.m4: Only gcc seems to use the
6319         notation A.template operator()<...>(...) => adapt preprocessor check
6320         for #define LIBSIGC_TEMPLATE_PREFIX. TODO: replace with configure check.
6321
6322 2004-03-13  Murray Cumming  <murrayc@murrayc.com>
6323
6324         slot_iterator_buf::operator*(): Use blocked() and empty() instead of
6325
6326 2004-03-13  Murray Cumming  <murrayc@murrayc.com>
6327
6328         * g++ 3.4 (pre-release) build fixes:
6329         * sigc++/macros/signal.h.m4: slot_iterator_buf::operator*():
6330         Use blocked() and empty() instead of non-existant blocked_and_empty().
6331         * sigc++/functors/macros/mem_fun.h.m4: memfun_functor*::operator()():
6332         Use this->func_ptr_ instead of just func_ptr_.
6333         * sigc++/adaptors/macros/deduce_result_type.h.m4: Use
6334         T_functor::template deduce_result_type<> instead of just
6335         T_functor::deduce_result_type<>.
6336         * sigc++/adaptors/lambda/macros/base.h.m4, operator.h.m4, group.h.m4::
6337         Use template keyword again. operator[](): Use this->value_ instead of
6338         just value_.
6339         * sigc++/adaptors/lambda/macros/bind/m4: Use template keyword, and
6340         this-> again.
6341         * sigc++/adaptors/macros/compose.h.m4, hide.h.m4, bind_return.h.m4,
6342         exception_catch.h.m4:
6343         rettype.h.m4, rettype_return.h.m4: Use template keyword,and this-> again
6344
6345 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
6346
6347         Bump version number to 1.9.15. Add ChangeLog summary for version 1.9.15.
6348
6349 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
6350
6351         * configure.ac: Bump version number to 1.9.15.
6352         * NEWS: Add ChangeLog summary for version 1.9.15.
6353
6354 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
6355
6356         Make the unnumbered slot templates' copy ctors use the copy ctors of the
6357
6358 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
6359
6360         * sigc++/functors/macros/slot.h.m4: Make the unnumbered slot templates'
6361         copy ctors use the copy ctors of the base class. Fixes bug #24698.
6362         * tests/test_slot.cc: Test copy ctor (Bryan Forbes).
6363
6364 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
6365
6366         Bring it up-to-date (use sigc::ref). Make it work with the SUN Forte.
6367
6368 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
6369
6370         * tests/type_functor_trait.cc: Bring it up-to-date (use sigc::ref).
6371         Make it work with the SUN Forte.
6372
6373 2004-02-24  Martin Schulze  <teebaum@cvs.gnome.org>
6374
6375         Make is_base_and_derived<> work with the SUN Forte.
6376
6377 2004-02-24  Martin Schulze  <teebaum@cvs.gnome.org>
6378
6379         * sigc++/type_traits.h: Make is_base_and_derived<> work with the SUN Forte.
6380
6381 2004-02-19  Martin Schulze  <teebaum@cvs.gnome.org>
6382
6383         Make is_base_and_derived<> platform independant. Make lambda_core<> ctors
6384
6385 2004-02-19  Martin Schulze  <teebaum@cvs.gnome.org>
6386
6387         * sigc++/type_traits.h: Make is_base_and_derived<> platform independant.
6388         * sigc++/adaptors/lambda/macros/base.h.m4: Make lambda_core<> ctors
6389         explicit. Remove an unused ctor from lambda_core<T_type, true>.
6390
6391 2004-02-14  Martin Schulze  <teebaum@cvs.gnome.org>
6392
6393         Move some documentation to slot_base.h. Move some documentation to
6394
6395 2004-02-14  Martin Schulze  <teebaum@cvs.gnome.org>
6396
6397         * sigc++/functors/slot_base.h, sigc++/functors/macros/slot.h.m4:
6398         Move some documentation to slot_base.h.
6399         * sigc++/signal_base.h, sigc++/macros/signal.h.m4:
6400         Move some documentation to signal_base.h.
6401
6402         API addition:
6403         * sigc++/functors/macros/slot.h.m4: Add numbered slot# templates.
6404         Make unnumbered slot templates inherit from slot#.
6405
6406         API change:
6407         * sigc++/functors/macros/mem_fun.h.m4: Allow for methods of the object's
6408         base types to be passed into sigc::mem_fun(). (Used to be the case in
6409         libsigc++-1.2).
6410
6411 2004-02-13  Murray Cumming  <murrayc@usa.net>
6412
6413         Create and use a typedef for the destroy_notify callback functions, to
6414
6415 2004-02-13  Murray Cumming  <murrayc@usa.net>
6416
6417         * sigc++/functors/slot_base.[h|cc], sigc++/trackable.[h|cc]: Create
6418         and use a typedef for the destroy_notify callback functions, to avoid
6419         confusion function pointer declaration syntax in the API.
6420
6421 2004-02-13  Murray Cumming  <murrayc@murrayc.com>
6422
6423         * Moved implementation to .cc files:
6424         * sigc++/functors/: Added slot_base.[h|cc] which contains non-template
6425         code that was previsouly in the generated functors/slot.h and
6426         non-generated slot.cc files. All non-inline implementation is now in
6427         the .cc file.
6428         * sigc++/functors/macros/slot.m4: Removed the code that has been moved
6429         to slot_base.[h|cc].
6430         * sigc++/: Added signal_base.[h|cc] which contains non-template code
6431         that was previously in the generated signal.h and non-generated
6432         signal.cc file. All non-inline implementation is now in the .cc file.
6433         * sigc++/macros/signal.m4: Removed the code that ahs been moved to
6434         signal.cc
6435         * sigc++/connector.[h|cc]: method implementation moved to the .cc file.
6436
6437 2004-02-13  Martin Schulze  <teebaum@cvs.gnome.org>
6438
6439         Bump version number to 1.9.14. Add ChangeLog summary for version 1.9.14.
6440
6441 2004-02-13  Martin Schulze  <teebaum@cvs.gnome.org>
6442
6443         * configure.ac: Bump version number to 1.9.14.
6444         * NEWS: Add ChangeLog summary for version 1.9.14.
6445
6446 2004-02-10  Murray Cumming  <murrayc@usa.net>
6447
6448         slot_base: Added operator bool(), needed to check for a slot that is
6449
6450 2004-02-09  Murray Cumming  <murrayc@usa.net>
6451
6452         * sigc++/macros/slot.h.m4: slot_base: Added operator bool(), needed to
6453         check for a slot that is created with the default constructor. This was
6454         present in libsigc++ 1.2 also.
6455
6456 2004-02-06  Murray Cumming  <murrayc@usa.net>
6457
6458         Build the docs directory, by adding it to SUBDIRS. Updated to be more
6459
6460 2004-02-06  Murray Cumming  <murrayc@usa.net>
6461
6462         * Makefile.am: Build the docs directory, by adding it to SUBDIRS.
6463         * docs/Doxyfile.in: Updated to be more glibmm-like.
6464         * Added some @deprecated doxygen bits.
6465         * sigc++/macros/signal.h.m4: Call base constructor from signal_base
6466         constructor - this is an error-as-warning when building gtkmm.
6467
6468 2003-11-30  Martin Schulze  <teebaum@cvs.gnome.org>
6469
6470         Bump version number to 1.9.13. Add ChangeLog summary for version 1.9.13.
6471
6472 2003-11-30  Martin Schulze  <teebaum@cvs.gnome.org>
6473
6474         * configure.ac: Bump version number to 1.9.13.
6475         * NEWS: Add ChangeLog summary for version 1.9.13.
6476         * Makefile.am, MSVC_Net2003/Makefile.am, configure.ac:
6477         Distribute MS .Net project files.
6478         * sigc++/adaptors/macros/[bind,hide].h.m4: Correct and add
6479         documentation. Make hide_functor ctor explicit.
6480
6481 2003-11-30  Martin Schulze  <teebaum@cvs.gnome.org>
6482
6483         Bump version number to 1.9.13. Add ChangeLog summary for version 1.9.13.
6484
6485 2003-11-30  Martin Schulze  <teebaum@cvs.gnome.org>
6486
6487         * configure.ac: Bump version number to 1.9.13.
6488         * NEWS: Add ChangeLog summary for version 1.9.13.
6489         * Makefile.am, MSVC_Net2003/Makefile.am, configure.ac:
6490         Distribute MS .Net project files.
6491         * sigc++/adaptors/macros/[bind,hide].h.m4: Correct and add
6492         documentation. Make hide_functor ctor explicit.
6493
6494 2003-11-11  Martin Schulze  <teebaum@cvs.gnome.org>
6495
6496         Change to zero-based argument index in numbered bind() and hide() overload
6497
6498 2003-11-11  Martin Schulze  <teebaum@cvs.gnome.org>
6499
6500         * sigc++/adaptors/macros/[bind,hide].h.m4: Change to zero-based
6501         argument index in numbered bind() and hide() overload
6502         (Agreement on the mailing list).
6503         Support binding up to CALL_SIZE arguments with one bind adaptor.
6504         (Requested by joey yandle and others).
6505         Only support binding of multiple arguments in unnumberd overloads
6506         to keep the API simple (Requested by Murray Cumming).
6507         * tests/test_[bind,hide,functor_trait].cc, sigc++/bind.h:
6508         Reflect API changes in compatibility module and test cases.
6509
6510 2003-11-10  Martin Schulze  <teebaum@cvs.gnome.org>
6511
6512         Add unnumbered bind() and hide() overloads to make specifying the argument
6513
6514 2003-11-10  Martin Schulze  <teebaum@cvs.gnome.org>
6515
6516         * sigc++/adaptors/macros/[bind,hide].h.m4: Add unnumbered
6517         bind() and hide() overloads to make specifying the argument
6518         position optional (Proposed by Jeff Franks).
6519         * tests/test_[bind,hide].cc: Test unnumbered bind() and hide().
6520         * sigc++/adaptors/macros/adaptor_trait.h.m4:
6521         Change "#ifdef MSVC" to "#ifdef _MSC_VER" (Roel Vanhout).
6522
6523 2003-11-09  Martin Schulze  <teebaum@cvs.gnome.org>
6524
6525         Change functor type in typed_slot_rep to
6526
6527 2003-11-09  Martin Schulze  <teebaum@cvs.gnome.org>
6528
6529         * sigc++/functors/macros/slot.h.m4: Change functor type in
6530         typed_slot_rep to adaptor_trait::adaptor_type<T_functor>
6531         and use explicit function template instantiation in
6532         internal::slot_call::call_it(). Avoids copying of arguments
6533         in call_it() and enables binding of object instances
6534         to class methods through bind() (Reported by Jeff Franks).
6535         * tests/test_bind.cc: Test binding object instances to
6536         class methods through bind().
6537         * sigc++/adaptors/adaptors.h: Include retype[_result].h.
6538         * sigc++/adaptors/macros/adaptor_trait.h.m4:
6539         - Add documentation.
6540         - Mark some c-tors as explicit.
6541         - Remove ununsed operator T_functor&() from adaptor_functor.
6542         * sigc++/adaptors/macros/deduce_result_type.h.m4:
6543         Rewrite parts of the documentation.
6544         * sigc++/adaptors/macros/bind.h.m4: Add documentation.
6545         * sigc++/functors/macros/mem_fun.h.m4: Remove unnecessary
6546         explicit markers. Minor fixes to documentation.
6547         * sigc++/functors/macros/functor_trait.h.m4:
6548         Minor fixes to documentation.
6549
6550 2003-11-04  Martin Schulze  <teebaum@cvs.gnome.org>
6551
6552         Bump version number to 1.9.12. Add ChangeLog summary for version 1.9.12.
6553
6554 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
6555
6556         * configure.ac: Bump version number to 1.9.12.
6557         * NEWS: Add ChangeLog summary for version 1.9.12.
6558
6559 2003-11-03  Martin Schulze  <teebaum@cvs.gnome.org>
6560
6561         Document accumulators. Move slot_iterator_buf into namespace internal.
6562
6563 2003-11-03  Martin Schulze  <teebaum@cvs.gnome.org>
6564
6565         * sigc++/macros/signal.h.m4: Document accumulators.
6566         Move slot_iterator_buf into namespace internal. Since
6567         accumulators have the iterator type as a template argument
6568         there is no need to expose this very internal type.
6569         * sigc++/functors/macros/*.m4: Regroup documentation.
6570         Documentation of the core parts of the library should be
6571         complete by now.
6572
6573 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
6574
6575         Improve documentation of the core parts of the library. Test ptr_fun()
6576
6577 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
6578
6579         * Improve documentation of the core parts of the library.
6580         * tests/test_ptr_fun.cc: Test ptr_fun() with static
6581         member functions.
6582
6583 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
6584
6585         Move all .m4 files into new subdirectories sigc++/[...]/macros. Install
6586
6587 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
6588
6589         * Move all .m4 files into new subdirectories
6590         sigc++/[...]/macros. Install the .m4 files on
6591         "make install" (Reported by Ron Steinke).
6592
6593 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
6594
6595         Move all .m4 files into new subdirectories sigc++/[...]/macros. Install
6596
6597 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
6598
6599         * Move all .m4 files into new subdirectories
6600         sigc++/[...]/macros. Install the .m4 files on
6601         "make install" (Reported by Ron Steinke).
6602
6603 2003-11-02  Martin Schulze  <teebaum@cvs.gnome.org>
6604
6605         Include sigc++/functors/mem_fun.h (Reported by Ron Steinke).
6606
6607 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
6608
6609         * sigc++/[class,method,object]_slot.h.m4: Include
6610         sigc++/functors/mem_fun.h (Reported by Ron Steinke).
6611
6612 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
6613
6614         Add negation operator I have completely overlooked until now. Test
6615
6616 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
6617
6618         * sigc++/adaptors/lambda/operator.h.m4: Add negation
6619         operator I have completely overlooked until now.
6620         * sigc++/tests/test_lambda.cc: Test negation operator.
6621
6622 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
6623
6624         - Use a shorter notation for ..._mem_function variants. - Change order of
6625
6626 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
6627
6628         * sigc++/[class_slot,method_slot,object_slot,hide].h.m4,
6629         sigc++/signal.h.m4, sigc++/functors/mem_fun.h.m4:
6630         - Use a shorter notation for ..._mem_function variants.
6631         - Change order of mem_funcotr<>'s template arguments to
6632         match std::mem_fun_t and to be more consistent with adaptors.
6633         - Use ::sigc::slot's implicit ctor in compatibility module.
6634         * sigc++/adaptors/lambda/operator.h.m4: Change some
6635         lambda action names to match action names in std.
6636
6637         API addition:
6638         * sigc++/adaptors/retype.h.m4: New file adding
6639         adaptor retype.
6640         * sigc++/Makefile.am: Build and distribute new file.
6641         * tests/test_retype.cc: New file testing adaptor retype.
6642         * MSVC_Net2003/tests/test_retype/test_reytype.vcproj,
6643         tests/Makefile.am: Build and distribute new test case.
6644
6645 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
6646
6647         - Use a shorter notation for ..._mem_function variants. - Change order of
6648
6649 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
6650
6651         * sigc++/[class_slot,method_slot,object_slot,hide].h.m4,
6652         sigc++/signal.h.m4, sigc++/functors/mem_fun.h.m4:
6653         - Use a shorter notation for ..._mem_function variants.
6654         - Change order of mem_funcotr<>'s template arguments to
6655         match std::mem_fun_t and to be more consistent with adaptors.
6656         - Use ::sigc::slot's implicit ctor in compatibility module.
6657         * sigc++/adaptors/lambda/operator.h.m4: Change some
6658         lambda action names to match action names in std.
6659
6660         API addition:
6661         * sigc++/adaptors/retype_return.h.m4: New file adding
6662         adaptor retype.
6663         * sigc++/Makefile.am: Build and distribute new file.
6664         * tests/test_retype.cc: New file testing adaptor retype.
6665         * MSVC_Net2003/tests/test_retype/test_reytype.vcproj,
6666         tests/Makefile.am: Build and distribute new test case.
6667
6668 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
6669
6670         New directory containing project files for Visual Studio .Net 2003.
6671
6672 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
6673
6674         * MSVC_Net2003: New directory containing project
6675         files for Visual Studio .Net 2003.
6676         Credits to Roel Vanhout <roel@riks.nl>!
6677
6678 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
6679
6680         Use LIBSIGC_TEMPLATE_PREFIX in explicit function template instantiations.
6681
6682 2003-11-01  Martin Schulze  <teebaum@cvs.gnome.org>
6683
6684         * sigc++/retype.h.m4: Use LIBSIGC_TEMPLATE_PREFIX
6685         in explicit function template instantiations.
6686         * sigc++/type_traits.h: Add template specialization
6687         for arrays (T_type[N]) to disable non-working member
6688         type_trait<T_type[N]>::instance().
6689         * sigc++/visit_each.h: Remove more disturbing
6690         limit_derived_target<>::operator() overloads.
6691         (Should have noticed earlier that they are unnecessary.)
6692         * sigc++/adaptors/deduce_result_type.h.m4,
6693         sigc++/adaptors/lambda/operator.h.m4,
6694         sigc++/functors/functor_trait.h.m4,
6695         tests/test_[bind,compose,exception_catch,hide,lambda].cc:
6696         Completely removed support for typeof(). We don't need
6697         it any more and it is completely non-standard!
6698
6699 2003-10-31  Cedric Gustin  <cedric.gustin@swing.be>
6700
6701         Added test of win32 platform. Commented out AM_DISABLE_SHARED (DLLs are
6702
6703         2003-10-30  Cedric Gustin <cedric.gustin@swing.be>
6704
6705         * configure.ac: Added test of win32 platform. Commented
6706         out AM_DISABLE_SHARED (DLLs are shared libraries).
6707         * sigc++/Makefile.am: added a few LDFLAGS for win32
6708         DLLs.
6709
6710 2003-10-30  Martin Schulze  <teebaum@cvs.gnome.org>
6711
6712         Add SigC::Signal#<>::slot(). Comment out make_slot() work-around. Remove
6713
6714 2003-10-30  Martin Schulze  <teebaum@cvs.gnome.org>
6715
6716         * sigc++/signal.h.m4: Add SigC::Signal#<>::slot().
6717         * sigc++/slot.h.m4: Comment out make_slot() work-around.
6718         * sigc++/adaptors/bind.h.m4: Remove unnecessary brackets
6719         in template argument lists. They are confusing MSVC.
6720         * sigc++/adaptors/*.h.m4, sigc++/adaptors/lambda/*.h.m4:
6721         Use LIBSIGC_TEMPLATE_PREFIX in explicit function
6722         template instantiations.
6723         * sigc++/tests/test_*.cc:
6724         - Include <string> where std::string is used.
6725         - Use double instead of float.
6726
6727 2003-10-27  Martin Schulze  <teebaum@cvs.gnome.org>
6728
6729         Cleanup. Bring it up to date.
6730
6731 2003-10-27  Martin Schulze  <teebaum@cvs.gnome.org>
6732
6733         * sigc++/retype.h.m4: Cleanup.
6734         * TODO: Bring it up to date.
6735
6736 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
6737
6738         Bump version number to 1.9.11. Add ChangeLog summary for version 1.9.11.
6739
6740 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
6741
6742         * configure.ac: Bump version number to 1.9.11.
6743         * NEWS: Add ChangeLog summary for version 1.9.11.
6744
6745 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
6746
6747         Compatiblity module: Move definition of compatiblity classes SigC::SignalN
6748
6749 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
6750
6751         Compatiblity module:
6752         * sigc++/signal.h.m4: Move definition of compatiblity
6753         classes SigC::SignalN to here.
6754         * sigc++/connection.h:
6755         - Add connection::connected().
6756         - Add compatibility typedef SigC::Connection.
6757         * sigc++/bind.h, sigc++/bind_return.h,
6758         sigc++/class_slot.h.m4, sigc++/hide.h.m4,
6759         sigc++/method_slot.h.m4, sigc++/object.h,
6760         sigc++/object_slot.h.m4, sigc++/retype.h.m4,
6761         sigc++/retype_return.h sigc++/slot.h.m4,
6762         sigc++/compatibility.h:
6763         New files to complete compatibility module.
6764         Split content of compatibility.h.m4 among the new files.
6765         * sigc++/compatibility.h.m4: Removed.
6766         * Makefile.am: Build and distribute new files.
6767         * tests/test_compatibility.cc: Test new stuff.
6768
6769         Fixes:
6770         * sigc++/functors/slot.h.m4: Fix copy constructor and
6771         operator=() of slot template.
6772         * sigc++/adaptors/bind.h.m4: Fix deduce_result_type
6773         template specializations. bind<0>() probably compiles
6774         with gcc-3.3, now.
6775
6776 2003-10-25  Martin Schulze  <teebaum@cvs.gnome.org>
6777
6778         Fixes:
6779
6780 2003-10-26  Martin Schulze  <teebaum@cvs.gnome.org>
6781
6782         Fixes:
6783         * sigc++/functors/slot.{cc,h.m4}:
6784         - Fix notification process: don't defer detaching of a
6785         slot from all referred trackables during signal emission!
6786         - Size optimization: replace virtual functions from
6787         struct typed_slot_rep with function pointers in slot_rep
6788         (reduces size of a typical typed_slot_rep instantiation
6789         by 30% !!!).
6790         * tests/test_slot.cc: Test sigc::slot more thoroughly.
6791         * sigc++/functors/mem_fun.h.m4: Fix visit_each().
6792         * sigc++/adaptos/bind_return.h.m4: Add support for
6793         sigc::ref().
6794         * tests/test_bind_return.cc: Use sigc::ref().
6795         * sigc++/signal.h.m4: Avoid compiler warning about
6796         uninitialized variable r_ in emit().
6797         * sigc++/visit_each.h: Cleanup.
6798
6799         API additions:
6800         * sigc++/adpators/lambda/operators.h.m4: Add
6801         lambda actions sigc::{reinterpret,static,dynamic}_cast_
6802         to support explicit parameter conversion.
6803         * tests/test_lambda.cc: Test sigc::static_cast_.
6804         * sigc++/adaptors/retype_return.h.m4: New file adding
6805         adaptor retype_return (and hide_return).
6806         * sigc++/Makefile.am: Build and distribute new file.
6807         * tests/test_retype_return.cc: New file testing
6808         adaptor retype_return (and hide_return).
6809         * tests/Makefile.am: Build and distribute new test case.
6810
6811 2003-10-24  Martin Schulze  <teebaum@src.gnome.org>
6812
6813         update .cvsignore files
6814
6815 2003-10-24  Martin Schulze  <teebaum@cvs.gnome.org>
6816
6817         Remove disturbing limit_derived_target<>::operator() overloads. Add
6818
6819 2003-10-25  Martin Schulze  <teebaum@cvs.gnome.org>
6820
6821         * sigc++/visit_each.h: Remove disturbing
6822         limit_derived_target<>::operator() overloads.
6823         * sigc++/adaptors/bind.h.m4: Add support for sigc::ref().
6824         * tests/test_bind.cc: Test sigc::ref().
6825         * sigc++/adaptors/lambda/{operator,group,base}.h.m4:
6826         - Move support for sigc::ref() from lambda_core<> into
6827         lambda operator and lambda group creator functions.
6828         - Add missing visit_each() overload for lambda<> template.
6829         * tests/test_lambda.cc: Test auto-disconnection.
6830         TODO: Fix a strange bug that leads to "Bus error"
6831         during auto-disconnection.
6832
6833 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
6834
6835         Bump version number to 1.9.10. Add ChangeLog summary for version 1.9.10.
6836
6837 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
6838
6839         * configure.ac: Bump version number to 1.9.10.
6840         * NEWS: Add ChangeLog summary for version 1.9.10.
6841
6842 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
6843
6844         Move definition of struct nil into functor_trait.h.
6845
6846 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
6847
6848         * sigc++/functors/{functor_trait,slot}.h.m4:
6849         Move definition of struct nil into functor_trait.h.
6850
6851 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
6852
6853         Move definition of struct nil into functor_trait.h.
6854
6855 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
6856
6857         * sigc++/functors/{functor_trait,slot}.h.m4:
6858         Move definition of struct nil into functor_trait.h.
6859
6860 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
6861
6862         Disable typeof() compiler checks. Remove unnecessary deduce_result_type<>
6863
6864 2003-10-23  Martin Schulze  <teebaum@cvs.gnome.org>
6865
6866         * configure.ac: Disable typeof() compiler checks.
6867         * sigc++/adaptors/bind.h.m4: Remove unnecessary
6868         deduce_result_type<> template specializations.
6869
6870 2003-10-20  Martin Schulze  <teebaum@cvs.gnome.org>
6871
6872         Correct order of typedefs for good. (Patch from Jeff Franks.)
6873
6874 2003-10-20  Martin Schulze  <teebaum@cvs.gnome.org>
6875
6876         * sigc++/adaptors/compose.h.m4:
6877         Correct order of typedefs for good. (Patch from Jeff Franks.)
6878
6879 2003-10-20  Martin Schulze  <teebaum@cvs.gnome.org>
6880
6881         Add constructor that takes a sigc::slot_base& to support 3rd-party slot
6882
6883 2003-10-20  Martin Schulze  <teebaum@cvs.gnome.org>
6884
6885         * sigc++/connection.h: Add constructor that takes
6886         a sigc::slot_base& to support 3rd-party slot lists
6887         like they are used in glibmm/gtkmm.
6888         * sigc++/functors/slot.h.m4: Make sigc::slot::call_type public.
6889         (Fixes compile problems reported by Jeff Franks.)
6890         * sig++/type_traits.h: Don't use long long in
6891         sigc::is_base_and_derived.
6892         (Fixes compile problems reported by Jeff Franks.)
6893         * sigc++/adaptors/{bind,compose,hide,exception_catch}.h.m4:
6894         Correct order of typedefs. (Repoted by Jeff Franks.)
6895         * configure.ac: Bump version number to 1.9.9.
6896         * NEWS: Add ChangeLog summary for version 1.9.9.
6897
6898 2003-10-19  Martin Schulze  <teebaum@cvs.gnome.org>
6899
6900         Define doxygen group functors. Bump version number to 1.9.8. Add ChangeLog
6901
6902 2003-10-19  Martin Schulze  <teebaum@cvs.gnome.org>
6903
6904         * sigc++/functors/slot.h.m4: Define doxygen group functors.
6905         * configure.ac: Bump version number to 1.9.8.
6906         * NEWS: Add ChangeLog summary for version 1.9.8.
6907
6908 2003-10-19  Martin Schulze  <teebaum@cvs.gnome.org>
6909
6910         Add announces of versions 1.9.6 and 1.9.7. New file. Defines namespace
6911
6912 2003-10-19  Martin Schulze  <teebaum@cvs.gnome.org>
6913
6914         * NEWS: Add announces of versions 1.9.6 and 1.9.7.
6915         * sigc++/compatibility.h.m4: New file. Defines namespace SigC.
6916         namespace SigC should be API compatible to libsigc++-1.2.
6917         * sigc++/Makefile.am: Build compatibility.h.
6918         * tests/test_compatibility.cc, tests/Makefile.am:
6919         Add test case for compatibility module.
6920         * docs/index.html: Change group names.
6921         * sigc++/sigc++.h: Include connection.h.
6922         * sigc++/connection.{cc,h}:
6923         - Rename dependency to destroy_notify_callback.
6924         - Change parameter name in set_slot() from d to data.
6925         - Fix operator=(): Add "return *this;"
6926         - Get rid of namespace functor.
6927         - Corrections in documentation.
6928         * sigc++/signal.{cc,h.m4}:
6929         - Add reference counter to signal_impl. Replaces "bool destroy_".
6930         - Move signal_base, slot_iterator[_buf], slot_list out of
6931         namespace internal. They are part of the public API.
6932         - Add convenience function signal#::make_slot().
6933         - Get rid of namespace functor.
6934         - Corrections in documentation.
6935         * sigc++/trackable.{cc,h}:
6936         - Rename dependency to destroy_notify_callback.
6937         - Rename trackable::clear() to trackable::notify_callbacks().
6938         - Corrections in documentation.
6939         * sigc++/type_traits.h: Add documentation.
6940         * sigc++/visit_each.h:
6941         - Get rid of namespace functor.
6942         - Add documentation.
6943         * sigc++/adaptors[/lambda]/*: Get rid of namespace functor.
6944         * sigc++/functors/{functor_trait.h,ptr_fun.h.m4,mem_fun.h.m4}:
6945         - Get rid of namespace functor.
6946         - Corrections in documentation / add documentation.
6947         * sigc++/functors/slot.{cc,h.m4}:
6948         - Move slot_base out of namespace internal. It's public API.
6949         - Get rid of one-letter-parameter-names.
6950         - Get rid of namespace functor.
6951         - Corrections in documentation.
6952         * tests/*.cc: Get rid of "using namespace ...".
6953
6954 2003-09-10  Martin Schulze  <teebaum@cvs.gnome.org>
6955
6956         Add subscript ([]) and assign (=) operator. I think there are now enough
6957
6958 2003-09-10  Martin Schulze  <teebaum@cvs.gnome.org>
6959
6960         * sigc++/adaptors/lambda/{base,operators}.h.m4:
6961         Add subscript ([]) and assign (=) operator. I think there are now
6962         enough operators available to make any future power user happy.
6963         The only one missing is the comma operator and if we added it
6964         the logical consequence would be to also add if(), switch(), do(),
6965         etc. lambda expressions which are really out of place in libsigc++.
6966         * sigc++/type_traits.h: Fix is_base_and_derived<> for const types.
6967         * tests/test_lambda.cc: Test new operators.
6968
6969 2003-09-04  Martin Schulze  <teebaum@cvs.gnome.org>
6970
6971         Bump version number to 1.9.7.
6972
6973 2003-09-05  Martin Schulze  <teebaum@cvs.gnome.org>
6974
6975         * configure.ac: Bump version number to 1.9.7.
6976
6977 2003-09-03  Martin Schulze  <teebaum@cvs.gnome.org>
6978
6979         - Restructure so that the size of the generated source file stays
6980
6981 2003-09-03  Martin Schulze  <teebaum@cvs.gnome.org>
6982
6983         * sigc++/adaptors/lambda/operator.h.m4:
6984         - Restructure so that the size of the generated source file stays
6985         reasonable for 34 operators: There are only two lambda templates
6986         lambda_operator and lambda_operator_unary. The action is an additional
6987         template parameter. A small template lambda_action[_unary] is specialized
6988         for all actions.
6989         - Add most operators that boost::lambda supports. Missing operators are
6990         "=", "[]", "," and support for pointer arithmetic. I don't know if it's
6991         worth adding these. In libsigc++, the purpose of lambda operators is to
6992         provide some extra functionality for the group adaptor.
6993         * tests/test_lambda.cc:
6994         Test pre-increment, address and dereference operator.
6995
6996 2003-09-03  Martin Schulze  <teebaum@cvs.gnome.org>
6997
6998         New file reference_wrapper.h provides ref() to specify that
6999
7000 2003-08-31  Martin Schulze  <teebaum@cvs.gnome.org>
7001
7002         * sigc++/reference_wrapper.h, sigc++/type_traits.h, sigc++/Makefile.am:
7003         New file reference_wrapper.h provides ref() to specify that adaptors/lambdas
7004         should take a reference to the object passed into ref() instead of a copy.
7005
7006 2003-08-31  Martin Schulze  <teebaum@cvs.gnome.org>
7007
7008         New file reference_wrapper.h provides ref() to specify that
7009
7010 2003-08-31  Martin Schulze  <teebaum@cvs.gnome.org>
7011
7012         * sigc++/reference_wrapper.h, sigc++/type_traits.h, sigc++/Makefile.am:
7013         New file reference_wrapper.h provides ref() to specify that adaptors/lambdas
7014         should take a reference to the object passed into ref() instead of a copy.
7015         * tests/test_lambda.cc:
7016         - Test group() with mem_fun().
7017         - Use ref() where lambdas should store references to objects.
7018         - Test var() and constant().
7019         * sigc++/adaptors/lambda/base.h.m4:
7020         - Support ref() in return type deduction.
7021         - Add var() and constant() which create lambdas for usage with lambda operators.
7022         * sigc++/adaptors/lambda/operator.h.m4:
7023         - Fix return type deduction.
7024         - Remove operator{+,-,*,...} overloads added on 2003-08-29. ref() is way cleaner.
7025         * sigc++/adaptors/lambda/group.h.m4,
7026         sigc++/adaptors/bind.h.m4, sigc++/adaptors/compose.h.m4,
7027         sigc++/adaptors/exception_catch.h.m4, sigc++/adaptors/hide.h.m4:
7028         Fix return type deduction.
7029
7030 2003-08-29  Martin Schulze  <teebaum@cvs.gnome.org>
7031
7032         Add more tests. Make _1, _2, ... constant. Add operator{+,-,*,...}
7033
7034 2003-08-29  Martin Schulze  <teebaum@cvs.gnome.org>
7035
7036         * tests/test_lambda.cc: Add more tests.
7037         * sigc++/adaptors/lambda/select.h.m4, sigc++/adaptors/lambda/lambda.cc.m4:
7038         Make _1, _2, ... constant.
7039         * sigc++/adaptors/lambda/operator.h.m4:
7040         Add operator{+,-,*,...} overloads to distinguish between const and non-const objects.
7041         Store references to non-const objects rather than copies.
7042         This allows expressions like e.g. std::cout << _1.
7043         * sigc++/adaptors/lambda/base.h.m4, sigc++/adaptors/lambda/group.h.m4:
7044         Remove void specializations. Functors returning void are tested and work fine.
7045
7046 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
7047
7048         Rename, correct and improve this test case. Build and run
7049
7050 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
7051
7052         * tests/test_callof.cc, tests/test_deduce_result_type.cc:
7053         Rename, correct and improve this test case.
7054         * tests/Makefile.am: Build and run test_deduce_result_type
7055         instead of test_callof.
7056
7057 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
7058
7059         Update TODO.
7060
7061 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
7062
7063         * Update TODO.
7064
7065 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
7066
7067         Remove usage of callof_ignore_arg<>. Remove the first and move
7068
7069 2003-08-27  Martin Schulze  <teebaum@cvs.gnome.org>
7070
7071         * sigc++/adaptors/hide.h.m4: Remove usage of callof_ignore_arg<>.
7072         * sigc++/callof.h.m4, sigc++/adaptors/deduce_result_type.h.m4,
7073         sigc++/functors/functor_trait.h.m4:
7074         Remove the first and move deduce_result_type templates from
7075         functor_trait.h.m4 into new file deduce_result_type.h.m4.
7076         * sigc++/Makefile.am, sigc++/sigc++.h, sigc++/adaptors/adaptor_trait.h.m4:
7077         Build and include sigc++/adaptors/deduce_result_type.h instead of callof.h.
7078         * sigc++/functors/slot.h.m4: Document struct nil.
7079
7080 2003-08-24  Martin Schulze  <teebaum@cvs.gnome.org>
7081
7082         * sigc++/functors/functor_trait.h.m4: Simplify usage of convenience
7083         macro SIGC_FUNCTORS_HAVE_RESULT_TYPE:
7084         namespace sigc{ namespace functor{ SIGC_FUNCTORS_HAVE_RESULT_TYPE }}
7085
7086 2003-08-24  Martin Schulze  <teebaum@cvs.gnome.org>
7087
7088         Merge adaptor return type deduction and typeof() into
7089
7090 2003-08-24  Martin Schulze  <teebaum@cvs.gnome.org>
7091
7092         * sigc++/functors/functor_trait.h,m4, sigc++/adaptors[/lambda]/*.h.m4:
7093         Merge adaptor return type deduction and typeof() into
7094         sigc::functor::deduce_result_type. Use it for all adaptors.
7095         * tests/test_compose.cc: Only test multi-type get-functor if
7096         typeof() if supported.
7097
7098 2003-08-23  Martin Schulze  <teebaum@cvs.gnome.org>
7099
7100         - Remove unnecessary void specializations. In fact, only the one for
7101
7102 2003-08-24  Martin Schulze  <teebaum@cvs.gnome.org>
7103
7104         * sigc++/adaptors[/lambda]/*.h.m4:
7105         - Remove unnecessary void specializations. In fact, only the one
7106         for sigc::functor::exception_catch<> is needed and I don't really
7107         understand why. For the lambda stuff the void specializatoins are
7108         just commented out at the moment.
7109         - Make typeof() optional. Surprisingly, I got the lambda stuff working
7110         without typeof()! The test suite doesn't catch all cases yet, so maybe
7111         some thing are still not working.
7112         TODO: Implement configure check.
7113         * tests/test_bind.cc, tests/test_compose.cc tests/test_exception_catch.cc,
7114         tests/test_hide.cc, tests/test_lambda.cc:
7115         Only test multiple functor return types if typeof() is supported.
7116
7117 2003-08-06  Martin Schulze  <teebaum@cvs.gnome.org>
7118
7119         Add function trackable::clear().
7120
7121 2003-08-06  Martin Schulze  <teebaum@cvs.gnome.org>
7122
7123         * sigc++/trackable.{cc,h}: Add function trackable::clear().
7124
7125 2003-06-24  Andreas Rottmann  <rotty@src.gnome.org>
7126
7127         Minor tweaks.
7128
7129         * TODO: Minor tweaks.
7130
7131 2003-06-24  Andreas Rottmann  <rotty@src.gnome.org>
7132
7133         Minor tweaks.
7134
7135 2003-06-24  Andreas Rottmann  <rotty@src.gnome.org>
7136
7137         Use these variables. Provide doxygen with SRCDIR and TOP_SRCDIR
7138
7139         * docs/reference/Doxyfile.in: Use these variables.
7140         * docs/reference/Makefile.am (html/index.html): Provide doxygen
7141         with SRCDIR and TOP_SRCDIR environment variables.
7142
7143         * sigc++/functors/slot.h.m4: Make slot::call_type typedef public;
7144         this fixes a g++ 3.3 error in signal.h.
7145
7146         * sigc++/signal.h.m4: Make the signal::accumulated class public;
7147         this fixes a g++ 3.3 error in test_accumulated.cc.
7148
7149 2003-06-24  Andreas Rottmann  <rotty@src.gnome.org>
7150
7151         Use these variables. Provide doxygen with SRCDIR and TOP_SRCDIR
7152
7153         * docs/reference/Doxyfile.in: Use these variables.
7154         * docs/reference/Makefile.am (html/index.html): Provide doxygen
7155         with SRCDIR and TOP_SRCDIR environment variables.
7156
7157 2003-06-23  Andreas Rottmann  <rotty@src.gnome.org>
7158
7159         Make slot::call_type typedef public; this fixes a g++ 3.3 error in signal.h.
7160
7161 2003-06-23  Andreas Rottmann  <rotty@src.gnome.org>
7162
7163         Make the signal::accumulated class public; this fixes a g++ 3.3 error in test_accumulated.cc.
7164
7165 2003-06-23  Andreas Rottmann  <rotty@src.gnome.org>
7166
7167         Added comment author annotation.
7168
7169 2003-06-23  Andreas Rottmann  <rotty@src.gnome.org>
7170
7171         .cvignore additions.
7172
7173 2003-06-15  Martin Schulze  <teebaum@cvs.gnome.org>
7174
7175         Correct typing error in docs. Document the whole thing.
7176
7177 2003-06-15  Martin Schulze  <teebaum@cvs.gnome.org>
7178
7179         * sigc++/functor/slot.h.m4: Correct typing error in docs.
7180         * sigc++/functor/ptr_fun.h.m4: Document the whole thing.
7181
7182 2003-05-31  Murray Cumming  <murrayc@usa.net>
7183
7184         Rearranged the groups to make it all a bit more like the libsigc++ 1.2
7185
7186 2003-05-31  Murray Cumming  <murrayc@usa.net>
7187
7188         * Reference documentation: Rearranged the groups to make it all
7189         a bit more like the libsigc++ 1.2 reference documentation.
7190         Corrected some spelling and grammar too.
7191         This needs a lot of work. The text is very hard to read and it's
7192         generally not appropriate for a user of the code who doesn't
7193         care about the internals. But it's not impossible - our examples
7194         should show us what we need to say in the documentation.
7195         We probably need some more groups for the extra stuff, like we do
7196         in libsigc++ 1.2.
7197
7198 2003-05-30  Martin Schulze  <martin-ml@hippogriff.de>
7199
7200         Fix documentation. Document the whole thing.
7201
7202 2003-05-29  Martin Schulze  <martin-ml@hippogriff.de>
7203
7204         * sigc++/signal.h.m4: Fix documentation.
7205         * sigc++/connection.h, sigc++/functor/slot.h.m4:
7206         Document the whole thing.
7207
7208 2003-05-29  Martin Schulze  <martin-ml@hippogriff.de>
7209
7210         - Remove bogus operator() from unnumbered signal<> and
7211
7212 2003-05-29  Martin Schulze  <martin-ml@hippogriff.de>
7213
7214         * sigc++/signal.h.m4:
7215         - Remove bogus operator() from unnumbered signal<> and
7216         signal<>::accumulated templates.
7217         - Document the whole thing.
7218
7219         * docs/index.html: Fix some links.
7220
7221 2003-04-06  Martin Schulze  <MHL.Schulze@t-online.de>
7222
7223         Add Doxygen framework.
7224
7225 2003-04-06  Martin Schulze  <MHL.Schulze@t-online.de>
7226
7227         * TODO, configure.ac, Makefile.am, docs/*:
7228         Add Doxygen framework.
7229
7230 2003-04-05  Martin Schulze  <MHL.Schulze@t-online.de>
7231
7232         Move sigc::callof<> to sigc::functor::internal::callof<>.
7233
7234 2003-04-06  Martin Schulze  <MHL.Schulze@t-online.de>
7235
7236         * sigc++/callof.h.m4, sigc++/adaptors/*, tests/test_callof.cc:
7237         Move sigc::callof<> to sigc::functor::internal::callof<>.
7238
7239         * sigc++/functors/mem_fun.h.m4, tests/test_mem_fun.cc:
7240         Add new types [bound_][const_]volatile_mem_functor, visit_each()
7241         and mem_fun() overloads for volatile qualifier.
7242         Add ctor overloads in bound_*mem_functor and mem_fun() overloads
7243         that take reference instead of pointer.
7244
7245 2003-03-26  Martin Schulze  <MHL.Schulze@t-online.de>
7246
7247         Change "closure" to "slot" throughout sigc++2 (file names, class names,
7248
7249 2003-03-26  Martin Schulze  <MHL.Schulze@t-online.de>
7250
7251         * Change "closure" to "slot" throughout sigc++2 (file names,
7252         class names, member variables, documentation, etc.).
7253
7254 2003-03-25  Martin Schulze  <MHL.Schulze@t-online.de>
7255
7256         Rewrite to reflect recent changes as well as recent discussions.
7257
7258 2003-03-26  Martin Schulze  <MHL.Schulze@t-online.de>
7259
7260         * TODO: Rewrite to reflect recent changes as well as recent discussions.
7261
7262 2003-03-24  Martin Schulze  <MHL.Schulze@t-online.de>
7263
7264         Make the adaptor's data member public so that visit_each() can access it.
7265
7266 2003-03-24  Martin Schulze  <MHL.Schulze@t-online.de>
7267
7268         * sigc++/adaptors/bind_return.h.m4: Make the adaptor's data member
7269         public so that visit_each() can access it.
7270
7271         * sigc++/adaptors/lambda/*.h.m4: More fixes. Add a note about
7272         malfunctioning typeof() (probably compiler bug in gcc-3.2).
7273
7274         * tests/*.cc: Test references. Fix compose equivalent in test_lambda.
7275
7276 2003-03-24  Martin Schulze  <MHL.Schulze@t-online.de>
7277
7278         Move detection of function and member method pointers' return types from
7279
7280 2003-03-24  Martin Schulze  <MHL.Schulze@t-online.de>
7281
7282         * sigc++/Makefile.am, sigc++/functors/functor_trait.h[.m4],
7283         sigc++/adaptors/adaptor_trait.h.m4: Move detection of function
7284         and member method pointers' return types from adaptor_trait into
7285         functor_trait. (We'll use functor_trait rather than adaptor_trait for
7286         our lambda stuff.) functor_trait.h needs to be generated from .m4 now.
7287
7288         * sigc++/functors/functor_trait.h.m4: Add convenience macros:
7289         - SIGC_FUNCTORS_HAVE_RESULT_TYPE indicates that the existance of
7290         T_functor::result_type should be assumed for all unknown functors.
7291         - SIGC_FUNCTOR_TRAIT(T_functor, T_result) explicitly specifies the
7292         result type of a functor.
7293         ("typename functor_trait<T_functor>::result_type") is used to
7294         determine the return type of our adaptors' operator()() overloads.
7295
7296         * sigc++/adaptors/[lambda/]*.h.m4: Various fixes in visit_each() and
7297         operator()() overloads to make these operator()() overloads usable.
7298         Most of them were just commented out before. Some adaptor types also
7299         have void specializations, now.
7300
7301         * sigc++/adaptors/lambda/group.h.m4: Change syntax from
7302         "[some_functor] % grp([args])" to "group([some_functor], [args])"
7303         like we agreed on the ml some time ago.
7304
7305         * sigc++/tests/test_[all adaptors].cc: Test stuff that didn't work
7306         before.
7307
7308 2003-03-22  Murray Cumming  <murrayc@usa.net>
7309
7310         Added pgk-config file, from a mystery person in bug #108857
7311
7312 2003-03-22  Murray Cumming  <murrayc@usa.net>
7313
7314         * Added pgk-config file, from a mystery person in bug #108857
7315
7316 2003-03-22  Martin Schulze  <MHL.Schulze@t-online.de>
7317
7318         Test and show how to use functor_trait for user defined or 3rd-party
7319
7320 2003-03-22  Martin Schulze  <MHL.Schulze@t-online.de>
7321
7322         * tests/test_bind.cc: Test and show how to use functor_trait
7323         for user defined or 3rd-party functors so that a
7324         bind<0>([functor],[arg1])() call with no arguments can return a value.
7325
7326 2003-03-20  Martin Schulze  <MHL.Schulze@t-online.de>
7327
7328         Add explanations. Comment in / create templates callof_safe[#].
7329
7330 2003-03-20  Martin Schulze  <MHL.Schulze@t-online.de>
7331
7332         * sigc++/callof.h.m4: Add explanations. Comment in / create templates
7333         callof_safe[#]. Unfortunately they don't work for functors with overloaded
7334         operator() so we don't use it for now. At least everything is documented.
7335
7336         * sigc++/functors/functor_trait.h, sigc++/functors/*.h.m4: Add back
7337         functor_base compiler hint. We're using it now in adaptor_functor<>.
7338
7339         * sigc++/adaptors/{adaptor_trait,bind}.h.m4: Make operator() overloads
7340         with no arguments return the result of the functor invocation.
7341         Fix multiple bind<0>().
7342         * tests/test_bind.cc: Test the stuff that's working now.
7343
7344 2003-03-16  Murray Cumming  <murrayc@usa.net>
7345
7346         Added sigc++/sigc++.h, like in libsigc++ 1.2 Added member_method example,
7347
7348 2003-03-16  Murray Cumming  <murrayc@usa.net>
7349
7350         * Added sigc++/sigc++.h, like in libsigc++ 1.2
7351         * examples: Added member_method example, which uses a class method
7352         and which demonstrates disconnection.
7353
7354 2003-03-13  Martin Schulze  <teebaum@src.gnome.org>
7355
7356         Bump version to 1.9.6.
7357
7358 2003-03-11  Andreas Rottmann  <rotty@src.gnome.org>
7359
7360         Use substitution references instead of $(patsubst). Is shorter and fixes the strange-dirs-in-dist-tarball bug.
7361
7362 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
7363
7364         Add block() capability.
7365
7366 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
7367
7368         * sigc++/connection.h: Add block() capability.
7369
7370 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
7371
7372         Add flag signal_impl::destroy_ and function signal_impl::destroy(). Use
7373
7374 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
7375
7376         * sigc++/signal.{cc,h.m4}: Add flag signal_impl::destroy_
7377         and function signal_impl::destroy(). Use them to defer
7378         the destruction of the signal_impl object during signal
7379         emission.
7380
7381         * tests/test_disconnect.cc: Add tests for the connection
7382         class and for deleting signals during emission.
7383
7384 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
7385
7386         - New files that add a connection class. Objects of this class are
7387
7388 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
7389
7390         * sigc++/connection.{cc,h}, sigc++/Makefile.am:
7391         - New files that add a connection class. Objects of this
7392         class are constructed from closure list iterators and can
7393         be used to disconnect the refered closure. As opposed to
7394         iterators they stay valid beyond the lifetime of the closure.
7395
7396 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
7397
7398         - Rename closure_{base,rep}::[set_]dependency_ -> [set_]parent_. - Make
7399
7400 2003-03-09  Martin Schulze  <MHL.Schulze@t-online.de>
7401
7402         * sigc++/functors/closure.{cc,h.m4}, sigc++/signal.cc:
7403         - Rename closure_{base,rep}::[set_]dependency_ -> [set_]parent_.
7404         - Make closure_rep inherit trackable. This allows for
7405         connection objects that stay valid beyond the life time
7406         of the refered closure.
7407         - Make some one-line-functions inline again.
7408
7409 2003-03-08  Martin Schulze  <MHL.Schulze@t-online.de>
7410
7411         BUGFIX in trackable_dep_list::clear()
7412
7413 2003-03-08  Martin Schulze  <MHL.Schulze@t-online.de>
7414
7415         * sigc++/trackable.cc: BUGFIX in trackable_dep_list::clear()
7416
7417 2003-03-08  Andreas Rottmann  <rotty@src.gnome.org>
7418
7419         Ignore `make dist' tarballs.
7420
7421 2003-03-08  Andreas Rottmann  <rotty@src.gnome.org>
7422
7423         The "The New Build System" changes.
7424
7425 2003-03-08  Andreas Rottmann  <rotty@src.gnome.org>
7426
7427         Re-included lambda test.
7428
7429 2003-03-08  Andreas Rottmann  <rotty@src.gnome.org>
7430
7431         Removed. Removed. Removed. Remove the above Makefiles.
7432
7433         * sigc++/functors/Makfile.am: Removed.
7434         * sigc++/adaptors/Makefile.am: Removed.
7435         * sigc++/adaptors/lambda/Makefile.am: Removed.
7436         * configure.ac (AC_OUTPUT): Remove the above Makefiles.
7437
7438 2003-03-08  Andreas Rottmann  <rotty@src.gnome.org>
7439
7440         Rewritten so we can build lambda cleanly. Removed.
7441
7442         * sigc++/Makefile.am: Rewritten so we can build lambda cleanly.
7443         * sigc++/Makefile.am_fragment: Removed.
7444
7445 2003-03-08  Andreas Rottmann  <rotty@src.gnome.org>
7446
7447         Typo fix.
7448
7449 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
7450
7451         - signal_emit#<>: New templates replacing signal#<>::caller. The purpose
7452
7453 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
7454
7455         * sigc++/signal.{cc,h.m4}:
7456         - signal_emit#<>: New templates replacing signal#<>::caller.
7457         The purpose of these templates is implementing the emit
7458         function and optimizing signal emission for the case that
7459         no accumulator is used via template specializations.
7460         - default_accumulator<>: Removed. The default for T_accumulator
7461         in signal#<> now is nil. An example how to use accumulators
7462         is available in tests/test_accumulator.cc.
7463         - signal_{base,impl}: Move the implementation of signal_base's
7464         interface to signal_impl. An object of this class is
7465         dynamically allocated when first connecting a closure to
7466         the signal. This drastically reduces the size of empty signals
7467         and allows for future addition of a reference counter to make
7468         it safe to delete a signal during emission.
7469         - Directly work on closure_rep during signal emission. This
7470         seems to be quicker than using the closure templates.
7471         - Document the classes. Restructure the header file a bit.
7472
7473         * sigc++/functors/closure.h.m4: Make closure_base::rep_ data
7474         member public, so that signal emission can directly work on it.
7475
7476         * tests/test_size.cc: Add an entry for signal_impl.
7477
7478 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
7479
7480         - closure_base: BUGFIXES in ~closure_base() and operator=(). - Mark some
7481
7482 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
7483
7484         * sigc++/closure.{cc,h.m4}:
7485         - closure_base: BUGFIXES in ~closure_base() and operator=().
7486         - Mark some functions with the inline keyword. This seems to
7487         help gcc 3.2 to optimize signal emission and (dis)connection.
7488         - Document the classes. Restructure the header file a bit.
7489
7490 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
7491
7492         Make trackable allocate a trackable_dep_list object dynamically when
7493
7494 2003-03-07  Martin Schulze  <MHL.Schulze@t-online.de>
7495
7496         * sigc++/trackable.{cc,h}: Make trackable allocate a
7497         trackable_dep_list object dynamically when adding the first
7498         dependency. (This reduces the size of objects, that are not
7499         refered by a closure by 4 bytes (50%) and increases the size
7500         of objects that are refered by a closure by 4 bytes (50%)
7501         on a 32 bit architecture => This reduces total memory use
7502         when >50% of the trackables are not refered by a closure.)
7503         Document the classes.
7504
7505 2003-03-06  Andreas Rottmann  <rotty@src.gnome.org>
7506
7507         Added new test executables.
7508
7509 2003-03-05  Martin Schulze  <MHL.Schulze@t-online.de>
7510
7511         Add two test cases. test_size is showing the size of public and internal
7512
7513 2003-03-05  Martin Schulze  <MHL.Schulze@t-online.de>
7514
7515         * tests/Makefile.am, tests/test_size.cc, tests/test_accumulated.cc:
7516         Add two test cases. test_size is showing the size of  public and
7517         internal structures. (Which apart from empty signals are smaller
7518         than the sizes of the equivalent libsigc++-1.2 structures.)
7519         test_accumulated is a test for the template signal<>::accumulated<>
7520         at the same time showing the use of accumulators in libsigc++2.
7521
7522 2003-03-05  Martin Schulze  <MHL.Schulze@t-online.de>
7523
7524         BUGFIX in template specialization
7525
7526 2003-03-05  Martin Schulze  <MHL.Schulze@t-online.de>
7527
7528         * sigc++/visit_each.h: BUGFIX in template specialization
7529         limit_derive_target<T_Target*,T_action>::with_type<false,T_type>:
7530         Add non-const overloads for static void execute_() avoiding
7531         compile time errors.
7532
7533 2003-02-25  Andreas Rottmann  <rotty@src.gnome.org>
7534
7535         Martin Schulze's disonnect changes.
7536
7537 2003-02-25  Andreas Rottmann  <rotty@src.gnome.org>
7538
7539         Ignore some more auto*-stuff.
7540
7541 2003-02-25  Andreas Rottmann  <rotty@src.gnome.org>
7542
7543         Ignore new diconnect test executable.
7544
7545 2003-02-25  Andreas Rottmann  <rotty@src.gnome.org>
7546
7547         Add testcase with a mixed connection & disconnection sequence.
7548
7549 2003-02-25  Andreas Rottmann  <rotty@src.gnome.org>
7550
7551         Bugfix in signal_base::insert(): Set notification function in the newly created copy of slot_ rather than in slot_ itself.
7552
7553 2003-02-25  Andreas Rottmann  <rotty@src.gnome.org>
7554
7555         Comment in typedefs for iterator types in the signal#<> class template. Make signal#<>::connect() return an iterator for convenience.
7556
7557 2003-01-23  Murray Cumming  <murrayc@usa.net>
7558
7559         sigc++/adaptors/lambda is disable temporarily (not built and not
7560
7561 2003-01-23  Murray Cumming  <murrayc@usa.net>
7562
7563         * sigc++/adaptors/lambda is disable temporarily (not built and
7564         not distributed) because it gets built before its parent
7565         directory, but #includes generated sources in the parent directory.
7566
7567 2003-01-22  Murray Cumming  <murrayc@usa.net>
7568
7569         Added Andreas Rottman's example.
7570
7571 2003-01-22  Murray Cumming  <murrayc@usa.net>
7572
7573         * Added Andreas Rottman's example.
7574
7575 2003-01-22  Murray Cumming  <murrayc@usa.net>
7576
7577         Applied Andreas Rottman's make dist fixes.
7578
7579 2003-01-22  Murray Cumming  <murrayc@usa.net>
7580
7581         * Applied Andreas Rottman's make dist fixes.
7582
7583 2003-01-22  Murray Cumming  <murrayc@src.gnome.org>
7584
7585         Added examples directory
7586
7587 2003-01-15  Murray Cumming  <murrayc@src.gnome.org>
7588
7589         Added missing files.
7590
7591 2003-01-14  Murray Cumming  <murrayc@usa.net>
7592
7593         Added whitespace to make the code more readable.
7594
7595 2003-01-14  Murray Cumming  <murrayc@usa.net>
7596
7597         * Added whitespace to make the code more readable.
7598
7599 2003-01-14  Murray Cumming  <murrayc@src.gnome.org>
7600
7601         Changed copyrights.
7602
7603 2003-01-13  Murray Cumming  <murrayc@src.gnome.org>
7604
7605         No more use of the scripts directory.
7606
7607 2003-01-13  Murray Cumming  <murrayc@src.gnome.org>
7608
7609         initial import
7610