af229af44ed6c9f703a4a19ea2e95b525caa4904
[ardour.git] / libs / glibmm2 / ChangeLog
1 2.14.2:
2
3 2007-10-22  Murray Cumming  <murrayc@murrayc.com>
4
5         * Merged this change from 2007-03-03 from the glibmm-2-12 branch, which was 
6         missing from this branch:
7         * configure.in:
8         * glib/glibmmconfig.h.in:
9         * glib/src/date.ccg:
10         * glib/src/date.hg:
11         * scripts/Makefile.am:
12         * scripts/c_std.m4: Added a test for the case that time_t is equivalent to 
13         guint32, as seems to be the case on NetBSD-4.99.6/amd64, so we can ifdef-out 
14         the (deprecated, anyway) Glib::Date::set_time(GTime) method when necessary, because 
15         GTime is also equivalent to guint32.
16         Bug #386990.
17
18 2007-10-12  Armin Burgmeier  <armin@openismus.com>
19
20         * tools/m4/base.m4: Added a new section called SECTION_HEADER_FIRST
21         that within the header file that is before any generated code (apart
22         from the include guards) and a _CONFIGINCLUDE macro that includes a
23         file within this section. This is intended to be used with
24         g*mmconfig.h so the *_DISABLE_DEPRECATED define is set for deprecated
25         classes also when included from other code.
26
27 2.14.1:
28
29 2007-09-29  RĂ©mi Cardona  <remi@gentoo.org>
30
31         * configure.in:
32         increase the minimum glib requirements.
33         Bug #481566.
34
35 2007-10-02  Murray Cumming  <murrayc@murrayc.com>
36
37         * glib/glibmm/wrap.cc:
38         * glib/glibmm/wrap.h: Replaced wrap_create_new_wrapper() 
39         (introduced by the last commit) with wrap_create_new_wrapper(),
40         allowing us to check that the parent GType actually implements 
41         the interface. This allows us to return a parent known type 
42         if it implements the wanted interface.
43
44 2007-09-25  Murray Cumming  <murrayc@murrayc.com>
45
46         * glib/glibmm/wrap.cc:
47         * glib/glibmm/wrap.h: Added wrap_auto_interface<>(), which should 
48         be used by wrap() specializations for interfaces, so we create 
49         instances of the interface even if the derived C type is unknown to 
50         us.
51         * glib/glibmm/signalproxy_connectionnode.h: Do not wrap.h from here 
52         unnecessarily, to allow us to include objectbase.h in wrap.h, 
53         needed by the new templated method.
54         * tools/m4/class_interface.m4: Use wrap_auto_interface<>() 
55         instead of wrap_auto() for interfaces.
56
57 2.14.0:
58
59 2007-09-06  Daniel Elstner  <danielk@openismus.com>
60
61         * glib/src/regex.{ccg,hg} (Regex): Some cosmetic cleanup.  Also
62         replace C-style casts in default argument values with static_cast<>.
63         (escape_string): Wrap missing function.
64         (match_full): Rename to and add as overloads of match().
65         (match_all_full): Rename to and add as overloads of match_all().
66         (split_full): Rename to and add as overloads of split().
67
68         This has freeze-break approval from the release team.
69
70 2007-08-16  Jonathon Jongsma  <jjongsma@gnome.org>
71
72         * docs/reference/glibmm_footer.html_fragment,
73         docs/reference/glibmm_header.html_fragment: added <div> to doxygen header
74         and footer to make it easier to integrate with library.gnome.org, per a
75         request by Frederic Peters
76
77 2.13.9:
78
79 2007-07-28  Murray Cumming  <murrayc@murrayc.com>
80
81         * glib/src/keyfile.hg:
82         * glib/src/keyfile.ccg: Added a set_double() without the group_name 
83         parameter, because the C function can take NULL.
84         * glib/src/glib_docs_override.xml: Corrected the documnentation for 
85         g_keyfile_set/get_double() to mention 2.14, instead of 2.12, 
86         because we only added these to glibmm in 2.14.
87         * glib/src/regex.hg: Correct the since documentation to be 2.14 
88         not 2.12.
89         * glib/src/iochannel.hg: read(): Corrected a parameter name to 
90         match the generated documentation.
91         * glib/glibmm/miscutils.h: Fixed typos in the use of newin2p14.
92
93 2007-07-28  Murray Cumming  <murrayc@murrayc.com>
94
95         * docs/Makefile_web.am_fragment: Corrected the rsync options, to 
96         match those used by gtkmm, to fix the examples upload.
97         * glib/src/glib_docs.xml: Regenerated from the C documentation.
98
99 2007-07-14  Murray Cumming  <murrayc@murrayc.com>
100
101         * glib/src/keyfile.ccg:
102         * glib/src/keyfile.hg: Added get_double(), set_double(), get_double_list() 
103         and set_double_list().
104
105 2.13.8:
106
107 2007-07-07  Jonathon Jongsma  <jjongsma@gnome.org>
108
109         * glib/src/optioncontext.ccg:
110         * glib/src/optioncontext.hg: add some new API that was added in glib 2.12,
111         including get/set_summary(), get/set_description(), set_translation_domain(),
112         and set_translate_func().
113         * glib/src/glib_docs.xml: Regenerated with docextract_to_xml.py
114         * glib/src/glib_docs_override.xml: override docs for the new functions so
115         that they say that they were introduced in glibmm 2.14 instead of 2.12
116
117 2007-07-02  Johannes Schmid <johannes.schmid@openismus.com>
118
119         * glib/src/regex.hg:
120         Added class documentation
121
122 2007-07-02  Murray Cumming  <murrayc@murrayc.com>
123
124         * tools/pm/DocsParser.pm: convert_tags_to_doxygen():
125         Handle newin markers for 2.12 and a few after that. 
126         * docs/reference/Doxyfile.in: Added ALIASES for newin2p12 and 
127         a few more.
128
129 2.13.7:
130
131 2007-06-22  Murray Cumming  <murrayc@murrayc.com>
132
133         * glib/glibmm/main.cc:
134         * glib/glibmm/main.h: Added SignalTimeout::connect_seconds() 
135         as an equivalent for g_timeout_add_seconds() and took the improved 
136         documentation from glib.
137
138         * glib/glibmm/miscutils.cc:
139         * glib/glibmm/miscutils.h: Added get_user_special_dir(), though we 
140         should maybe wrap the enum.
141         Reimplemented many of the functions with the 
142         convert_return_gchar_ptr_to_stdstring() and 
143         convert_const_gchar_ptr_to_stdstring() functions to simplify them 
144         and make them handle NULLs properly.
145
146 2007-06-22  Murray Cumming  <murrayc@murrayc.com>
147
148         * glib/src/regex.ccg:
149         * glib/src/regex.hg: Added a create() method, and added some 
150         more default parameter values to the methods.
151
152         * configure.in:
153         * examples/Makefile.am:
154         * examples/regex/main.cc: Added a very simple example.
155
156         * glib/glibmm/value_custom.h: Put header guards around this, though 
157         this should never be included directly anyway.
158
159 2.13.6:
160
161 2007-06-17  Murray Cumming  <murrayc@murrayc.com>
162
163         * glib/src/regex.hg:
164         * glib/src/matchinfo.hg: Removed API that uses GMatchInfo, until we 
165         wrap this properly, probably as a C++ iterator. This will avoid this 
166         API accidentally being released as stable sometime.
167
168 2007-06-12  Murray Cumming  <murrayc@murrayc.com>
169
170         * glib/src/glib_enums.defs: Regenerated with enums.pl
171         * glib/src/glib_functions.defs: Regenerated with h2defs.py
172
173         * glib/src/Makefile_list_of_hg.am_fragment:
174         * tools/m4/convert_glib.m4:
175         * glib/src/matchinfo.ccg:
176         * glib/src/matchinfo.hg:
177         * glib/src/regex.ccg:
178         * glib/src/regex.hg: Added the RegEx and MatchInfo classes.
179         These need some examples to test them. The MatchInfo class is 
180         probably particularly broken at the moment. See the TODO comments.
181
182         * glib/glibmm.h: Added regex.h
183
184 2007-05-14  Murray Cumming  <murrayc@murrayc.com>
185
186         * tools/m4/class_boxedtype.m4:
187         * tools/m4/class_gobject.m4:
188         * tools/m4/class_gtkobject.m4:
189         * tools/m4/class_interface.m4:
190         * tools/m4/class_opaque_copyable.m4:
191         * tools/m4/class_opaque_refcounted.m4: Explicitly mention Glib::wrap() 
192         in the documentation for generated Glib::wrap() functions, because doxygen 
193         does not show their namespace.
194
195 2007-05-04  Murray Cumming  <murrayc@murrayc.com>
196
197         * tools/pm/Function.pm: When generating example prototypes for 
198         signal handlers, prefix them with on_my_, to avoid confusion with 
199         similarly named functions and with on_*() default signal handlers.
200
201 2.13.5:
202
203 2007-04-30  Johannes Schmid <johannes.schmid@openismus.com>
204
205         * tools/generate_wrap_init.pl.in:
206         * tools/m4/class_gtkobject.m4:
207         Use _IS_DEPRECATED instead of _CLASS_DEPRECATED because
208         the latter confuses gmmproc.
209         We cannot just use _DEPRECATED because it will result
210         in incorrect handling of for example
211         #ifndef GTKMM_DISABLE_DEPRECATED
212
213 2007-04-24  Yselkowitz <yselkowitz@users.sourceforge.net>
214
215         * scripts/macros.m4: Check for both m4 and M4 in the GNU m4 output,
216         to fix the build on some platforms.
217         Bug #423990
218
219 2.13.4:
220
221 2007-04-11  Armin Burgmeier  <armin@openismus.com>
222
223         * tools/pm/WrapParser.pm: Added peek_token() function which only
224         returns the next token without removing it from the tokens array.
225         Parse '/**' as a separate token and handle it in a special way so that
226         when the final '*/' is encountered and _WRAP_SIGNAL follows, the
227         comment is not terminated but continued by that automatically
228         generated doxygen comment.
229
230         * tools/pm/Output.pm: Added a merge_doxygen_comment_with_previous
231         parameter in output_wrap_sig_decl(). If it is nonzero, the function
232         assumes that there is already a comment open and continues to use it
233         instead of opening a new comment by removing the leading '/**' from
234         what get_refdoc_comment() returns. Bug #378810.
235
236 2007-04-06  Johannes Schmid <johannes.schmid@openismus.com>
237
238         * tools/generate_wrap_init.pl.in:
239         Use _CLASS_DEPRECATE instead of just _DEPRECATE to
240         known whether a whole class should be avoided in wrap_init.
241         Otherwise every .hg file containing deprecated methods
242         might get ignored. (Fixes Gtk::TextBuffer bug in maemo)
243
244 2007-03-19  Bradley Bell  <btb@debian.org>
245
246         * glib/glibmm/helperlist.h: Change variable name to avoid
247         warnings about a shadowed member.
248         Bug #420316.
249
250 2007-03-19  Bradley Bell  <btb@debian.org>
251
252         * glib/glibmm/utility.h: remove g_free prototype, include gmem.h
253         instead, to avoid a warning about a redundant declaration.
254         Bug #420339.
255
256 2007-03-17  Armin Burgmeier  <armin@openismus.com>
257
258         * tools/m4/signal.m4:
259         * tools/m4/vfunc.m4: 
260         Use static_cast in vfuncs and signal handlers to cast the
261         wrapper object to ObjectBase*. This is enough to check whether the object is
262         from a derived type or not. A slow dynamic_cast has only to be performed if it
263         is derived, and the C++ vfunc needs to be called.
264         * glib/glibmm/objectbase.h: This requires ObjectBase::is_derived_ to be public, 
265         because it is called on a ObjectBase* rather than the actual type.
266         This causes a slight speed up of vfuncs and default signal handler invokation.
267
268         Also added commented-out inline versions of ObjectBase::_get_current_wrapper() and 
269         ObjectBase::is_derived(), which could be used in the generated code if we find 
270         that this has significant performance benefits. Note that these methods must be 
271         additional to the non-inline methods, because inline methods are not usually exported in the 
272         shared library. 
273
274 2007-02-10  Murray Cumming  <murrayc@murrayc.com>
275
276         * examples/options/main.cc: Use a default value, to show that it 
277         can be done.
278         (This change, from 2006-03-30 was restored after being accidentally lost on Apr 12 2006)
279
280 2007-02-10  Armin Burgmeier <armin@arbur.net>
281
282         * glib/src/optiongroup.ccg: default_c_arg(): Set the initial
283         value of the C argument to the value the C++ argument has, to avoid
284         that glibmm resets arguments to zero that were not given on the
285         command line.
286         (This change, from 2006-03-30 was restored after being accidentally lost on Apr 12 2006)
287
288 2007-01-28  Daniel Elstner  <daniel.kitta@gmail.com>
289
290         * tools/m4/ctor.m4: If the argument list is empty, call the non-
291         varargs overload of the Glib::ConstructParams constructor instead
292         of using an empty varargs list.  This mistake was exposed thanks
293         to the recent addition of G_GNUC_NULL_TERMINATED to the varargs
294         constructor declaration.  Fortunately it was harmless in this case.
295         Also use the opportunity to clean up the M4 code and prefix builtin
296         M4 macros with m4_, so that we may get rid of the unprefixed macros
297         altogether some day.
298
299 Thu, 25 Jan 2007 23:13:05 +0100 Dodji Seketeli
300
301         * tools/m4/base.m4:
302           prefix the builting mkstemp with 'm4' because otherwise,
303           m4 1.4.8 recognizes it as a builtin macro and expands it, leading
304           to compilation errors on some distros.
305           This should fix #397167. Thanks to Daniel Elstner for spotting this.
306
307 2007-01-20  Daniel Elstner  <daniel.kitta@gmail.com>
308
309         * glib/glibmm/dispatcher.{cc,h}: Early spring cleaning.  Also add
310         a paragraph about Dispatcher on win32 to the documentation.
311         (DispatchNotifyData): Remove the 'tag' member from the struct that
312         was always set to 0xdeadbeef in order to detect memory corruption.
313         This is pointless, as we already check the DispatchNotifier pointer
314         sent across the pipe, which is a far better indicator of corruption
315         anyway.
316         (warn_failed_pipe_io): Remove the err_no parameter and retrieve
317         errno respectively GetLastError() within the function instead.
318         (DispatchNotifier::conn_io_handler_): Remove, as we now inherit
319         from sigc::trackable.  I verified that this doesn't cause problems
320         with threading in this particular case.
321         (DispatchNotifier::DispatchNotifier): If creating the pipe failed
322         and exceptions are disabled, call at least warn_failed_pipe_io()
323         instead of doing nothing at all.
324         (DispatchNotifier::*): Rework the win32 implementation so that it
325         matches more closely the Dispatcher semantics on Unix.  This still
326         needs testing by someone on win32, though.  So far I only verified
327         that it compiles with dummy definitions of the win32 API.  Also,
328         I accidentally located the real cause of the race condition Cedric
329         experienced in bug #109966.  It was a bug in my patch, rather than
330         in the example code.
331
332         * examples/thread/dispatcher.cc: Cleanup.  In particular, get rid
333         of the Glib::RefPtr<> abuse with non-Glib::Object types.  I don't
334         believe we endorse such usage officially, so it shouldn't be in
335         the examples.
336
337 2007-01-20  Daniel Elstner  <daniel.kitta@gmail.com>
338
339         * glib/glibmm/miscutils.cc: Clean up the code a bit.
340         (get_application_name): Remove the code that checked the string for
341         valid UTF-8, and attempted conversion if not valid.  I must have
342         been on crack when I wrote this, as the combination of conditions
343         that would cause the string to be invalid UTF-8 is quite unlikely.
344         If this is a valid concern at all, it should be filed as a GLib bug
345         and not worked around in glibmm.
346         (build_filename(const std::string&, const std::string&)): Just call
347         the plain g_build_filename() instead of building a temporary array
348         and passing that via ArrayHandle to the build_filename() overload
349         for containers.
350         (build_path): Remove the already deactivated custom implementation
351         from the time before g_build_pathv() was added to GLib.
352
353         * glib/glibmm/object.{cc,h}: Improve/fix a couple of comments.
354         (ConstructParams::ConstructParams): Add G_GNUC_NULL_TERMINATED
355         function attribute to make the compiler complain if the variadic
356         argument list is not terminated by a NULL pointer.
357
358         * glib/glibmm/ustring.{cc,h} (utf8_find_last_of): Avoid applying
359         bitwise logical operators directly to (possibly signed) operands
360         of char type.  In order to avoid relying on implementation-defined
361         behavior, make sure that the operands are of unsigned integer type.
362         (ustring::is_ascii): Likewise,
363         (ustring_Iterator<T>::operator--): Likewise.
364         (get_unichar_from_std_iterator): De-obfuscate this highly optimized
365         piece of code, as the current stable release of GCC (4.1.2-pre on
366         my system) generates better assembler output without the voodoo.
367
368 2.13.3:
369
370 2006-11-28  Daniel Elstner  <danielk@openismus.com>
371
372         * tools/pm/GtkDefs.pm (read_defs): Allow an empty pair of
373         parentheses in the innermost match.  This fixes the problem of
374         gmmproc choking on "()" in the documentation strings.  This would
375         still break on unmatched parentheses, though.  Of course the
376         parser should just skip over quoted strings, but I wasn't able
377         to get that to work.
378         * glib/src/glib_enums.defs (GNormalizeMode): Manually fix the
379         improperly parsed value of G_NORMALIZE_NFD.  Fortunately this
380         doesn't change anything since the "#error" token was interpreted
381         as zero, which happens to be the right value.
382         * glib/src/glib_functions.defs (g_iconv): Manually convert to
383         a function definition, as it was improperly parsed as a method
384         with a zero-length name (!) of object GIConv.  This fixes the
385         annoying gmmproc warning about an allegedly unwrapped method.
386
387 2006-11-28  Murray Cumming  <murrayc@murrayc.com>
388
389         * glib/glibmm/propertyproxy_base.cc: Don't ifdef out 
390         PropertyProxy_Base when properties are disabled. It is needed 
391         for connect_property_changed().
392
393 2006-11-27  Daniel Elstner  <danielk@openismus.com>
394
395         * tools/enum.pl (parse): Ignore whitespace in front of an enum
396         typedef.  This fixes parsing of HildonTelephoneEditorFormat in
397         hildon-libs.
398         * tools/pm/Enum.pm (parse_values): Check whether the enumeration
399         constants actually have a common module prefix before attempting
400         to remove it.  This fixes the incorrect parsing of inconsistently
401         named enums in hildon-libs.
402
403 2006-11-27  Daniel Elstner  <danielk@openismus.com>
404
405         * tools/enum.pl (form_names): Break the loop if the length of the
406         common prefix reaches zero.  This fixes the infinite loop when
407         processing the inconsistently named enumeration constants of the
408         Hildon libraries.
409
410 2006-11-20  Murray Cumming  <murrayc@murrayc.com>
411
412         * docs/reference/libstdc++.tag.xml: Updated from the libstdc++ site. 
413         Note that the original does not have an .xml extension. This is is 
414         lots bigger, but that should mean there is more documentation now.
415
416 2006-11-22  Oliver Nittka  <oly@nittka.com>
417
418         * glib/src/value_basictypes.cc.m4: When registering float parameters, 
419         use -G_MAXFLOAT instead of G_MINFLOAT. Since we first implemented this, 
420         the glib documentation has been updated to make it cleare that this is 
421         the real minimum and G_MINFLOAT is the minimum positive value.
422         Do the same for doubles too.
423
424 2006-11-10  Murray Cumming  <murrayc@murrayc.com>
425
426         * tools/Makefile.am: Add enum.pl to the dist, so that it is in 
427         tarballs. Someone saw it mentioned in the appendix, but could not 
428         find it in the tarball.
429
430 2006-11-10  Murray Cumming  <murrayc@murrayc.com>
431
432         * docs/reference/Doxyfile.in: Add PREDEFINES for the optional API, 
433         so that the documentation shows the regular API.
434
435 2006-11-10  Murray Cumming  <murrayc@murrayc.com>
436
437         * glib/glibmm/objectbase.cc:
438         * glib/glibmm/objectbase.h: Added connect_property_changed(), 
439         as an alternative to use when the property proxies are not 
440         available because GLIBMM_PROPERTIES_ENABLED is not defined.
441         SignalProxyProperty::connect(): Use notify::propertyname instead of 
442         just notify, so do not have to check the property name later. This 
443         should be more efficient (when this is used, rarely).
444         * glib/glibmm/propertyproxy_base.cc:
445         * glib/glibmm/propertyproxy_base.h: Move PropertyProxyConnectionNode
446         into the header, so we can reuse it for connect_property_changed(). 
447
448 2006-10-04  Murray Cumming  <murrayc@murrayc.com>
449
450         * glib/glibmm/class.cc:
451         * glib/src/iochannel.ccg:
452         * glib/src/markup.ccg: Add a silly line to avoid unused parameters
453         when GLIBMM_EXCEPTIONS_ENABLED is not set.
454         * glib/glibmm/error.h: Do not use G_GNU_NO_RETURN on the version
455         of throw_exception() that returns, to avoid a warning.
456
457 2006-10-01  Murray Cumming  <murrayc@murrayc.com>
458
459         * Makefile.am:
460         * docs/Makefile.am:
461         * docs/Makefile_web.am_fragment:
462         * docs/images/Makefile.am:
463         * docs/reference/Makefile.am:
464         * docs/reference/README:
465         * examples/Makefile.am: Upload to the new hoster instead of to sourceforge.
466         Abstracted the host and path names into docs/Makefile_web.am_fragment to 
467         avoid duplication.
468
469 2.13.2:
470
471 2006-09-28  Cedric Gustin  <cedric.gustin@gmail.com>
472         
473         * MSVC_Net2003/glibmm/glibmm.vcproj: Remove sarray from list of
474         source and header files.
475
476 2006-09-26  Murray Cumming  <murrayc@murrayc.com>
477
478         * glib/glibmmconfig.h.in: For win32, define 
479         GLIBMM_ARG_ENABLE_API_DEFAULT_SIGNAL_HANDLERS to 1, 
480         instead of just defining it to nothing.
481         * scripts/reduced.m4: In the AC_ARG_ENABLE() to 
482         define (or not) GLIBMM_ARG_ENABLE_API_DEFAULT_SIGNAL_HANDLERS, 
483         use api-default-signal-handlers as the first parameter 
484         instead of api-exceptions (a copy/paste error), though it does 
485         not seem to make any difference.
486         Bug #357830.
487
488 2006-09-23  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
489
490         * glib/src/keyfile.ccg, glib/src/keyfile.hg: added new files that were
491         missed from an earlier commit
492
493 2.13.1:
494
495 2006-09-19  Ralf Stephan  <ralf@ark.in-berlin.de>
496
497         * glib/glibmm/ustring.h: 
498         ustring(const ustring& src, size_type i, size_type n=npos)
499         and 
500         ustring(const char* src, size_type n) constructors:
501         In the reference documentation, mention explicitly that 
502         n is the number of _UTF-8_ characters, rather than 
503         ASCII characters (bytes).
504
505 2006-02-20  Rob Page  <page.rob@gmail.com>
506
507         Wraps GKeyFile (Bug #330535)
508         * glib/glibmm.h: Added include of keyfile.h
509         * glib/glibmm/Makefile.am: Added keyfile.h
510         * glib/glibmm/containerhandle_shared.h: Added a TypeTraits
511         specialization for converting between bool and gboolean*.
512         * glib/src/Makefile_list_of_hg.am_fragment: Added keyfile.hg
513         to files_general_hg.
514         * glib/src/keyfile.hg: KeyFile header
515         * glib/src/keyfile.ccg: KeyFile implementation
516         * tools/m4/convert_glib.m4: Added a conversion for KeyFileFlags
517
518 2006-09-14  Johannes Schmid <jhs@gnome.org>
519
520         * tools/m4/class_shared.m4: Change _IMPLEMENTS_INTERFACE to 
521         _IMPLEMENTS_INTERFACE_CC so we can have more control over it, 
522         by generating the _IMPLEMENTS_INTERFACE_CC from the WrapParser.pm.
523         * tools/m4/method.m4:
524         * tools/m4/signal.m4:
525         * tools/m4/vfunc.m4: Added optional parameters that result in 
526         #ifdefs around methods, signals, vfuncs, etc.
527         * tools/pm/Output.pm: Addef ifdef() and endif().
528         output_wrap_vfunc_h(), output_wrap_vfunc_cc(),
529         output_wrap_default_signal_handler_h(), 
530         output_wrap_default_signal_handler_cc(),
531         output_wrap_meth(),
532         output_wrap_create(),
533         output_wrap_sig_decl(): Support optional ifdefs around  
534         declarations and implementations, by calling ifdef() and endif(), 
535         or by passing the extra argument to the m4 macros.
536         * tools/pm/WrapParser.pm: parse_and_build_output(): 
537         Parse _IMPLEMENTS_INTERFACE, and call the new on_implements_interface() 
538         method, which uses the new output_implements_interface() method, 
539         so it can have an optional ifdef parameter.
540         on_wrap_method(), on_wrap_create(), on_wrap_vfunc(), output_wrap_signal(),
541         output_wrap_vfunc(): Handle the optional ifdef (with a parameter) option 
542         for the _WRAP*() macros.
543
544         This adds support for disabling certain features by using the new
545         "ifdef" argument for methods, vfuncs, signals and interfaces.
546
547 2006-09-05  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
548
549         * docs/reference/Makefile.am: rebuild docs when a .h files changes in
550         glib/glibmm
551         * glib/glibmm/miscutils.cc:
552         * glib/glibmm/miscutils.h: wrap g_get_user_data_dir(),
553         g_get_user_config_dir(), and g_get_user_cache_dir()
554
555 This is the HEAD branch, for new API. There is also a glib-2-12 branch for 
556 maintenance of the stable API.
557
558 2006-08-18  Cedric Gustin  <cedric.gustin@gmail.com>
559         
560         * MSVC_Net2003/*.vcproj: Updated for glibmm-2.12.
561
562 2.12.0:
563
564 2.11.3:
565
566 2006-04-25  Murray Cumming  <murrayc@murrayc.com>
567
568         * configure.in:
569         * glib/glibmmconfig.h.in:
570         * scripts/reduced.m4: Added a --enable-api-default-signal-handlers option. This defines 
571         GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED, which is used to #ifdef default signal handlers.
572         This saves on library code size (less code and API symbols) and application code size and 
573         loading time (less virtual methods, which must be imported and resolved at load time) and 
574         per-object memory size (smaller object sizes because of less virtual methods.) 
575         * tools/m4/class_interface.m4:
576         * tools/m4/class_shared.m4: Put default signal handler code in #ifdefs.
577
578 2.11.2:
579
580 2006-07-17  Murray Cumming  <murrayc@murrayc.com>
581
582         * configure.in: Reverted the previous patch slightly to unbreak glibmmconfig.h.
583
584 2.11.1:
585
586 2006-07-16  Murray Cumming  <murrayc@murrayc.com>
587
588         * configure.in: Quote GLIBMM_*_VERSION to avoid m4 warnings. Patch from 
589         Bug #347076 from Kevin McBride.
590         * scripts/sun.m4: Quote GLIBMM_PROG_CXX_SUN to avoid an m4 warning. 
591         Patch from Bug #347077 from Kevin McBride.  
592
593 2006-07-16  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
594
595         * glib/src/date.ccg: fix implementation of Glib::Date::set_time_current() so
596         that it doesn't set the date to Dec 31, 1969.
597
598 2006-06-19  Murray Cumming  <murrayc@murrayc.com>
599
600         * glib/glibmm/object.h: Check whether DestroyNotify is defined, so we can warn about 
601         including X11/Xlib.h before this header, which will break things. 
602         Bug #316726 from Mert Tugcu and Javeed Shaikh.
603
604 2006-06-09  Cedric Gustin  <cedric.gustin@gmail.com>
605
606         * glib/glibmm/objectbase.h : Inline the set_property and
607         get_property methods. This is required by mingw32-gcc as
608         ObjectBase is explicitly dllexported.
609
610 2006-06-05  Murray Cumming  <murrayc@murrayc.com>
611
612         * glib/src/convert.ccg: When using --enable-api-exception=no, only try to get the Glib::Error 
613         when the GError is not null.
614
615 2006-05-18  Murray Cumming  <murrayc@murrayc.com>
616
617         * tools/m4/method.m4: _METHOD(): When using errthrow, actually print the function call even if 
618         the return type is 0.
619
620 2006-05-16  Murray Cumming  <murrayc@murrayc.com>
621
622         * tools/m4/method.m4:  _METHOD(), _STATIC_METHOD(): Remove spaces before dnl statements, 
623         to avoid unwanted indentation in .cc files.
624
625 2006-05-16  Murray Cumming  <murrayc@murrayc.com>
626
627         * tools/m4/convert_base.m4: _CONVERT(): If the return type is void, use the unconverted 
628         statement, not no statement. This prevents some void methods from being totally empty. 
629         This was a (very bad) regression introduced by the optional API changed. 
630         Bug #341895 from Philip Langdale.
631         * tools/m4/method.m4: _METHOD(), _STATIC_METHOD(): Attempt to remove unnecessary newlines, 
632         though some indenting spaces slipped in instead. Must fix that. 
633
634 2006-05-14  Murray Cumming  <murrayc@murrayc.com>
635
636         * glib/glibmm/value.cc:
637         * glib/glibmm/value.h: Restored the init(GValue*) method that was lost when 
638         merging changes from the glibmm-2-10 branch.
639
640 2006-05-09  Murray Cumming  <murrayc@murrayc.com>
641  
642         * glib/glibmm/ustring.cc:
643         * glib/src/date.ccg:
644         * glib/src/convert.ccg:
645         * glib/src/convert.hg: Added #ifdefed versions for the case that 
646         exceptions are disabled.
647
648 2006-05-10  Murray Cumming  <murrayc@murrayc.com>
649
650         * configure.in:
651         * scripts/reduced.m4: Moved --enable-deprecated-api macro into scripts/reduced.m4.
652         Added the --enable-api-exceptions macro that was missing from my last commit.
653
654 2006-04-05  Murray Cumming  <murrayc@murrayc.com>
655
656         * configure.in:
657         * scripts/reduced.m4: Added --enable-api-exceptions option. When this 
658         is used, methods that would normally throw an exception will now take 
659         an extra std::auto_ptr<Glib::Error> argument that should be checked with 
660         auto_ptr::get().
661         * glib/glibmmconfig.h.in: Undef the GLIBMM_EXCEPTIONS_ENABLED, 
662         so it will be defined.
663         * tools/m4/gerror.m4: throw_func() returns an auto_ptr of a 
664         Glib::Error when exceptions are disabled.
665         * tools/m4/method.m4:
666         * tools/pm/Output.pm: on_wrap_method(): Added alternative API with 
667         #ifdefs
668         * tools/m4/signal.m4:
669         * tools/m4/signalproxy_custom.m4:
670         * tools/m4/vfunc.m4: Put #ifdefs around the exception re-throwing 
671         try/catch blocks.
672         * glib/glibmm/dispatcher.cc:
673         * glib/glibmm/dispatcher.h:
674         * glib/glibmm/error.cc:
675         * glib/glibmm/error.h:
676         * glib/glibmm/exceptionhandler.cc:
677         * glib/glibmm/exceptionhandler.h:
678         * glib/glibmm/main.cc:
679         * glib/glibmm/signalproxy.cc:
680         * glib/glibmm/streamiochannel.cc:
681         * glib/glibmm/stringutils.cc:
682         * glib/glibmm/threadpool.cc:
683         * glib/src/iochannel.ccg:
684         * glib/src/iochannel.hg:
685         * glib/src/markup.ccg:
686         * glib/src/spawn.ccg:
687         * glib/src/thread.ccg: Put #ifdefs around try/catch blocks, and 
688         use alternative API when appropriate.
689         * examples/iochannel_stream/fdstream.cc:
690         * examples/markup/parser.cc:
691         * examples/options/main.cc: Adapted examples to 
692         the alternative API, with #ifdefs
693         * tools/m4/convert_base.m4: Avoid any conversion if the result is 
694         void, to allow _WRAP_METHOD() to ignore bool results, so we can 
695         generate some methods that are currently hand-coded.
696
697 2006-05-09  Murray Cumming  <murrayc@murrayc.com>
698
699         * glib/glibmm/value.cc:
700         * glib/glibmm/value.h: Added init(const GValue*), so that we can copy GValue instances 
701         of any type at runtime. Needed by libgdamm, which returns const GValue* instances.
702
703 This is the HEAD branch, for API additions. See also the glibmm-2-10 branch.
704
705 2.10.1:
706
707 2006-04-12  Murray Cumming  <murrayc@murrayc.com>
708
709         * tools/m4/signalproxy_custom.m4: Remove this file because it is not installed and 
710         does not seem to be used.
711
712 2006-04-12  Murray Cumming  <murrayc@murrayc.com>
713
714         * tools/m4/signal.m4: Mark the (private) signal info callback functions as 
715         static, to save on code size. 
716
717 2006-04-12  Murray Cumming  <murrayc@murrayc.com>
718
719         * tools/pm/WrapParser.pm: Parse a new optional constversion parameter for 
720         _WRAP_METHOD(), to save on code size by just calling the non-const overload 
721         instead of generating almost identical code.
722         * tools/m4/method.m4: _METHOD(): Take extra parameters for use when constversion is used.
723         * tools/pm/Output.pm: Send the extra parameters to _METHOD().
724         * docs/internal/using_gmmproc.txt: Documented the new constversion option.
725
726 2006-04-12  Murray Cumming  <murrayc@murrayc.com>
727
728         * glib/glibmm/main.cc:
729         * glib/glibmm/objectbase.cc:
730         * glib/glibmm/property.cc:
731         * glib/glibmm/ustring.cc:
732         * glib/glibmm/value_custom.cc: 
733         * glib/src/spawn.ccg: Mark private functions as 
734         static, to stop them being exported in the API, to reduce the 
735         library code size slightly.
736         * tools/m4/signal.m4: Make generated callback functions static, for 
737         the same reasons.
738
739 2006-04-07  Cedric Gustin  <cedric.gustin@gmail.com>
740
741         * README.win32: Updated for Mingw-4.1.
742
743 2006-04-06  Cedric Gustin  <cedric.gustin@gmail.com>
744
745         * MSVC_Net2003/*.vcproj: Embed the manifest file into executables
746         in the case of the Debug target.
747         * README.win32: Fixed a few typos.
748         * build_shared/Makefile_build.am_fragment: Add -DGLIBMM_BUILD to
749         the extra_defines compiler flags (switch between
750         dllexport/dllimport on win32).
751         * glib/glibmmconfig.h.in: Define GLIBMM_DLL when building with
752         mingw32/cygwin. This makes the GLIBMM_API tag (and GTKMM_API for
753         gtkmm) active with these two platforms, as required by bug
754         #309030.  
755         * glib/glibmm/object.h, glib/glibmm/objectbase.h : Tag the Object
756         and ObjectBase classes with GLIBMM_API to make Visual Studio happy.
757
758 2.10.0:
759
760 2006-02-25  Murray Cumming  <murrayc@murrayc.com>
761  
762         * tools/pm/DocsParser.pm: looklookup_documentation(): Put the 
763         @deprecated text immediately after the main description, before 
764         the parameters, so that Doxygen actually uses it.
765  
766 2006-02-25  Murray Cumming  <murrayc@murrayc.com>
767  
768         * tools/pm/DocsParser.pm: looklookup_documentation(): Accept an 
769         extra deprecated_documentation parameter, to be appended to the 
770         Doxygen documentation.
771         * tools/pm/Output.pm: output_wrap_meth(): Put the documentation 
772         inside the deprecation #ifdef, for neatness.
773         * tools/pm/WrapParser.pm: on_wrap_method(): Read an optional string 
774         after the optional deprecated parameter, used to say why the 
775         method is deprecated, in case it was not deprecated by the C API, 
776         in which case it would already have documentation for this.
777
778 2006-02-27  Cedric Gustin <cedric.gustin@gmail.com>
779
780         * README.win32: Updated for glibmm-2.8 (MS Visual Studio 2005).
781         * glib/glibmm/ustring.h: Tag npos with GLIBMM_API, in order to
782         dllexport it on win32. Bug #332438.
783         * MSVC_Net2003/*.vcproj: Updated for Visual Studio 2005. Added the
784         /vd2 compiler flag (Bug #158040).
785         * MSVC_Net2003/glibmm.sln: Updated for Visual Studio 2005.
786         * MSVC_Net2003/gendef/gendef.cc: Redirect output of dumpbin to a
787         file.
788         * glib/glibmmconfig.h.in: Undefined
789         GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS for MSVC.
790
791 2006-02-03  Murray Cumming  <murrayc@murrayc.com>
792
793         * docs/internal/using_gmmproc.txt: Section about regenerating .defs:
794         Repeat the hint about extra_defs_gen here.
795
796 2006-02-27  Cedric Gustin <cedric.gustin@gmail.com>
797
798         * glib/glibmm/ustring.h: Tag npos with GLIBMM_API, in order to
799         dllexport it on win32. Bug #332438.
800
801 2006-02-07  Rob Page  <page.rob@gmail.com>
802
803         * glib/glibmm/ustring.h: fix a typo in the documentation for uppercase()
804
805 2.9.1:
806
807 2006-01-28  Murray Cumming  <murrayc@murrayc.com>
808
809         * glib/src/optiongroup.ccg: add_entry_with_wrapper(): Copy the 
810         CppOptionEntry into the map _after_ setting entry_ so that we 
811         really delete it in release_c_arg(), to avoid a memory leak.
812
813 2006-01-28  Rob Page <rob@gmail.com>
814
815         * docs/reference/glibmm_header.html_fragment: Fix the link 
816         to the Main page. Bug #328299.
817
818 2006-01-27  Murray Cumming  <murrayc@murrayc.com>
819
820         * glib/src/optionentry.ccg: Constructor: Avoid memory 
821         leak caused by double instantiation of gobject_.
822
823 2005-12-16  Murray Cumming <murrayc@murrayc.com>
824
825         * glib/glibmm/object.h:
826         * glib/glibmm/objectbase.h: Hide some internal stuff 
827         from Doxygen. Add/Improve the Doxygen documentation.
828         * glib/src/convert.hg: Correct the declaration of 
829         filename_display_name() to match the implementation. 
830         Previously this would have been unusable due to a linker 
831         error.
832
833 2005-11-30  Murray Cumming <murrayc@murrayc.com>
834
835         * docs/reference/Doxyfile.in: Define the @newin aliases, 
836         as in gtkmm.
837         * tools/pm/DocsParser.pm: Convert Since: in gtk-doc 
838         text to @newin for our doxygen docs.
839
840 2005-11-29  Murray Cumming <murrayc.com>
841
842         * build_shared/Makefile_build.am_fragment:
843         * configure.in: Added --enable-use-deprecations, 
844         defaulting to no (do not check for them), so that 
845         the tarball will still build when newer versions 
846         of glib deprecate some API. 
847         * examples/Makefile.am_fragment: Use the 
848         deprecation, if wanted.
849
850 2005-11-29  Murray Cumming <murrayc@murrayc.com>
851
852         * build_shared/Makefile_build.am_fragment:
853         * configure.in: Added --enable-deprecated-api 
854         option. When set to disabled, it does not build 
855         deprecated API. This reduces the size of the library, 
856         and might be useful for embedded devices.
857         * glib/src/date.ccg:
858         * glib/src/date.hg: Use _DEPRECATE_IFDEF_START/END 
859         around the deprecated set_time() method.
860
861 2005-11-29  Murray Cumming <murrayc@murrayc.com>
862
863         * tools/m4/base.m4: Add 
864         _DEPRECATE_IFDEF_START and _DEPRECATE_IFDEF_END 
865         macros, to #ifdef-out generated methods. 
866         Added _DEPRECATE_IFDEF_CLASS_START and 
867         _DEPRECATE_IFDEF_CLASS_END for whole classes. 
868         Put _DEPRECATE_IFDEF_CLASS* around all generated 
869         code. It does nothing if the class is not deprecated.
870         * tools/m4/class_gtkobject.m4: Add _DEPRECATED macro, 
871         used to mark a class as deprecated.
872         * tools/m4/method.m4: Take an extra parameter, to 
873         optionally mark the method as deprecated, to add 
874         #ifdefs around the code, with 
875         _DEPRECATE_IFDEF_START/END
876         * tools/pm/Output.pm: _DEPRECATE_IFDEF_START/END 
877         around the declarations of deprecated methods.
878         * tools/pm/WrapParser.pm: Check for an optional 
879         deprecated parameter to _WRAP_METHOD(). 
880         * tools/m4/member.m4: Allow optional deprecated 
881         method for _MEMBER_GET/SET*() to ifdef the code 
882         out.
883         * tools/generate_wrap_init.pl.in: Put an #ifdef 
884         around use of deprecated classes.
885
886 2005-11-23  Murray Cumming <murrayc@murrayc.com>
887
888         * configure.in: Depend on glib 2.9, which 
889         has new API.
890         * glib/src/date.ccg:
891         * glib/src/date.hg: Wrap glib_date_set_time_t() 
892         and glib_date_set_time_val(). Deprecate  
893         set_time(GTime) in favour of the new method 
894         overloads. Added set_time_current(), wrapping the 
895         case that the time_t is 0.
896
897 This is the HEAD branch, for new API, targetting glib 2.9. See also the 
898 glibmm-2-8 branch.
899
900 2.8.2:
901
902 2005-11-23  Murray Cumming <murrayc@murrayc.com>
903
904         * glib/glibmm/containers.h: Do not use g_assert() in 
905         a header, because g++ sometimes warns that it has 
906         no effect.
907
908 2005-10-29  Murray Cumming <murrayc@murrayc.com>
909
910         * scripts/macros.m4: AL_PROG_GNU_MAKE(): 
911         Use $MAKE-make instead of $ac_make, which 
912         apparently fixes a build problem on some 
913         Solaris systems. Thanks to Mark Rouchal in 
914         bug #307480.
915
916 2.8.1:
917
918 2005-10-19  Murray Cumming  <murrayc@murrayc.com>
919
920         * configure.in: Check for glib 2.8. Bug #317913.
921
922 2.8.0:
923
924 Updated NEWS and increased version to 2.8.0.
925
926 2.7.3:
927
928 2005-08-17  Murray Cumming  <murrayc@murrayc.com>
929
930         * glib/src/glib_docs.xml: Regenerated with docextract_to_xml.py
931         * glib/src/glib_enums.defs: Regenerated with enums.pl
932         * glib/src/glib_functions.defs: Regenerated with h2defs.py
933
934 2.7.2:
935
936 2005-07-16  Murray Cumming <murrayc@murrayc.com
937
938         * glib/glibmm/miscutils.cc: Reimplemented build_filename() and 
939         build_path() with the new non-vararg functions in glib 2.7, 
940         instead of implementing them in gtkmm.
941         * glib/src/glib_enums.defs: Regenerated with enums.pl
942         * glib/src/optionentry.hg: Added FLAG_NO_ARG, FLAG_FILENAME, 
943         FLAG_OPTIONAL_ARG, and FLAG_NOALIAS enum values.
944
945
946 2.7.1:
947
948 2005-06-08  Murray Cumming <murrayc@murrayc.com
949
950         * glib/glibmm/propertyproxy.h: 
951         PropertyProxy_ReadOnly<>::get_value(),
952         PropertyProxy_WriteOnly<>::set_value(): Add implementations 
953         instead of casting to unrelated PropertyProxy() and calling it 
954         there. The AIX compiler did not like this hack. Bug #301610
955
956 2005-06-07  Cedric Gustin <cedric.gustin@swing.be>
957
958         * glib/glibmm/miscutils.cc: In get_home_dir, return an empty
959         string when HOME is not defined (Win9x). Bug #306310 from Michael
960         Hofmann.
961         * glib/glibmm/miscutils.h: Updated docstring for the get_home_dir
962         method.
963
964 2005-04-27  Murray Cumming <murrayc@murrayc.com>
965
966         * examples/child_watch/main.cc:
967         * examples/thread/dispatcher.cc:
968         * examples/thread/thread.cc:
969         * glib/glibmm/dispatcher.cc: Inherit signal handler objects from 
970         sigc::trackable. This is necessary with some libsigc++ patches, 
971         though not currently necessary with regular libsigc++.
972
973 2005-04-22  Murray Cumming  <murrayc@murrayc.com>
974
975         * glib/src/gmodule_enums.defs: Regenerate with enums.pl
976         * glib/src/gmodule_functions.defs: Regenerate with h2defs.py
977         This adds the BIND_LOCAL enum value. Bug #172748 from 
978         Phillip Neiswanger.
979
980 2005-04-05  Murray Cumming  <murrayc@murrayc.com>
981
982         * tool/pm/Output.pm: output_wrap_property(): Do not add the 
983         const read-only method override if the property can not be read. Be 
984         careful because this removes a little API from generated code. You 
985         should hand-code the wrongly-generated methods and mark them as 
986         deprecated.
987         * glib/glibmm/refptr.h: Added cast_const<>, like the existing 
988         cast_dynamic<> and cast_static.
989
990 2005-03-31  Murray Cumming <murrayc@murrayc.com>
991
992         * glib/src/glib_functions.defs: Updated with 
993         h2defs.py.
994
995 2005-03-13  Yair Hershkovitz <yairhr@gmail.com>
996
997         * glib/glibmm/main.h,
998         glib/glibmm/main.cc: Added MainContext::signal_child_watch()
999         * examples/: Added child_watch/ example   
1000   
1001 2005-03-11  Yair Hershkovitz <yairhr@gmail.com>
1002
1003         * glib/glibmm/main.h, glib/glibmm/main.cc: 
1004         Add Glib::SignalChildWatch class, Glib::signal_child_watch()
1005
1006 This is the HEAD branch, for new API. Bug fixes that do not change or add 
1007 API should also be applied to the glibmm-2-6 branch.
1008
1009 2005-03-09  Cedric Gustin <cedric.gustin@swing.be>
1010
1011         * MSVC_Net2003/Makefile.am: Add blank.cpp to EXTRA_DIST.
1012         * MSVC_Net2003/glibmm/glibmm.vcproj: Remove sarray.cc from the
1013         list of source files.
1014         * MSVC_Net2003/examples/*/*.vcproj,
1015         MSVC_Net2003/tests/glibmm_value/glibmmvalue.vcproj: Change name of
1016         PDB file to $(OutDir)/$(TargetName).pdb. 
1017         
1018 2.6.1:
1019
1020 2005-03-07  Murray Cumming  <murrayc@murrayc.com>
1021
1022         * glib/glibmm/interface.cc: Disable the new check for pre-existing 
1023         interface implementations, because it checks all base gtypes and 
1024         not just the current gtype. Bug #169442 by Bryan Forbes.
1025
1026 2.6.0:
1027
1028 2.5.6:
1029
1030 2005-02-18  Murray Cumming  <murrayc@murrayc.com>
1031
1032         * glib/glibmm/interface.cc: Interface_Class:add_interface(), used by 
1033         add_interface() methods of Interfaces: Do not add interfaces that 
1034         have been added before, to avoid the warning from glib. This 
1035         allows application code to be simpler.
1036
1037 2005-02-18  Murray Cumming  <murrayc@murrayc.com>
1038
1039         * tools/pm/Output.pm: Add the documentation to the const property() 
1040         accessor as well as the non-const one.
1041
1042 2005-02-13  Murray Cumming  <murrayc@murrayc.com>
1043
1044         * tools/extra_defs_gen/generate_extra_defs.cc: Use 
1045         g_param_spec_get_blurb() to output the documentation for the 
1046         properties in the .defs file.
1047         * tools/m4/property.m4: Take an extra docs argument, and put it in the 
1048         doxygen docs.
1049         * tools/pm/Output.pm: Add the extra docs argument when calling the 
1050         property m4 macro.
1051         * tools/pm/Property.pm: Read in the new docs part of the .defs, and 
1052         add a period at the end if neccessary.
1053
1054 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
1055
1056         * examples/threadpool.cc, dispatcher.cc, dispatcher2.cc: Removed the 
1057         #ifdef for AIX, because sigc::bind now works on AIX.
1058
1059 2005-01-27  Cedric Gustin <cedric.gustin@swing.be>
1060
1061         * MSVC_Net2003/glibmm/glibmm.rc.in: Reverted to 2.4 for the
1062         library version number.
1063
1064 2.5.5:
1065
1066 2005-01-26  Cedric Gustin <cedric.gustin@swing.be>
1067
1068         * MSVC_Net2003/glibmm/glibmm.vcproj: Reverted to 2.4 for the
1069         library version number.
1070
1071 2005-01-24  Cedric Gustin <cedric.gustin@swing.be>
1072
1073         * Makefile.am, configure.in: Added MSVC_Net2003 directory.
1074         * config.h.in: Added mkfifo #define (for mingw32).
1075         * glib/glibmmconfig.h.in: Added new #define's to MSVC section.
1076         * examples/iochannel_stream/Makefile.am: Do not build on win32
1077         with mingw32 (mkfifo not available).
1078         * scripts/cxx_std.m4: Fixed typo in AC_DEFINE macros.
1079         * build_shared/Makefile_build.am_fragment: Removed
1080         $(sublib_name)_COMPILATION variable (is useless now on
1081         cygwin/mingw as all symbols are dll exported).
1082         * MSVC_Net2003/*: Initial commit imported from glibmm-2-4 branch.
1083         * MSVC_Net2003/glibmm/Makefile.am: Rewrote rule for local copy of
1084         glibmmconfig.h (required for 'make distcheck').
1085
1086 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
1087
1088         * configure.in, scripts/cxx.m4, glibmm/glibmmconfig.h.in: Added new 
1089         compiler tests to see whether extern "C" functions are put in the 
1090         global namespace, even when we use extern "C" inside a namespace 
1091         declaration. The AIX xlC compiler does this, but allows us to 
1092         redeclare the namespace inside the extern "C" block.
1093         * glib/glibmm/property.h: Use the new 
1094         #ifdef GLIBMM_MUST_REDECLARE_NAMESPACES_INSIDE_EXTERNC and redeclare 
1095         the namespace when necessary.
1096         * examples/thread/dispatcher.cc, dispatcher2.cc: Use sigc::bind<1> 
1097         instead of just sigc::bind<> because the AIX xlC compiler needs the 
1098         extra hint. However, the linker then fails, so the use of sigc::bind 
1099         is ifdefed out for _AIX. See the comments in the code.
1100         
1101 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
1102
1103         * configure.in, scripts/cxx.m4, glibmm/glibmmconfig.h.in: Added new 
1104         compiler tests.
1105         1. To see whether it allows use of non extern C functions 
1106         as extern C callbacks, because the Tru64 compiler does not 
1107         allow this, when using strict_ansi. We do not actually use this yet.
1108         2. To see whether it allows us to define a template that uses an 
1109         undefined type, even if we do not use it before defining the type. 
1110         Tru64 does not allow this. That's probably correct. 
1111         * glib/glibmm/container.h: #ifdef out a dynamic_cast that Tru64
1112         does not allow, and which I can not think of a better place to put.
1113         See the comment in the code.
1114         * glib/glibmm/containerhandler_helpers.h: When the compiler does not 
1115         alllow the GObject and GtkObject (dynamic_cast of) specializations 
1116         here, then put them in glib/glibmm/object.h and 
1117         gtkmm/gtk/src/object.hg instead.- needed by Tru64 compiler.
1118         * glib/glibmm/value.h, value_custom.[h|cc]: Conditionally moved 
1119         the RefPtr Value specialization into object.h, as above.
1120         * glib/src/ optiongroup.ccg, spawn.ccg, thread.ccg: Make C callacks 
1121         separate extern "C".
1122         * glib/src/optiongroup.ccg: Do not use the StringArrayHandle, 
1123         because the Tru64 compiler has problems with it - see comments 
1124         in code.
1125         * glib/src/optionentry.hg: Remove the include of value.h, because 
1126         it is not used and it causes a Tru64 compile error in 
1127         optioncontext.cc because its templates are included before the 
1128         types that the template uses.
1129
1130 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
1131
1132         * configure.in, scripts/cxx.m4, glibmm/glibmmconfig.h.in: Added a 
1133         compiler test, because the IRIX MipsPro compiler does not allow the 
1134         inline initialization of ustring::npos.
1135         * glib/glibmm/ustring.[h|cc]: When the compiler does not support the 
1136         inline initialization of npos, initialize it in the .cc file.
1137         Declare partial specializations of the SequenceString inner class 
1138         inside the class - needed by IRIX MipsPro compiler. 
1139
1140 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
1141
1142         * glibmm/src/optiongroup.[hg|ccg]: CppOptionEntry::convert_c_to_cpp(): 
1143         Copy the strings to the vector in a loop, instead of using the 
1144         ArrayHandle constructor, because that does not seem to work with the 
1145         SUN Forte compiler.
1146
1147 2.5.4:
1148
1149 2005-01-10  Murray Cumming  <murrayc@murrayc.com>
1150
1151         * glibmm/src/optiongroup.[hg|ccg]: Added a castitem constructor 
1152         that always takes ownership, needed by Gtk::Main. Added the new 
1153         FLAG_REVERSE flag value. Added reference documentation.
1154
1155 2.5.3:
1156
1157 2005-01-09  Murray Cumming  <murrayc@murrayc.com>
1158
1159         * glib/glibmm/misc_utils.[h|cc]: Added setenv() and unsetenv(), 
1160         wrapping new functions added in glib 2.4.
1161         * glib/src/convert.[hg|ccg]: Added filename_display_name() and 
1162         filename_display_basename().
1163
1164 2005-01-09  Murray Cumming  <murrayc@murrayc.com>
1165
1166         * glib/src/optionentry.ccg: Copy constructor: Copy the short name 
1167         form the src, not from itself. Bug #16331 from Daniel Holbach.
1168
1169 2005-01-09  Murray Cumming  <murrayc@murrayc.com>
1170
1171         * glib/src/optionentry.[hg|cc]: Add add_entry(entry, bool&), to wrap 
1172         use of G_OPTION_ARG_NONE. Bug #163325 from Daniel Holbach.
1173         * examples/options/main.cc: Use the new add_entry() overload.
1174
1175 2005-01-06  BenoĂ®t Dejean  <TazForEver@dlfp.org>
1176
1177         * glib/glibmm/dispatcher.cc:
1178         * glib/glibmm/error.cc:
1179         * glib/glibmm/exceptionhandler.cc:
1180         * glib/glibmm/main.cc:
1181         * glib/glibmm/threadpool.cc:
1182         * glib/glibmm/ustring.cc:
1183         * glib/glibmm/wrap.cc: Don't export private API.
1184         Closes #163031.
1185
1186 2005-01-04  Chris Vine <chris@cvine.freeserve.co.uk>
1187         
1188         * examples/iochannel_stream/: Provide a means of obtaining
1189         Glib::IOChannel error information from the streambuffer.  Remove
1190         the code conversion option from the fdstream/fdstreambuf
1191         constructors and add comments in fdstream.h about code conversion
1192         and other matters.  Add a detach() function and a destructor to
1193         fdstreambuf.  Correct an error in fdstreambuf::xsgetn().  Include
1194         missing <string> header file in main.cc.
1195
1196 2.5.2:
1197
1198 2004-12-19  Murray Cumming  <murrayc@murrayc.com>
1199
1200         * examples/: Adapted and added iochannel_stream example from 
1201         Chris Vine in bug #138259.
1202
1203 2004-12-19  Murray Cumming  <murrayc@murrayc.com>
1204
1205         * glib/src/: Added glib_docs.xml, generated with docsextract_to_xml.py 
1206         and glib_docs_override.xml, to generate some API reference from 
1207         the C docs.
1208         * glib/src/Makefile.am: Mention the new files.
1209
1210 2004-12-19  Murray Cumming  <murrayc@murrayc.com>
1211
1212         * docs/reference/: Added a copy of the libstdc++ doxygen tags file, 
1213         but it still does not seem to work, for example with std::vector<> 
1214         and std::string.
1215
1216 2004-12-19  Murray Cumming  <murrayc@murrayc.com>
1217
1218         * docs/reference/Doxyfile.in: Use the libstdc++ TAG files, so that 
1219         references to std:: classes take people to their docs.
1220         * glib/src/: Added glib_docs.xml and glib_docs_override.xml, and 
1221         mentioned them in Makefile.am.
1222
1223 2004-12-19  Murray Cumming  <murrayc@murrayc.com>
1224
1225         * glib/src/date.hg, glib/glibmm/main.h, 
1226         glib/glibmm/signalproxy_connectionnode.h: Deal with some doxygen 
1227         warnings about undocumented parameters.
1228         * glib/glibmm/ustring.h: Added documentation for the size() and 
1229         bytes() methods. 
1230
1231 2004-11-21  Murray Cumming  <murrayc@murrayc.com>
1232
1233         * glib/src/optionentry.[hg|ccg]: Removed OptionEntry enum and 
1234         set_arg_data(), because they are not needed any more.
1235
1236 2.5.1:
1237
1238 2004-11-01  Murray Cumming  <murrayc@murrayc.com>
1239
1240         * glib/src/optiongroup.[hg|ccg]: Added add_entry() for vector<ustring> 
1241         and add_entry_filename() for std::string and vector<std::string>.
1242         * examples/options/main.cc: Test these new methods.
1243
1244 2004-10-30  Murray Cumming  <murrayc@murrayc.com>
1245
1246         * glib/src/optiongroup.[hg|ccg]: Added gobj_give_ownership().
1247         * glib/src/optioncontext.[hg|ccg]: add_group(), set_main_group(): Use 
1248         gobj_give_ownership() because GOptionContext deletes the GOptionGroups 
1249         that we give it.
1250
1251 2004-10-26  Murray Cumming  <murrayc@murrayc.com>
1252
1253         * glib/src/optionentry.hg: Remove accessors for arg and arg_data.
1254         * glib/src/optiongroup.[hg|ccg]: add_entry(): Remove arg_type parameter
1255         and instead add overrides which take specific C++ value types. 
1256         Add CppOptionEntry inner class to hold information about each entry 
1257         and its dynamically allocated C value.
1258         Add map_entries_ map to store them, so we can iterate over them during 
1259         post_parse.
1260
1261 2004-10-21  Murray Cumming  <murrayc@murrayc.com>
1262
1263         * build_shared/Makefile_build.am_fragment: Patch from Roger Leigh in 
1264         bug # 15589 to use PLATFORM_WIN32 rather than OS_WIN32 to enable 
1265         -no-undefined. This allows glibmm to build in a cgwin environment, 
1266         apparently.
1267
1268 2.5.0:
1269
1270 2004-10-17  Murray Cumming  <murrayc@murrayc.com>
1271
1272         * glib/src/optioncontext.[hg|ccg]: add_entry(): Fixed crash by 
1273         creating a temporary array, with a nulled last item, which is what the 
1274         C function wants. In callbacks, ignore the group parameter because our 
1275         option group in the data parameter is the same, and does not require 
1276         construction of a second C++ wrapper instance for the same C instance.
1277         * glib/src/optiongroup.[hg|ccg]: Removed the cast constructor, because 
1278         it is not needed anymore, and there is no clear way to implement it.
1279
1280 2004-10-14  Murray Cumming  <murrayc@murrayc.com>
1281  
1282         * tools/pm/WrapParser.pm: on_wrap_property(): Convert property name to 
1283         canonical form, so that we can recognise notifications of property 
1284         value changes. Bug #152764.
1285
1286 2004-10-07  Philip Langdale  <plangdale@vmware.com>
1287
1288         * glib/glibmm/signalproxy_connectionnode.cc: Remove unnecessary warning
1289         when notify() is called after destroy_notify_handler(). (bug #154498)
1290
1291 2004-10-01  Murray Cumming  <murrayc@murrayc.com>
1292
1293         * glib/src/option*.[hg|ccg], examples/options/main.cc: Rethought the 
1294         structure now that I see how the parts work together. Rearranged the 
1295         example to show how the parsing can fill values in member variables 
1296         of a derived OptionGroup class. However, 1. it crashes now, 2. we need 
1297         extra code to map the GOption C types to suitable C++ types, probably 
1298         by doing pre and post parsing to create temporary C types for the C++ 
1299         types.
1300
1301 2004-09-27  Murray Cumming  <murrayc@murrayc.com>
1302
1303         * glib/src/option*.[hg|ccg]: Wrapped more methods, but I have still not
1304         finished.
1305         * examples/options/: Started an example.
1306
1307 2004-09-26  Murray Cumming  <murrayc@murrayc.com>
1308
1309         * glib/src/glib_functions.defs: Regenerated with h2defs.py
1310         * glib/src/: Added optionentry.[hg|ccg], optiongroup.[hg|ccg], 
1311         optioncontext.[hg|ccg].
1312
1313 2004-09-19  Murray Cumming  <murrayc@murrayc.com>
1314
1315         * This is the HEAD branch.
1316
1317 2004-09-13  Cedric Gustin <cedric.gustin@swing.be>
1318
1319         * examples/thread/dispatcher.cc: Fixed a race condition on win32
1320         that involved the combined use of auto_ptr and multithreading (bug
1321         #109966). 
1322
1323 2.4.4:
1324
1325 2004-07-23  Martin Schulze  <mschulze@cvs.gnome.org>
1326
1327         * glib/glibmm/main.cc: Move deletion of SourceConnectionNode object
1328         into destroy_notify_callback() exclusively; do not delete from 
1329         notify().
1330         (bug #144420)
1331
1332 2004-07-10  Murray Cumming  <murrayc@murrayc.com>
1333
1334         * glib/glibmm/signalproxy_connectionnode.cc: notify(): Do not delete 
1335         the connection after disconnecting it, because disconnecting it 
1336         always causes disconnect_notify to be called, so just delete it there.
1337         This prevents double deletes and reading of deleting memory, found in 
1338         bug #145571.
1339
1340 2004-07-09  Murray Cumming  <murrayc@murrayc.com>
1341
1342         * glib/glibmm/signalproxy.h.m4: Added some documentation.
1343
1344 2004-06-20  Daniel Elstner  <daniel.elstner@gmx.net>
1345
1346         * glib/glibmm/objectbase.cc: Spring cleaning.
1347         * glib/glibmm/object.cc: ditto.
1348
1349 2.4.3:
1350
1351 2004-06-18  Daniel Elstner  <daniel.elstner@gmx.net>
1352
1353         * scripts/macros.m4 (GTKMM_ARG_ENABLE_WARNINGS): Add
1354         -Wno-long-long to the list of tried warning flags.
1355
1356 2004-06-16  Daniel Elstner  <daniel.elstner@gmx.net>
1357
1358         * glib/glibmm/dispatcher.cc (DispatchNotifier::create_pipe): There
1359         is no point in calling g_file_error_from_errno() on win32 since we
1360         have no real errno.  Also fix the error text to say "event" rather
1361         than "pipe".
1362
1363 2004-06-14  Daniel Elstner  <daniel.elstner@gmx.net>
1364
1365         * scripts/cxx.m4: Add a couple of casts to void in order to suppress
1366         warnings about unused variables.  I still have no idea as to why the
1367         hardcore warning flags are remembered when running make distcheck...
1368
1369 2004-06-14  Daniel Elstner  <daniel.elstner@gmx.net>
1370
1371         * examples/thread/dispatcher.cc: Explicitely join all threads.
1372         Hopefully that'll fix the crash on win32 (see bug #109966).
1373
1374 2004-06-13  Daniel Elstner  <daniel.elstner@gmx.net>
1375
1376         * examples/thread/dispatcher*.cc (main): Remove unused parameter
1377         names to fix building with -Werror.
1378
1379 2004-06-13  Daniel Elstner  <daniel.elstner@gmx.net>
1380
1381         * configure.in (GTKMM_ENABLE_DEBUG_REFCOUNTING): s/^GTK/GLIB/
1382
1383 2004-06-08  Daniel Elstner  <daniel.elstner@gmx.net>
1384
1385         * build_shared/Makefile_build.am_fragment (all_includes): Remove
1386         left-over include paths for pango, atk, gdk and gtk.
1387
1388 2004-06-07  Daniel Elstner  <daniel.elstner@gmx.net>
1389
1390         * glib/glibmm/stringutils.h: Replace a couple of double quotes with
1391         &quot; to prevent doxygen from escaping the enclosed HTML entities.
1392
1393 2004-06-04  Daniel Elstner  <daniel.elstner@gmx.net>
1394
1395         * glib/glibmm/ustring.h: Use /*! instead of /** to introduce
1396         doxygen comments in order to avoid cluttering the long method list
1397         of class Glib::ustring.  Replace a few double quotes with &quot;
1398         to prevent doxygen from escaping the enclosed HTML entities.
1399
1400 2.4.2:
1401
1402 2004-06-03  Daniel Elstner  <daniel.elstner@gmx.net>
1403
1404         * scripts/Makefile.am (EXTRA_DIST): Remove mkinstalldirs, because
1405         automake-1.8 doesn't use it anymore and prior versions should pick
1406         it up automatically anyway.
1407
1408 2004-06-03  Daniel Elstner  <daniel.elstner@gmx.net>
1409
1410         * glib/glibmm/dispatcher.cc: Complete overhaul of the Win32
1411         implementation of Glib::Dispatcher.  That is, mutex locking is
1412         done correctly now and dynamic memory allocation is no longer
1413         used, plus a few other cleanups.  See reopened bug #109966.
1414
1415 2004-06-03  Daniel Elstner  <daniel.elstner@gmx.net>
1416
1417         * glib/glibmm/signalproxy_connectionnode.cc
1418         (SignalProxyConnectionNode::SignalProxyConnectionNode):
1419         Reorder the initializer list to match the declaration order.
1420
1421         (SignalProxyConnectionNode::notify): Add missing return 0.
1422
1423 2004-05-26  Daniel Elstner  <daniel.elstner@gmx.net>
1424
1425         * glib/glibmm/ustring.{cc,h}: Globally apply some minor code
1426         cleanup and optimization tweaks.
1427
1428         (get_unichar_from_std_iterator): Replace implementation with a
1429         hand-optimized and profiled variant that has been lurking in my
1430         local tree for quite some time, thus should be well tested.
1431         Also add the G_GNUC_PURE() attribute.
1432
1433         (operator+): Explicitely instantiate and return a temporary string,
1434         instead of accessing the reference ustring::operator+=() returns.
1435         This quite often allows the compiler to eliminate the additional
1436         copy constructor invocation.
1437
1438 2004-05-25  Murray Cumming  <murrayc@murrayc.com>
1439
1440         * configure.in, Makefile.am: Removed the glibmm.spec files, because
1441         it is broken and nobody has volunteered to fix it.
1442
1443 2004-05-20  Daniel Elstner  <daniel.elstner@gmx.net>
1444
1445         * examples/thread/dispatcher.cc: Revert last commit because it's
1446         silly.  To make the code truly exception-safe it would be necessary
1447         to either join all threads or to notify them, which is way beyond
1448         the scope of this example.
1449
1450 2004-05-20  Daniel Elstner  <daniel.elstner@gmx.net>
1451
1452         * examples/thread/dispatcher.cc: Set a good example and
1453         be paranoid about possible memory leaks due to exeptions.
1454
1455 2004-05-20  Daniel Elstner  <daniel.elstner@gmx.net>
1456
1457         * examples/thread/dispatcher.cc: Code cleanup.  Most importantly,
1458         get rid of the locking around std::cout since it obfuscates the
1459         purpose of using Glib::Dispatcher.
1460
1461 2004-05-13  Daniel Elstner  <daniel.elstner@gmx.net>
1462
1463         * glib/glibmm/object.{cc,h} (ConstructParams::ConstructParams):
1464         Implement the copy constructor in a way that actually works if used.
1465         Relying on the compiler to optimize it away is a bad idea. (#132300)
1466
1467 2004-05-04  Murray Cumming  <murrayc@murrayc.com>
1468
1469         * glib/glibmm/ustring.h: Documented the constructors, based on
1470         the libstdc++ documentation, to make it clear that sizes are in 
1471         characters rather than bytes.
1472
1473 2004-05-01  Murray Cumming  <murrayc@murrayc.com>
1474
1475         * configure.in: Increase glib dependency to 2.4.0.
1476
1477 2004-04-30  Murray Cumming  <murrayc@murrayc.com>
1478
1479         * tools/m4/gobject.m4: Allow use of _CUSTOM_DTOR(), needed by
1480         Gnome::Gda::Connection.
1481
1482 2.4.1:
1483
1484 2004-04-17  Murray Cumming  <murrayc@murrayc.com>
1485
1486         * docs/reference/Makefile.am: Make the generated html depend on the
1487         beautify_docs.pl.in source instead of the generated beautify_docs.pl,
1488         so that the html is not rebuilt from tarballs.
1489
1490 2004-04-17  Murray Cumming  <murrayc@murrayc.com>
1491
1492         * glib/glibmm/container_handle.h: Reimplemented more of the 
1493         to_cpp_type() methods without using dependent methods, so that they 
1494         work with g++ 3.4 (cvs versions).
1495
1496 2.4.0:
1497
1498 2004-04-11  Murray Cumming  <murrayc@murrayc.com>
1499
1500         * tools/pm/WrapParser.pm, Output.pm, m4/signal.m4: Allow _WRAP_SIGNAL()
1501         to take an refreturn argument, so that Gtk::Widget::on_get_accessible()
1502         can do an extra ref before returning the Atk::Object. 
1503
1504 2004-04-09  Murray Cumming  <murrayc@murrayc.com>
1505
1506         * tools/pm/Output.pm: output_wrap_property(): Provide the actual
1507         property name as well as one with - replace with _, so we can 
1508         test for the correct value in notification signal handler.
1509         * tools/m4/property.m4: Use the actual property name when calling
1510         C functions.
1511
1512 2.3.8:
1513
1514 2004-03-24  Murray Cumming  <murrayc@murrayc.com>
1515
1516         * scripts/cxx.m4: Corrected parentheses, which cause the docs to be 
1517         written into config.h. Thanks to Alexander Nedotsukov.
1518
1519 2004-03-23  Murray Cumming  <murrayc@murrayc.com>
1520
1521         * scripts/cxx.m4: Corrected the ambiguous const template test, which
1522         failed on all platforms because it generated bad code.
1523
1524 2004-03-20  Martin Schulze  <mschulze@cvs.gnome.org>
1525
1526         * glibmm/main.cc: Bug fix in SourceConnectionNode::notify() (#137030).
1527
1528 2004-03-18  Murray Cumming  <murrayc@murrayc.com>
1529  
1530         * tools/generate_wrap_init.pl: Change a regex so that files are
1531         included without full path. Apparently this helps when building outside
1532         of the source directory, though I'm sceptical. By Victor Zverovich in 
1533         bug #137530.
1534
1535 2.3.7:
1536
1537 2004-03-14  Murray Cumming  <murrayc@murrayc.com>
1538                                                                          
1539         * scripts/sun.m4: Set the correct variable, so it is actually set in 
1540         glibmmconfig.
1541
1542 2004-03-14  Murray Cumming  <murrayc@murrayc.com>                                                                                       
1543         * glib/glibmm/containerhandle_shared.h value.h: Used ifdef 
1544         GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS to avoid 
1545         problems with the SUN Forte compiler.
1546
1547 2004-03-14  Murray Cumming  <murrayc@murrayc.com>
1548
1549         * scripts/cxx.m4: Added CAN_DISAMBIGUATE_CONST_TEMPLATE_SPECIALIZATIONS
1550         m4 macro to use in configure.in, to check for the SUN Forte problem -
1551         see the comments in cxx.m4.
1552         * scripts/sun.m4: Moved some brackets around to make the define
1553         actually work.
1554
1555 2004-03-13  Murray Cumming  <murrayc@murrayc.com>
1556
1557         * glib/glibmm/containerhandle_shared.h: TypeTraits to_cpp_type() 
1558         specializations: Use wrap_auto() directly instead of a specific
1559         wrap() overload that would be dependent. Needed for g++ 3.4.
1560         * glib/glibmm/containers.h: Same again.
1561
1562 2004-03-13  Murray Cumming  <murrayc@murrayc.com>
1563
1564         * tools/m4/class_shared.m4: Remove the parent get_type() call from
1565         the Class::init() function, because it is optimised away, and g++ 3.4
1566         actually complains that it does nothing.
1567         * glib/glibmm/object.[h|cc]: Add a public ConstructParams copy 
1568         constructor, needed by g++ 3.4. See comments in the code.
1569         * tests/glibmm_value/glibmm_value.cc: Instantiate instances of 
1570         value types, to fix the g++ 3.4 build. I don't know what the code
1571         was meant to do before anyway.
1572
1573 2004-03-11  Murray Cumming  <murrayc@murrayc.com>
1574
1575         * scripts/: Added sun.m4, copied from libsigc++-1.2/scripts and 
1576         modified, so we can detect the SUN Forte compiler.
1577         * configure.in: Used the m4 macro.
1578         * glibmm/glibmm-config.h: Undef the GLIBMM_COMPILER_SUN_FORTE macro
1579         so that it will be defined if configure sets it.
1580
1581 2004-03-09  Murray Cumming  <murrayc@murrayc.com>
1582  
1583         * Some, but not all, SUN Forte build fixes: 
1584         * tools/m4/convert_gdk.m4, convert_glib.m4: Use existing
1585         sun-specific conversion when converting from any 
1586         RefPtr<const Something> to *Something.
1587
1588 2004-04-08  Hagen Moebius  <hagen.moebius@starschiffchen.de>
1589
1590         * tools/pm/DocsParser.pm: Another change to give better warnings and
1591         errors at gmmproc-runtime. Further improvment of parsing parameter names
1592         to strip traling underscres. This not only for reference text, but for
1593         the parameter list also.
1594
1595 2004-04-07  Hagen Moebius  <hagen.moebius@starschiffchen.de>
1596
1597         * tools/pm/DocsParser.pm: Allow overrides to only override
1598         part of the docs. Add a <mapping> tag to associate non-prefixed
1599         functions with classes. Improve parsing of parameter names so they
1600         can now have numbers in the names.
1601
1602 2.3.6:
1603
1604 2004-03-03  Murray Cumming  <murrayc@murrayc.com>
1605
1606         * Added glib/glibmm/i18n.h and i18n-lib.h which defines _() and friends
1607         for internationalization. See the comments in the header - you must
1608         include things in the right order.
1609         * glib/src/spawn.[hg|ccg]: Added spawn_close_id() as wrapper for
1610         g_spawn_close_id().
1611         * glib/glibmm/main.[h|cc]: Added MainLoop::depth() as wrapper for
1612         g_main_depth().
1613
1614  2004-03-02  Murray Cumming  <murrayc@murrayc.com>
1615
1616         * tools/pm/Function.pm: parse_param(): Only parse const as an 
1617         individual part of the type name if it is followed by a space, so 
1618         that we can have const const_iterator& types.
1619
1620 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
1621
1622   * CHANGES: Fix typo reported by Chris Vine.
1623
1624 2004-02-13  Martin Schulze  <teebaum@cvs.gnome.org>
1625
1626         * documentation fixes and corrections in the comments reflecting
1627         the shift to libsigc++ 2.
1628         * make all source files in example thread use libsigc++ 2 instead
1629         of libsigc++ 1.2.
1630
1631 2.3.5:
1632
1633 2004-02-10  Murray Cumming  <murrayc@usa.net>
1634
1635         * glibmm now uses libsigc++ 2 instead of libsigc++ 1.2. See bug
1636         #125061 for more details. We must update CHANGES later.
1637
1638 2.3.4:
1639
1640 2004-02-02  Murray Cumming  <murrayc@usa.net>
1641
1642         * glib/glibmm/containerhandle_shared.h: Traits<const T*>: Added
1643         const_cast, needed by TreeView::get_columns() const: bug #126721.
1644
1645 2004-01-29  Murray Cumming  <murrayc@usa.net>
1646
1647         * tools/pm/Parser.pm, Output.pm, tools/m4/signal.m4: Add an optional
1648         custom_c_callback parameter to _WRAP_SIGNAL to allow special code
1649         for the SelectionData& output parameter in Gtk::Widget signals.
1650         Hopefully we won't need too many more of these hacks - the m4 is 
1651         becoming very hard to read, with all these nested ifelse() statements.
1652
1653 2004-01-27  Cedric Gustin  <cedric.gustin@swing.be>
1654
1655         * build_shared/Makefile_build.am_fragment: Added win32-specific
1656         --export-all-symbols to linker flags. This is backported from 
1657         gtkmm-2.2.
1658         * README.win32: Updated text for glibmm-2.4. 
1659         * tools/generate_wrap_init.pl.in: Replaced GTKMM_WIN32 by the 
1660         standard G_OS_WIN32.
1661
1662 2.3.3:
1663
1664 2004-01-22  Murray Cumming  <murrayc@usa.net>
1665
1666         * glib/date.[hg|ccg]: Added clamp_min() and clamp_max() to wrap the
1667         case where g_date_clamp() takes null values.
1668
1669 2004-01-18  Alberto Paro  <alberto@paro.homeunxi.org>
1670
1671         * glib/src/date.hg: documentated Glib::Date functions.
1672         * glib/glibmm/main.h: documentated Glib::MainLoop,Glib::MainContext
1673         and Glib::Source  functions.
1674
1675 2004-01-18  Murray Cumming  <murrayc@usa.net>
1676
1677         * tools/pm/Output.pm, tools/m4/property.m4: When the property is not
1678         read-only, add a second read-only propertyproxy for the same property,
1679         with a const accessor. This allows setting of properties in const
1680         methods. Make all read-only propertyproxies have const accessors.
1681         * glib/glibmm/propertyproxy.h: Added class documentation.
1682         * tools/pm/Output.pm: Declare _vfuncs as virtual methods - fixing
1683         an error in my last change.
1684
1685 2004-01-16  Murray Cumming  <murrayc@usa.net>
1686
1687         * tools/pm/Output.pm, tools/m4/vfunc.m4:
1688         - Generate const vfuncs when requested with _WRAP_VFUNC().
1689         - Put the *_vfunc() decleraration directly into the header, where 
1690         the _WRAP_VFUNC() macro appears, instead of in a separate section.
1691         This allows us to add doxygen documentation before the _WRAP_VFUNC()
1692         in the .hg file. However, we must check that all of our _WRAP_VFUNC()
1693         macros are in protected: sections.
1694
1695 2004-01-12  Murray Cumming  <murrayc@usa.net>
1696
1697         * glib/glibmm/object.cc: Object::Object() default constructor. 
1698         Remove the warning because we really need this to implement a custom
1699         TreeModel. Derive a new GType, as in the 
1700         Object::Object(ConstructParams) constructor. Like that constructor, 
1701         the default one also assumes that you have called a suitable 
1702         ObjectBase constructor, such as ObejctBase(typeid(MyCustomClass)).
1703
1704 2004-01-09  Murray Cumming  <murrayc@usa.net>
1705
1706         * tools/pm/Output.pm: output_wrap_property(): Allow construct-only
1707         properties to be wrapped, as read-only properties.
1708
1709 2004-01-03  Murray Cumming  <murrayc@usa.net>
1710
1711         * tools/gmmproc.in, pm/WrapParser.pm, DocsParser.pm: Removed the 
1712         mergecdocs option - because we always want to merge C docs, to avoid
1713         accidental upload of half-complete docs.
1714
1715 2003-12-29  Murray Cumming  <murrayc@usa.net>
1716
1717         * Makefile.am: Add scripts and tests directories to SUBDIRS instead of 
1718         DIST_SUBDIRS, so that their Makefile.am files are actually used.
1719         * scripts/macros.m4: renamed GTKMM_CHECK_PERL() to GLIBMM_CHECK_PERL()
1720         and install it as glibmm_check_perl.m4, so that other *mm projects
1721         can use it. They need the PERL_PATH for Doxygen.
1722
1723 2003-12-22  Murray Cumming  <murrayc@usa.net>
1724
1725         * docs/reference: generate beautify_docs.pl from beautify_docs.pl.in,
1726         so it can have the perl path in it. Install it, so other *mm 
1727         modules can use it.
1728
1729 2003-12-13  Murray Cumming  <murrayc@usa.net>
1730
1731         * tools/m4/*.m4: Added fuller Doxygen documentation to all gobj() and 
1732         wrap() methods. Doxygen should not emit warnings about these now.
1733
1734 2.3.2:
1735
1736 2003-11-29  Murray Cumming  <murrayc@usa.net>
1737
1738         * tools/m4/signal.m4: Add spaces inside signal_proxy template types,
1739         to avoid << and >> when using templated types.
1740
1741 2003-11-27  Murray Cumming  <murrayc@usa.net>
1742
1743         * tools/pm/WrapParser.pm, Output.pm: Added WRAP_METHOD_DOCS_ONLY()
1744         macro.
1745         * docs/internal/using_gmmproc.txt: Explained the new macro.
1746         
1747 2003-11-02  Murray Cumming  <murrayc@usa.net>
1748
1749         * glib/glibmm/: Added init.[h|cc] with Glib::init() so that the 
1750         gnomemm init() methods do not need to initialize gtkmm.
1751         * tools/m4/class_gobject.m4, class_gtkobject.m4: Added 
1752         _GMMPROC_PROTECTED_GCLASS macro, needed by libgnomecanvasmm. This
1753         was not previously properly merged from gtkmm2.
1754         * tools/m4/property.m4: Re-added PropertyProxy reference documentation
1755         that did not survive a previous merge from gtkmm2.
1756
1757 2003-11-01  Murray Cumming  <murrayc@usa.net>
1758
1759         * glib/glibmm/propertyproxy.h, propertyproxy_base.[h|cc]: Now uses
1760         ObjectBase instead of Object, because glib can now have properties
1761         on interfaces. This is needed, for instance, by the GtkFileChooser
1762         interface wrapper in gtkmm.
1763         * glib/glibmm/object.h: Moved get/set_property() methods into 
1764         ObjectBase, for the same reason.
1765         * tools/pm/WrapParser.pm, Output.pm: Added optional no_default_handler
1766         parameter to gmmproc _WRAP_SIGNAL() macro, for signals whose 
1767         default signal handler is not in the klass struct and therefore
1768         can not be overridden.
1769
1770 2003-10-31  Murray Cumming  <murrayc@usa.net>
1771
1772         * docs/Makefile_web.am_fragment: Corrected install location,
1773         so that links from the gtkmm docs work when they are installed.
1774
1775 2003-10-30  Murray Cumming  <murrayc@usa.net>
1776
1777         * docs: Added images directory, copied from gtkmm, for the reference
1778         html docs.
1779         * configure.in: Mention docs/images/Makefile.
1780         * docs/reference/Doxyfile.in: Genereate glibmm_doxygen_tags instead
1781         of gtkmm_doxygen_tags.
1782         * docs/reference/Makefile.am: dist glibmm_doxygen_tags.
1783         * docs/reference: gtkmm*.html_fragment are now glibmm*.html_fragment.
1784
1785 2.3.1:
1786         
1787 2003-10-23  Murray Cumming  <murrayc@usa.net>
1788
1789         * tools/pm/Output.pm: output_wrap_create(): Used
1790         args_types_and_names_with_default_values() intead of 
1791         args_types_and_names(), so that create() functions .in .h files have 
1792         the default values as specified in _WRAP_CREATE() in .hg files.
1793         * tools/pm/WrapParser.pm: on_ignore_signals(): Strip the quotes, to
1794   make _IGNORE_SIGNAL() really work in .hg files.
1795
1796 2003-10-02  J. Abelardo Gutierrez <jabelardo@cantv.net>
1797
1798         * examples/threads/dispatcher.cc
1799           examples/threads/dispatcher2.cc: fixed to cast out all gktmm code,
1800         now they only need glimm.
1801         * configure.in: Added examples/threads because they don't use gtkmm
1802         anymore.  Now all examples/threads compiles and run just fine.
1803
1804 2.3.0:
1805
1806 2003-09-30  Murray Cumming  <murrayc@usa.net>
1807
1808         * configure.in: Removed examples/threads because we don't build or
1809         distribute it, because it doesn't build, because it uses gtkmm.
1810
1811 2003-09-30  Murray Cumming  <murrayc@usa.net>
1812
1813         * glib/glibmm/object_base.h: ObjectBase inherits virtually from
1814         Sigc::Object. See bug #116280.
1815
1816 2003-09-27  Cedric Gustin  <cedric.gustin@swing.be>
1817  
1818         * glib/glibmm/threadpool.cc: Removed
1819         _GTKMMPROC_SIGNAL_H_AND_CC(#ifndef G_OS_WIN32) restrictions. These
1820         functions are now implemented in the latest (2.2.4) GTK+ on win32.
1821         * README.win32 : Updated list of unsupported functions. 
1822  
1823 2003-08-20  Frank Naumann  <fnaumann@freemint.de>
1824   
1825         * glib/src/thread.hg,
1826           glib/src/unicode.hg: Warning bugfix for VisualStudio .NET 2003;
1827         made wrapper functions returning bool from glib functions
1828         returning int (C lacks builtin type bool) explicit by adding 
1829         an != 0 check. Otherwise VisualStudio .NET warn about implicit
1830         int -> bool cast. 
1831
1832 2003-07-26  Murray Cumming  <murrayc@usa.net>
1833  
1834         * glib/glibmm/dispatcher.cc: Added #include <algorithm>, needed
1835         by MSVC++, as suggested by Frank Naumann in bug #118215.
1836
1837 2003-05-31  Murray Cumming  <murrayc@usa.net>
1838
1839         * tools/gmmproc.in: Corrected location of installed .pm files. They
1840         are now in a glibmm-2.3 folder instead of a glibmm-2.4 folder.
1841
1842 2003-05-14  Murray Cumming  <murrayc@usa.net>
1843
1844         * Applied some of MSVC++ .NET 2003 changes from jburris. For instance,
1845         use of Gtk:: prefix with manage, because MSVC++ can not guess it. Also
1846         corrected the out-of-sync protected/private modifiers in the private
1847         gtype classes and their prototypes.
1848
1849 2003-05-09  Cedric Gustin  <cedric.gustin@swing.be>
1850
1851         * glib/glibmm/dispatcher.cc: small typo in G_OS_WIN32 condition.
1852         
1853 2003-05-07  Murray Cumming  <murrayc@usa.net>
1854
1855         * scripts/macros.m4: Made the --enable-debug-refcounting configure
1856         option set GLIBMM_* instead of GTKMM_*.
1857
1858 2003-05-02  Murray Cumming  <murrayc@usa.net>
1859  
1860         * tools/m4/*.m4: Added doxygen comments to gobj() methods.
1861         * examples/markup/parser.cc: Commented-out a std::right that gcc 2.93
1862         does not like.
1863
1864 2003-04-23  Andrew Makeev
1865  
1866         * glib/glibmm/dispatcher.cc: Added some #ifdefed code to implement
1867         Glib::Dispatcher on WIN32. See comments with the code.
1868
1869 2003-04-22  Murray Cumming  <murrayc@usa.net>
1870
1871         * Install headers in a glibmm-2.3 directory instead of glibmm-2.4,
1872         to be consistent with gtkmm 2.4.
1873
1874 2003-04-21  Murray Cumming  <murrayc@usa.net>
1875
1876         * arrayhandle.h, listhandle, slisthandle.h:
1877         Glib::ListHandle, Glib::ListHandle, Glib::SListHandle: Added 
1878         reference docs explaining that people can use STL containers.
1879         
1880 2003-04-21  Murray Cumming  <murrayc@usa.net>
1881
1882         * Removed examples/idle: It's now updated and in gtkmm/examples/book.
1883
1884 2003-04-19  Murray Cumming  <murrayc@usa.net>
1885
1886         * tools/pm/GtkDefs.pm: get_unwrapped(): Changed some & to && to 
1887         avoid warnings and because that is probably what they should be.
1888
1889         * tools/m4/extra_defs_gen/generate_defs_glib.cc: Removed parameter
1890         names from main(), because they are not used. Avoid warning.
1891
1892 2003-03-26  Ross Burton  <ross@burtonini.com>
1893
1894         * glib/src/module.hg: Added API documentation.
1895
1896 2003-03-18  Enrico Scholz  <enrico.scholz@informatik.tu-chemnitz.de>
1897         
1898         * scripts/*.m4, configure.in:
1899           Added description to several AC_DEFINE statements to make 'autoheader'
1900           happy
1901         * Makefile.am:
1902           Added ACLOCAL_AMFLAGS to make 'autoreconf' work
1903         
1904 2003-03-18  Cedric Gustin  <cgustin@ibelgique.com>
1905  
1906         * Makefile.am : removed examples from DIST_SUBDIRS
1907
1908 2003-03-18  Enrico Scholz  <enrico.scholz@informatik.tu-chemnitz.de>
1909
1910         * examples/Makefile.am_fragment:  Added DESTDIR-support.
1911         
1912 2003-03-14  Cedric Gustin  <cgustin@ibelgique.com>
1913
1914         * Install examples. The are built by default too. Patch adapted for
1915         glibmm 2.4 by Murray Cumming.
1916
1917 2003-03-04  Cedric Gustin  <cgustin@ibelgique.com>
1918
1919         * configure.in : Removed libstdc++ in LDFLAGS on win32. Latest
1920         libtool is taking care of it.
1921         * build_shared/Makefile_build.am_fragment,
1922         tools/extra_defs_gen/Makefile.am : Added
1923         --export-all-symbols linker flag on win32 (required by latest
1924         libtool to build DLLs).
1925         * build_shared/Makefile_gensrc.am_fragment : Modifiy rule that
1926         builds wrap_init.cc. wrap_init.cc now contains reference to all
1927         objects, event on win32. #ifdefs are included when needed.
1928         * README.win32 : updated for version 2.2. Added list of missing
1929         methods and signals on win32
1930         * tools/m4/base.m4 : Added _GTKMMPROC_SIGNAL_H_AND_CC macro.
1931         
1932
1933 2003-03-14  Martin Schulze  <MHL.Schulze@t-online.de>
1934
1935         * docs/internal/using_gtkmmproc.txt: Correct name of
1936         [...]signals.defs generation utiliy.
1937
1938 2003-01-30  Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
1939
1940         * glib/src/thread.hg Cond: Add documentation
1941
1942 2003-01-27  Murray Cumming  <murrayc@usa.net>
1943
1944         * glib/glibmm/refptr.h: Removed RefPtr<>::is_null() to encourage use
1945         of more pointer-like operator bool() instead. Wanted to remove clear()
1946         too, but there is no =0 equivalent yet.
1947         * tools/gmmproc.in: Change harcoded gtkmm-2.0/m4 path to glibmm-2.4/m4.
1948
1949 2003-01-22  Murray Cumming  <murrayc@usa.net>
1950
1951         * GTKMM_ m4 tests and #defines are now prefixed with GLIBMM_
1952
1953 2003-01-21  Murray Cumming  <murrayc@usa.net>
1954
1955         * tests/Makefile.am_fragment, examples/Makefile.am_fragment: 
1956         Corrected LIBS and CFLAGS. Not all of these build because they
1957         use gtkmm stuff too. They need to be reduced to glibmm-only code.
1958
1959 2003-01-21  Murray Cumming <murrayc@usa.net>
1960
1961         * glib/Makefile.am, glib/glibmm/Makefile.am: Install headers in
1962         glibmm-2.4 directory rather than gtkmm-2.4
1963
1964 2003-01-21  Murray Cumming  <murrayc@usa.net>
1965
1966         * configure.in: Use GLIBMM_* instead of GTKMM_* to avoid config.h 
1967         clashes with gtkmm 2.4.
1968         * glib/glibmm-2.4.pc.in: Correct cflags - report 2.4 instead of 2.0.
1969
1970 2003-01-21  Murray Cumming  <murrayc@usa.net>
1971
1972         * tools/extra_defs_gen/Makefile.am: Changed extra_defs library name
1973         from 2.4 to 2.3, so it can be unstable.
1974
1975 2003-01-09  Daniel Elstner  <daniel.elstner@gmx.net>
1976
1977         * glib/glibmm/utility.h (GLIBMM_INITIALIZE_STRUCT): Replace
1978         __builtin_bzero() with __builtin_memset() because the former is
1979         deprecated.  Also, it looks like GCC is able to optimize the 0 case
1980         so we don't lose anything here.
1981
1982 2003-01-09  Daniel Elstner  <daniel.elstner@gmx.net>
1983
1984         * glib/glibmm/miscutils.cc (Glib::build_path): Reserve 256 bytes
1985         in advance to improve performance.
1986
1987 2003-01-09  Daniel Elstner  <daniel.elstner@gmx.net>
1988
1989         * glib/glibmm/miscutils.{cc,h} (Glib::build_path): Fix to make it
1990         behave exactly like g_build_path().  (#102885, Jarek Dukat)
1991
1992         (Glib::build_filename(const std::string&, const std::string&)):
1993         Implement in terms of Glib::build_path().
1994         
1995 2003-01-21  Murray Cumming  <murrayc@usa.net>
1996
1997         * Renamed gtkmmproc to gmmproc.
1998
1999 2003-01-08  Murray Cumming  <murrayc@usa.net>
2000
2001         * glib/glibmm/refptr.h: Removed the operator=(CppObject*), as
2002         suggested in the TODO comment.
2003
2004 2003-01-08  Murray Cumming  <murrayc@usa.net>
2005
2006         * make distcheck works.
2007
2008 2003-01-08  Murray Cumming  <murrayc@usa.net>
2009
2010         * It now builds, though I haven' tried installing it. The
2011         library names and header directories should now all have 2.4
2012         instead of 2.0 in their name.
2013
2014 glibmm was previously part of gtkmm2.
2015