Fix adding multiple notes with the same time stamp (geeze).
[ardour.git] / libs / glibmm2 / ChangeLog
1 2.18.2:
2
3 2009-03-23  Daniel Elstner  <danielk@openismus.com>
4
5         * glib/src/keyfile.{ccg,hg}: Conditionalize all exception-handling
6         code in order to fix the build with --disable-api-exceptions.
7         * glib/src/regex.hg: ditto,
8         * gio/src/appinfo.ccg: ditto,
9         * gio/src/file.{ccg,hg}: ditto,
10         * gio/src/outputstream.ccg: ditto,
11         * examples/keyfile/main.cc: ditto,
12         * examples/regex/main.cc: ditto,
13         * tests/giomm_ioerror/main.cc: ditto,
14         * tests/giomm_simple/main.cc: ditto.
15
16 2009-03-19  José Alburquerque  <jaalburqu@svn.gnome.org>
17
18         * tools/m4/class_gobject.m4: Added _CUSTOM_CTOR_CAST to _CLASS_GOBJECT
19         for classes that need to include custom code in their cast and
20         construct_params constructors as is done with _CLASS_GTKOBJECT.
21         Bug #574861.
22
23 2009-03-18  José Alburquerque  <jaalburqu@svn.gnome.org>
24
25         * tools/m4/base.m4: Modified _GET_TYPE_FUNC() to properly work with
26         types like GtkFOOBar producing, for example, gtk_foo_bar_get_type()
27         instead of gtk_fo_obar_get_type().
28         Bug #575870.
29
30 2009-03-09  Daniel Elstner  <danielk@openismus.com>
31
32         * tools/extra_defs_gen/generate_extra_defs.cc (get_properties):
33         Replace nested double quotes in the docs string by single quotes
34         to ease the parsing pain of gmmproc.
35
36 2009-01-19  Tao Wang  <dancefire@gmail.com>
37
38         * glib/src/nodetree.hg: Do not use a non-ASCII dash character, to 
39         avoid the MSVC++ warning C4819 with Visual Studio 2008.
40         Bug #568072
41
42 2009-01-11  José Alburquerque  <jaalburqu@svn.gnome.org>
43
44         * tools/extra_defs_gen/generate_extra_defs.cc:
45         * tools/extra_defs_gen/generate_extra_defs.h: Undid patch from bug
46         #562810 (José Alburquerque).  All the confusion about gstreamermm
47         packaging (see bug #565454) led to suggested patch which will really
48         probably never be used.
49
50 2009-01-06 Jonathon Jongsma <jonathon@quotidian.org>
51
52         * glib/src/uriutils.ccg: fix a memory leak in the uri utility functions
53         caused by not freeing the returned C string. Bug #566845 (Jason Kasper)
54
55 2008-12-16  José Alburquerque  <jaalburqu@svn.gnome.org>
56
57         * tools/extra_defs_gen/generate_extra_defs.cc:
58         * tools/extra_defs_gen/generate_extra_defs.h: Modify extra defs
59         generation utility to accept custom defined function to determine if
60         GType is a pointer.
61         Bug #562810.
62
63 2008-12-10  Przemysław Grzegorczyk  <pgrzegorczyk@gmail.com>
64
65         * Cleaned up glib includes since in the future, only glib.h (and
66         glib-object.h, etc) will be allowed to be included directly.
67         Bug #563987
68
69 2008-12-01  Hubert Figuiere  <hub@figuiere.net>
70
71         * glib/src/markup.ccg: Change the way unused variables
72         are marked. Bug #562716
73
74 2008-11-29  Hubert Figuiere  <hub@figuiere.net>
75
76         * glib/src/nodetree.hg: Fix -Wshadow warnings. Bug #555743.
77
78 2.18.1:
79
80 2008-10-20  Jonathon Jongsma  <jonathon@quotidian.org>
81
82         * NEWS:
83         * configure.in: bump version to 2.18.1, prepare NEWS for release
84
85 2008-10-20  Jonathon Jongsma  <jonathon@quotidian.org>
86
87         * Makefile.am: updated the release-announce template
88
89 2008-10-16  Armin Burgmeier  <armin@openismus.com>
90
91         * glib/glibmm/ustring.h: Fixed the const char* specialization for
92         Stringify<> by making the string_ member a const Glib::ustring instead
93         of a const Glib::ustring&. Also enabled the char[N] specialization for
94         string literals.
95
96         * tests/glibmm_ustring_compose/main.cc: Enabled the test for the
97         specialization for string literals.
98         Bug #506410 (Szilárd Pfeiffer)
99
100 2008-10-15  José Alburquerque  <jaalburqu@svn.gnome.org>
101
102         * tools/extra_defs_gen/generate_extra_defs.cc: Modify signal and props
103         generation tool to generate interface signals.
104
105 2008-10-15  Armin Burgmeier  <armin@openismus.com>
106
107         * gio/src/fileenumerator.hg:
108         * gio/src/fileenumerator.ccg: Made FileEnumerator::next_file not add
109         an additional reference to the return value, because the C version
110         creates a new object. Also, changed ownership of the list returned by
111         FileEnumerator::next_files_finish to be deep instead of shallow. Bug
112         #556387.
113
114 2008-10-09  Armin Burgmeier  <armin@openismus.com>
115
116         * gio/src/fileinfo.hg: Rename FILE_TYPE_UNKNOWN to FILE_TYPE_NOT_KNOWN
117         because the former is a #define on Windows in winbase.h, included from
118         windows.h. Keep FILE_TYPE_UNKNOWN for compatibility if it is not
119         already defined.
120
121 2008-10-09  Armin Burgmeier  <armin@openismus.com>
122
123         * MSVC_Net2008/Makefile.am: Removed README from EXTRA_DIST to fix
124         `make dist'.
125
126 2008-10-08  Armin Burgmeier  <armin@openismus.com>
127
128         * MSVC_Net2005/examples/dispatcher2/dispatcher2.vcproj:
129         * MSVC_Net2005/examples/dispatcher/dispatcher.vcproj:
130         * MSVC_Net2005/examples/options/options.vcproj:
131         * MSVC_Net2005/examples/thread/thread.vcproj:
132         * MSVC_Net2005/examples/thread_pool/thread_pool.vcproj:
133         * MSVC_Net2005/giomm/giomm.vcproj:
134         * MSVC_Net2005/glibmm/glibmm.vcproj: Adapt to the new MSVC++ DLL
135         naming convention.
136
137         * MSVC_Net2008/: Added MSVC 2008 project files.
138
139         * configure.in:
140         * Makefile.am: Add the new files to the build.
141
142 2008-10-04  Jonathon Jongsma  <jonathon@quotidian.org>
143
144         * gio/src/error.hg: add a workaround for the HOST_NOT_FOUND symbol
145         conflicts, as suggested by Szilárd Pfeiffer in Bug #529496
146         * tests/giomm_ioerror/main.cc: add a test for this
147
148 2008-09-19  Armin Burgmeier  <armin@openismus.com>
149
150         * tools/pm/DocsParser.pm (convert_tags_to_doxygen): Keep @param and
151         @throws intact, so these can be used in *_docs_override_xml. Bug
152         #539891.
153
154 2008-09-22  Armin Burgmeier  <armin@arbur.net>
155
156         * MSVC_Net2005/glibmm/glibmm.vcproj: Added uriutils.cc and nodetree.cc
157         to the project.
158
159 2008-09-22  Armin Burgmeier  <armin@arbur.net>
160
161         * MSVC_Net2005/examples/dispatcher2/dispatcher2.vcproj:
162         * MSVC_Net2005/examples/dispatcher/dispatcher.vcproj:
163         * MSVC_Net2005/examples/markup/markup.vcproj:
164         * MSVC_Net2005/examples/options/options.vcproj:
165         * MSVC_Net2005/examples/thread/thread.vcproj:
166         * MSVC_Net2005/examples/thread_pool/thread_pool.vcproj:
167         * MSVC_Net2005/giomm/giomm.vcproj:
168         * MSVC_Net2005/glibmm/glibmm.vcproj:
169         * MSVC_Net2005/tests/giomm_simple/giomm_simple.vcproj:
170         * MSVC_Net2005/tests/glibmm_value/glibmm_value.vcproj: Fixed the MSVC
171         build of the examples and tests if configure did not run before.
172
173 === 2.18.0 ===
174
175 2008-09-21  Jonathon Jongsma  <jonathon@quotidian.org>
176
177         * Makefile.am: fix a minor issue in the release target
178
179 2008-09-21  Jonathon Jongsma  <jonathon@quotidian.org>
180
181         * NEWS: Add news for 2.18 release
182         * configure.in: bump version number for release
183         * Makefile.am: update release mail template slightly
184
185 2008-09-08  Murray Cumming  <murrayc@murrayc.com>
186
187         * COPYING.tools:
188         * Makefile.am: Added COPYING.tools with the GPL because the tools/*.cc 
189         file is GPL. Bug #550789.
190
191 === 2.17.3 ===
192
193 2008-09-03  Jonathon Jongsma  <jjongsma@gnome.org>
194
195         * NEWS: update for release
196         * configure.in: bump version for release
197
198 2008-08-26  Szilárd Pfeiffer  <szilard.pfeiffer@gmail.com>
199
200         * glib/src/nodetree.hg: Implemented clone function to merge the
201         constructors into that and fixed clear function the operator=
202         function.
203         * tests/glibmm_nodetree/main.cc: Simplified the test case.
204         Bug #547901.
205
206 2008-08-27  Armin Burgmeier  <armin@arbur.net>
207
208         * MSVC_Net2005/glibmm/glibmm.rc.in:
209         * MSVC_Net2005/giomm/giomm.rc.in: Replaced #include "afxres.h" by
210         #include <windows.h> which does the job equally well, and allows
211         compilation with the freely available Visual Studio Express compiler.
212
213 2008-08-27  Armin Burgmeier  <armin@arbur.net>
214
215         * glib/glibmm/ustring.cc: Only include config.h when HAVE_CONFIG_H is
216         defined, to allow building glibmm with MSVC without having generated
217         config.h before. The only thing config.h is used for is the
218         SIZEOF_WCHAR_T define anyway, and this is not needed for a MSVC build.
219         Bug #549343.
220
221 2008-08-26  Murray Cumming  <murrayc@murrayc.com>
222
223         * tests/glibmm_nodetree/main.cc: Actually use the copy constructor (or operator=), 
224         instead of just copying the pointer.
225
226 2008-08-26  Murray Cumming  <murrayc@murrayc.com>
227
228         * glib/src/nodetree.hg: Added an operator=() because we have a copy constructor.
229         Moved some code into a private clear() method so we can reuse it.
230
231 2008-08-26  Szilárd Pfeiffer  <szilard.pfeiffer@gmail.com>
232
233         * glib/src/nodetree.hg: Added a copy constructor. Therefore, take 
234         store the data by value instead of reference, taking it by const reference.
235         * tests/glibmm_nodetree/main.cc: Test the copy constructor.
236         Bug #547909.
237
238 2008-08-15  Szilárd Pfeiffer  <szilard.pfeiffer@gmail.com>
239
240         * glib/src/nodetree.hg: Fixed pointer handling problem in find_child.
241         Bug #547909.
242
243 2008-08-15  Szilárd Pfeiffer  <szilard.pfeiffer@gmail.com>
244
245         * tests/glibmm_nodetree/main.cc: Implement the C++ version of GNode test
246         case.
247         Bug #547889
248
249 2008-07-29  Szilárd Pfeiffer  <szilard.pfeiffer@gmail.com>
250
251         * glib/src/nodetree.hg: Use const_cast<> in the necessary const member 
252         functions instead of gobj() to fix the compilation when using these.
253         Bug #546485.
254
255 2008-08-08  Armin Burgmeier  <armin@arbur.net>
256
257         * MSVC_Net2005/: Moved from MSVC_Net2003
258
259         * MSVC_Net2005/glibmm.sln:
260         * MSVC_Net2005/glibmm/glibmm.vcproj:
261         * MSVC_Net2005/examples/dispatcher/dispatcher.vcproj: Converted to
262         project files for Visual Studio 2005.
263
264         * MSVC_Net2005/glibmm/glibmm.rc.in: Removed the #include "resource.h"
265         since there is no resource.h in the project, and the resource still
266         seems to compile.
267
268         * MSVC_Net2005/giomm/giomm.rc.in:
269         * MSVC_Net2005/giomm/giomm.vcproj:
270         * MSVC_Net2005/giomm/Makefile.am: Added giomm to the MSVC project.
271
272         * MSVC_Net2005/tests/giomm_simple/giomm_simple.vcproj:
273         * MSVC_Net2005/tests/giomm_simple/Makefile.am: Added giomm_simple to
274         the MSVC project.
275
276         * MSVC_Net2005/tests/Makefile.am:
277         * MSVC_Net2005/Makefile.am:
278         * Makefile.am:
279         * configure.in: Adapted build files.
280
281 === 2.17.2 ===
282
283 2008-08-06  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
284
285         * NEWS: update for 2.17.2
286         * configure.in: bump version
287
288 2008-08-06  Murray Cumming  <murrayc@murrayc.com>
289
290         * configure.in:
291         * tests/Makefile.am:
292         * tests/glibmm_ustring_compose/main.cc: Added a test case.
293         * glib/glibmm/ustring.h: Added a ustring::Stringify<> 
294         template specialization so that ustring::compose() works with 
295         const char* arguments, though it still needs to be fixed to 
296         work for string literals.
297         Bug #506410 (Szilárd Pfeiffer).
298
299 2008-08-06  Murray Cumming  <murrayc@murrayc.com>
300
301         * glib/src/nodetree.hg: Make gobject_ and data_ private, 
302         to remove them from protected API. Patch from Szilárd Pfeiffer.
303         Bug #546485.
304         Make gobj() inline.
305
306 2008-08-04  Murray Cumming  <murrayc@murrayc.com>
307
308         * glib/glibmm/propertyproxy.h: Added some API documentation 
309         about the need to register a new GType when adding properties.
310         Bug #523043 (Moritz Ulrich).
311
312 2008-08-02  Murray Cumming  <murrayc@murrayc.com>
313
314         * docs/reference/glibmm_header.html_fragment: Change the Main 
315         Page link to link to gtkmm.org/documentation.shtml
316
317 2008-07-29  Murray Cumming  <murrayc@murrayc.com>
318
319         * glib/glibmm/Makefile.am: Remove the mention of tree.cc here to 
320         fix the build. Generated files should never be menioned there.
321
322 2008-07-29  Murray Cumming  <murrayc@murrayc.com>
323
324         * glib/src/nodetree.hg: Hand-code the TraverseType enum, to add 
325         a prefix to the values.
326         * tests/glibmm_nodetree/main.cc: Adapted.
327
328 2008-07-29  Murray Cumming  <murrayc@murrayc.com>
329
330         * glib/src/nodetree.hg: find(), find_child(), traverse(), foreach():
331         Rearrange the parameters so we can have default values.
332         * tests/glibmm_nodetree/main.cc: Adapted.
333
334 2008-07-29  Murray Cumming  <murrayc@murrayc.com>
335
336         * glib/src/nodetree.hg: Move the TraverseFlags enum into 
337         the class, and hand-code it to avoid problems with _WRAP_ENUM(). 
338         * tests/glibmm_nodetree/main.cc: Adapted.
339         Bug #545050 (Szilárd Pfeiffer).
340
341 2008-07-29  Murray Cumming  <murrayc@murrayc.com>
342
343         * configure.in:
344         * glib/glibmm.h:
345         * glib/src/Makefile_list_of_hg.am_fragment:
346         * glib/src/nodetree.hg:
347         * glib/src/tree.hg: Renamed to nodetree.hg
348         * tests/Makefile.am:
349         * tests/glibmm_tree/Makefile.am:
350         * tests/glibmm_tree/main.cc: Renamed to glibmm_nodetree/
351
352 2008-07-29  Murray Cumming  <murrayc@murrayc.com>
353
354         * glib/src/tree.hg: Renamed Glib::Tree to Glib::NodeTree to avoid 
355         confusion with GTree, because we actually wrap GNode, but do not like 
356         that name. As discussed in bug #520778.
357         * tests/glibmm_tree/main.cc: Adapted.
358
359 2008-07-29  Murray Cumming  <murrayc@murrayc.com>
360
361         * Makefile.am: Build the docs at the end, after the tests, to 
362         save time when testing API changes.
363
364         * glib/src/tree.hg: Const corrections: Add const and non-const versions 
365         of many methods, instead of returning non-const objects from const methods.
366         find().
367         Changed max_height() to get_max_height() for consistency.
368         * tests/glibmm_tree/main.cc: Adapted to changed API.
369
370 2008-07-29  Szilárd Pfeiffer  <szilard.pfeiffer@gmail.com>
371
372         * glib/src/tree.hg: Make the callbacks take a Tree<> instead of just 
373         the data, so they can use methods on the tree (which can be a node 
374         in the tree).
375         gobject_: Make this protected.
376         Provide the this pointer as data to g_node_new() so we can retrieve 
377         it later.
378         Removed children_ and parent_ because we don't need a separate store now that 
379         we can get the C++ instance from the gobject instance.
380         owns_gobject_: Removed because it is was always true, so the gobject was 
381         always destroyed (and still is).
382         * tests/glibmm_tree/main.cc: Updated for the changed API.
383         Bug #520778.
384
385 2008-07-25  Murray Cumming  <murrayc@murrayc.com>
386
387         * gio/src/volumemonitor.hg: Added the drive_eject_button signal.
388
389 2008-07-25  Murray Cumming  <murrayc@murrayc.com>
390
391         * gio/src/gio_enums.defs: Hacked in a replacement 
392         enum for Gio::Error::HOST_NOT_FOUND as 
393         Gio::Error::HOST_WAS_NOT_FOUND, to avoid a clash with 
394         a netdb.h define.
395         Bug #529496.
396         * configure.in:
397         * tests/Makefile.am:
398         * tests/giomm_ioerror/Makefile.am:
399         * tests/giomm_ioerror/main.cc: Added a test to make sure 
400         that our hacked-in enum value stays hacked in.
401
402 2008-07-25  Murray Cumming  <murrayc@murrayc.com>
403
404         * gio/src/gio_enums.defs:
405         * gio/src/gio_methods.defs:
406         * gio/src/gio_signals.defs: Regenerated.
407         * gio/src/mount.hg: Corrected an _IGNORE().
408         * gio/giomm/contenttype.cc:
409         * gio/giomm/contenttype.h: Added content_type_guess_for_tree().
410
411 2008-07-23  Damien Carbery <damien.carbery@sun.com>
412
413         * scripts/macros.m4: Change grep to use -i when checking for GNU m4.
414           This fixes the test on Solaris. Bug #423990.
415
416 === 2.17.1 ===
417
418 2008-07-16  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
419
420         * NEWS: update for new release
421
422 2008-07-16  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
423
424         * configure.in: bump version and min required glib version
425
426 2008-07-16  Jens Georg  <mail@jensge.org>
427
428         * MSVC_Net2003/glibmm/glibmm.vcproj: Mention new source files 
429         for regex and keyfile.
430         Bug #543292.
431
432 2008-07-16  Murray Cumming  <murrayc@murrayc.com>
433
434         * gio/src/file.ccg:
435         * gio/src/file.hg: Added make_directory_with_parents(), 
436         query_file_type(), monitor().
437         * gio/src/fileenumerator.ccg:
438         * gio/src/fileenumerator.hg: Added get_container().
439         * gio/src/mount.hg: Added guess_content_type() and 
440         guess_content_type_finish().
441         * gio/src/themedicon.hg: Added prepend_name().
442         * gio/src/volume.hg: Added get_activation_root().
443         * tools/m4/convert_gio.m4: Added a necessary conversion.
444
445 2008-07-15  Murray Cumming  <murrayc@murrayc.com>
446
447         * gio/src/gio_methods.defs:
448         * glib/src/glib_functions.defs: Regenerated with h2def.py
449         * glib/src/checksum.hg: Added reset().
450
451 2008-07-15  Murray Cumming  <murrayc@murrayc.com>
452
453         * gio/src/appinfo.ccg:
454         * gio/src/appinfo.hg: Avoid a circular include to fix the build.
455
456 2008-07-15  Benjamin Herr  <ben@0x539.de>
457
458         * gio/src/volumemonitor.hg: Removed some unnecessary ; characters, 
459         to avoid warnings.
460         Bug #542929.
461
462 2008-07-14  Murray Cumming,  <murrayc@murrayc.com>
463
464         * tools/m4/convert_gio.m4:
465         * gio/src/appinfo.hg: get_display(), get_startup_notify_id():
466         Take a list of Gio::File, not filepath string. Now that the C API is 
467         properly documented we know that this is correct. It's an API break 
468         but this function could nothave worked before.
469
470         * glib/src/glib_docs.xml: Regenerate.
471         * glib/src/glib_docs_override.xml: Add overrides for 
472         g_key_file_load_from_file() and g_key_file_get_value() to mention 
473         exceptions.
474
475 2008-06-30  Johannes Schmid  <jhs@gnome.org>
476
477         * glib/glibmm/containerhandle_shared.h:
478         Improve documentation of Glib::OwnershipType (#540875)
479
480 2008-07-02  Armin Burgmeier  <armin@arbur.net>
481
482         * gio/src/file.ccg: Pass NULL to the underlying C function for the 
483         etags parameter in the various replace_contents functions. Also bug
484         #540656.
485
486 2008-06-28  Armin Burgmeier  <armin@arbur.net>
487
488         * gio/src/file.ccg: Pass NULL to the underlying C function for the
489         etags parameter in various *_replace functions. Otherwise, existing
490         files are not overwritten. Bug #540656.
491
492 2008-06-23  Murray Cumming  <murrayc@murrayc.com>
493
494         * configure.in:
495         * examples/Makefile.am:
496         * examples/keyfile/Makefile.am:
497         * examples/keyfile/example.ini:
498         * examples/keyfile/main.cc: Added a little KeyFile example. I am 
499         surprised that we do not seem to have one somewhere already.
500         I need to move all these glibmm examples into gtkmm-documentation some 
501         time.
502
503 2008-06-19  Murray Cumming  <murrayc@murrayc.com>
504
505         * glib/src/tree.hg: Some whitespace changes. And more use of typedefs 
506         to simplify the code.
507
508 2008-06-19  Levi Bard  <taktaktaktaktaktaktaktaktaktak@gmail.com>
509
510         * glib/src/tree.hg: Some minor changes to deal with TODOs.
511         Bug #538803.
512
513 2008-06-17  Chris Vine <chris@cvine.freeserve.co.uk>
514
515         * glib/src/thread.hg: document that the slot object passed to
516         Glib::Thread::create() should not represent a non-static method of
517         a class derived from sigc::trackable.
518         See bug #512348.
519
520 === 2.17.0 ===
521
522 2008-06-16  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
523
524         * NEWS:
525         * configure.in: update for new release
526
527 2008-06-13  Levi Bard  <taktaktaktaktaktaktaktaktaktak@gmail.com>
528
529         * glib/glibmm.h:
530         * glib/glibmm/Makefile.am:
531         * glib/src/Makefile_list_of_hg.am_fragment:
532         * glib/src/tree.ccg:
533         * glib/src/tree.hg: Added Glib::Tree, a wrapper for GNode, providing 
534         an N-ary tree container, more or less like a standard C++ container.
535         * configure.in:
536         * tests/Makefile.am: Added some test code for this new API.
537         Bug #520778
538
539 2008-06-13  Murray Cumming  <murrayc@murrayc.com>
540
541         * glib/src/date.hg: Used @newin2p18 on the new API and made some 
542         slight corrections to the new reference documentation comments.
543
544 2008-06-11  José Alburquerque  <jaalburqu@svn.gnome.org>
545
546         * tests/glibmm_date/Makefile.am: Contents of files in
547         tests/glibmm_date/ (main.cc and Makefile.am) were duplicated when I
548         applied patch in bug #536721 to already existing files before 6/9
549         commit. Fixed main.cc already, so now repaired Makefile.am.
550
551 2008-06-10  José Alburquerque  <jaalburqu@svn.gnome.org>
552
553         * tests/glibmm_date/main.cc: Removed duplicate code so test can
554         compile.
555
556 2008-06-09  José Alburquerque  <jaalburqu@svn.gnome.org>
557
558         * glib/src/date.ccg:
559         * glib/src/date.hg: Added copy constructor and assignment operator;
560         Made GDate constructor visible.
561
562         * configure.in:
563         * tests/Makefile.am:
564         * tests/glibmm_date/Makefile.am:
565         * tests/glibmm_date/main.cc: Added simple test to test Glib::Date.
566
567 This is svn trunk for new API, wrapping glib 2.17/18. See also the glibmm-2-16 branch.
568
569 2008-04-25  Jonathon Jongsma  <jjongsma@gnome.org>
570
571         * gio/src/drive.hg:
572         * gio/src/volume.hg: add TypeTraits implementations for Drive and Volume
573         similar to the one added for Mount.
574
575 2008-04-23  Jonathon Jongsma  <jjongsma@gnome.org>
576
577         * gio/src/mount.hg: Add a TypeTraits implementation for
578         Glib::RefPtr<Gio::Mount> so that we can wrap implementor types that don't
579         have a wrapper (e.g. GHalMount in gvfs).  Fixes bug #529533
580
581 2008-04-24  Jonathon Jongsma  <jjongsma@gnome.org>
582
583         * glib/glibmm/wrap.cc: Improve the error message when failing to wrap a
584         particular type of object to give a hint about initializing the library
585         since we get so many questions about this (bug #529648)
586
587 2.16.2:
588
589 2008-04-18  Jonathon Jongsma  <jjongsma@gnome.org>
590
591         * NEWS:
592         * configure.in: bump to 2.16.2 for release
593
594 2008-04-16  Murray Cumming  <murrayc@murrayc.com>
595
596         * glib/src/spawn.hg: Moved the enum back out of the doxygen group, 
597         because that results in the enums group being inside the spawn group.
598
599 2008-04-16  Murray Cumming  <murrayc@murrayc.com>
600
601         * glib/src/spawn.hg: Addded doxygen documentation based on the 
602         C documentation.
603         Bug #528271 (Jonathon Jongsma)
604
605 2008-04-13  Murray Cumming  <murrayc@murrayc.com>
606
607         * glib/src/optionentry.ccg: set_long_name(): Do not use NULL for an 
608         empty string, because "" has a special meaning to GOptionEntry - it 
609         is the definition of G_OPTION_REMANING.
610         * examples/options/main.cc: Add an entry with the long name 
611         G_OPTION_REMAINING, to list additional non-named arguments. More 
612         explicit API should be added for this.
613         Bug #526831 (Christian Lundgren).
614  
615 2008-04-13  Murray Cumming  <murrayc@murrayc.com>
616
617         * glib/glibmm/ustring.cc erase(): Create an end iterator and use it, 
618         instead of just using the std::string(iterator) erase implementation, 
619         because that only removes one byte, which can make the whole string 
620         invalid UTF-8.
621         Bug #527687 (Jarro).
622
623 2008-04-11  Murray Cumming  <murrayc@murrayc.com>
624
625         * glib/src/optionentry.ccg:
626         * glib/src/optionentry.hg: Hand-code set_description(), 
627         set_arg_description() and set_long_name(), to free any existing string, 
628         to maybe fix a (possible) leak found by valgrind.
629
630 2008-03-29  Jonathon Jongsma  <jjongsma@gnome.org>
631
632         * Makefile.am: add some more convenience targets for making releases
633
634 2.16.1:
635
636 2008-03-28  Tim Retout  <tim@retout.co.uk>
637
638         * glib/glibmm/helperlist.h (operator[]): Add a newline before
639         the semicolon at the end of the 'for' loop.  Fixes g++ 4.3 warning.
640
641 2008-03-29  Jonathon Jongsma  <jjongsma@gnome.org>
642
643         * NEWS: updated
644         * configure.in: bump to 2.16.1
645
646 2008-03-29  Murray Cumming  <murrayc@murrayc.com>
647
648         * gio/src/file.hg:
649         * gio/src/file.ccg: query_default_handler(), set_display_name(), 
650         query_info(), query_filesystem_info(): Do not take an extre reference, 
651         because the C functions all provide new objects with an initial 
652         reference. I checked.
653
654 2008-03-28  Murray Cumming  <murrayc@murrayc.com>
655
656         * gio/src/file.ccg: create(), replace(): Do not take an extra reference, 
657         because the C function has given us a new instance with an initial 
658         reference. The leak stopped the stream from really replacing the file, 
659         because that only happens when it is closed.
660
661 2008-03-28  Murray Cumming  <murrayc@murrayc.com>
662
663         * gio/src/file.hg:
664         * gio/src/outputstream.hg: Documentation: Remove/fix mentions of 0 when 
665         we mean something else.
666
667 2008-03-24  Jonathon Jongsma  <jjongsma@gnome.org>
668
669         * gio/src/desktopappinfo.hg:
670         * gio/src/unixinputstream.hg:
671         * gio/src/unixmount.hg:
672         * gio/src/unixoutputstream.hg: don't wrap these unix-specific types when
673         building on MS Windows (bug #524126)
674
675 2008-03-18  Murray Cumming  <murrayc@murrayc.com>
676
677         * gio/src/file.hg: Include giomm/error.h Because Gio::Error is thrown 
678         by some of these methods and it is annoying to have to include it 
679         separately just to catch that.
680
681 2.16.0:
682
683 2008-03-10  Tim Mooney  <murrayc@murrayc.com>
684
685         * glib/glibmm/object.cc: Include string.h to fix the build with 
686         SUN CC.
687         Bug #498438.
688
689 2008-03-07  Jonathon Jongsma  <jjongsma@gnome.org>
690
691         * glib/glibmm.h: add an include for checksum.h which was added in the 2.15.x
692         series.
693
694 2008-03-05  Murray Cumming  <murrayc@murrayc.com>
695
696         * MAINTAINERS: Added Jonathon Jongsma as co-maintainer.
697
698 2008-03-05  Murray Cumming  <murrayc@murayc.com>
699
700         * tools/m4/convert_gio.m4: Use __CONVERT_CONST_REFPTR_TO_P_SUN() instead 
701         of __CONVERT_REFPTR_TO_P() to maybe fix the build with Sun CC.
702         (Simon Zheng)
703
704 2008-03-04  Jonathon Jongsma  <jjongsma@gnome.org>
705
706         * Makefile.am: updated the 'release' target to give a bit more helpful error
707         messages
708
709 2008-03-04  Murray Cumming  <murrayc@murrayc.com>
710
711         * gio/src/gio_docs.xml: Regenerated with docextract_to_xml.py.
712         * gio/src/gio_docs_override.xml: Overrode g_file_query_exists() to 
713         mention an exception instead of an error. G_IO_ERROR_* now does not 
714         appear in any of our documentation.
715
716 2.15.8:
717
718 2008-03-03  Murray Cumming  <murrayc@murrayc.com>
719
720         * gio/src/bufferedinputstream.hg:
721         * gio/src/bufferedoutputstream.hg:
722         * gio/src/datainputstream.hg:
723         * gio/src/dataoutputstream.hg:
724         * gio/src/fileinputstream.hg:
725         * gio/src/fileoutputstream.hg:
726         * gio/src/filterinputstream.hg:
727         * gio/src/filteroutputstream.hg:
728         * gio/src/inputstream.hg:
729         * gio/src/memoryinputstream.hg:
730         * gio/src/mount.hg:
731         * gio/src/outputstream.hg:
732         * gio/src/seekable.hg:
733         * gio/src/unixinputstream.hg:
734         * gio/src/unixoutputstream.hg: Put these in a Streams doxygen group. 
735         We should think of some more groups, maybe by looking at the C 
736         documentation.
737
738 2008-03-03  Murray Cumming  <murrayc@murrayc.com>
739
740         * gio/src/file.ccg:
741         * gio/src/file.hg: load_contents(), load_contents_finish(), 
742         load_partial_contents_finish(): Use char*& instead of char** for contents, 
743         though that is not that great either. Use std::string& instead of char** 
744         for etag_out. Added method overloads without cancellable.
745         We might want other method overloads in future. 
746
747 2008-02-29  Jonathon Jongsma  <jjongsma@gnome.org>
748
749         * Makefile.am: added 'release' target which will run distcheck, tag the
750         repository with the current version and upload the tarball to
751         master.gnome.org
752
753 2008-02-27  Murray Cumming  <murrayc@murrayc.com>
754
755         * gio/src/asyncresult.hg:
756         * gio/src/file.hg:
757         * gio/src/fileenumerator.hg:
758         * gio/src/fileinputstream.hg:
759         * gio/src/fileoutputstream.hg:
760         * gio/src/gio_docs_override.xml:
761         * gio/src/inputstream.hg:
762         * gio/src/outputstream.hg: Correct hand-coded documentation, 
763         to talk about throwing exceptions rather than setting or returning 
764         errors.
765         * gio/src/mount.hg: Add class documentation based on the C documentation.
766
767 2008-02-27  Murray Cumming  <murrayc@murrayc.com>
768
769         * gio/src/gio_docs.xml: Regenerated with docextract_to_xml.py.
770         * gio/src/gio_docs_override.xml: Override some documentation that 
771         mentions the GCancellable being optional, or that talks about setting 
772         errors instead of throwing them.
773
774 2.15.7:
775
776 2008-02-26  Murray Cumming  <murrayc@murrayc.com>
777
778         * gio/src/gio_methods.defs: Regenerated.
779         * gio/src/file.ccg:
780         * gio/src/file.hg: Added query_filesystem_info_async() and 
781         query_filesystem_info_finish() because these were added to the C API.
782         * gio/src/themedicon.hg: Added append_name() because this was added to 
783         the C API.
784
785 2008-02-25  Jonathon Jongsma  <jjongsma@gnome.org>
786
787         * docs/reference/Doxyfile.in: 'upgraded' the doxygen config file since
788         doxygen was complaining about obsolete options
789         * gio/giomm/contenttype.h:
790         * gio/src/bufferedinputstream.hg:
791         * gio/src/file.hg:
792         * gio/src/fileoutputstream.hg:
793         * gio/src/outputstream.hg:
794         * glib/src/checksum.hg:
795         * glib/src/keyfile.hg: fixed a bunch of minor doxygen warnings
796
797 2008-02-25  Jonathon Jongsma  <jjongsma@gnome.org>
798
799         * docs/reference/doxygen_to_devhelp.xsl: add path separators between the
800         reference prefix and the link filenames
801         * docs/reference/Makefile.am: remove trailing slash from the reference
802         prefix (fixes bug #518673)
803
804 2008-02-25  Wouter Bolsterlee  <wbolster@svn.gnome.org>
805
806         * gio/src/file.hg:
807         * gio/src/gio_docs.xml:
808         * gio/src/gio_methods.defs:
809         * gio/src/gio_vfuncs.defs:
810
811         Initial work for another API change:
812         g_file_contains_file() has been renamed to
813         g_file_has_prefix() (with the parameter order swapped!)
814
815 2008-02-25  Wouter Bolsterlee  <wbolster@svn.gnome.org>
816
817         * glib/src/uriutils.ccg:
818         * glib/src/uriutils.hg:
819
820         g_uri_get_scheme has been renamed to g_uri_parse_scheme
821         in GLib trunk. Updated accordingly.
822
823 2008-02-24  Jonathon Jongsma  <jjongsma@gnome.org>
824
825         * docs/reference/Makefile.am: dist xml/index.xml to satisfy build-deps for
826         building the devhelp book from the tarball.  Fixes distcheck.
827
828 2.15.6:
829
830 2008-02-24  Marko Anastasov  <marko.anastasov@gmail.com>
831
832         * gio/src/inputstream.hg: Updated the todo regarding read().
833
834 2008-02-22  Murray Cumming  <murrayc@murrayc.com>
835
836         * gio/src/fileattributeinfolist.hg: Added dup().
837         * gio/src/gio_others.defs: Added signals for GMount and GVolume.
838         This deals with the gmmproc warnings.
839
840 2008-02-21  Murray Cumming  <murrayc@murrayc.com>
841
842         * gio/src/desktopappinfo.hg: Revert the change from José which removed 
843         use of _WRAP_CTOR() and _WRAP_CREATE(). We really do want to use these 
844         so we instantiate derived GTypes.
845
846 2008-02-21  Marko Anastasov  <marko.anastasov@gmail.com>
847
848         * gio/src/desktopappinfo.hg: Made is_hidden() const.
849
850 2008-02-21  José Alburquerque  <jaalburqu@svn.gnome.org>
851
852         * gio/src/desktopappinfo.hg: Used _WRAP_METHOD instead of _WRAP_CREATE
853         for create() to allow docs from C API to be used
854
855 2008-02-21  José Alburquerque  <jaalburqu@svn.gnome.org>
856
857         * gio/src/desktopappinfo.hg: Renamed new_from_file() to
858         create_from_file()
859
860 2008-02-21  José Alburquerque  <jaalburqu@svn.gnome.org>
861
862         * gio/src/desktopappinfo.hg: Added create(), create_from_file()
863         is_hidden() and set_desktop_env()
864         * tools/m4/convert_gio.m4: Added DesktopAppInfo conversion
865
866 2008-02-21  Murray Cumming  <murrayc@murrayc.com>
867
868         * gio/src/gio_methods.defs: Regenerated with h2defs.py
869
870         * gio/src/gio_signals.defs: Corrected the GMountOperation::ask-question 
871         definition.
872         * gio/src/mountoperation.hg: Wrapped the ask-question signal, though 
873         I wonder if it really works.
874
875         * gio/src/memoryinputstream.ccg:
876         * gio/src/memoryinputstream.hg:
877         Added add_data(const void* data, gssize len).
878
879         * gio/src/gio_others.defs: Added g_themed_icon_get_names() 
880         because h2defs.py cannot seem to parse it.
881         * gio/src/Makefile.am: Mention gio_methods.defs.
882         * gio/src/themedicon.hg: Attempted to wrap get_names(), but I get a 
883         gmmproc error.
884
885 2008-02-20  Marko Anastasov  <marko.anastasov@gmail.com>
886
887         * gio/src/desktopappinfo.hg: Removed a todo regarding
888         DesktopAppInfoLookup. We will not wrap it as it is an interface
889         that is used by backends.
890
891 2008-02-20  Jonathon Jongsma  <jjongsma@gnome.org>
892
893         * docs/reference/Makefile.am: updated some build dependencies that were
894         causing issues after adding the xml/devhelp build rules.  Also removed some
895         cruft that was supposedly setting the doxygen image path for gtk stock icons
896         (presumably copied from the gtkmm build rules).  Should Fix Bug #517423
897
898 2008-02-20  Murray Cumming  <murrayc@murrayc.com>
899
900         * gio/src/appinfo.hg:
901         * gio/src/bufferedinputstream.hg:
902         * gio/src/drive.hg:
903         * gio/src/file.hg:
904         * gio/src/filemonitor.hg:
905         * gio/src/icon.hg:
906         * gio/src/seekable.hg:
907         * gio/src/volume.hg:
908         * gio/src/volumemonitor.hg: Comment out _WRAP_VFUNC() lines because 
909         we decided that they are not useful (people will not create new 
910         implementations with giomm) and are a potential source of errors.
911
912 2008-02-20  Murray Cumming  <murrayc@murrayc.com>
913
914         * tools/m4/convert_gio.m4:
915         * gio/src/file.hg: equal(), get_relative_file(), contains_file(): Take 
916         const File parameters.
917
918 2008-02-15  Jonathon Jongsma  <jjongsma@gnome.org>
919
920         * docs/reference/Makefile.am: I should have tested this more thoroughly --
921         we apparently need to use relative paths in the reference_prefix variable.
922         Also add the devhelp file to the all-local target so it gets built by
923         default on a simple 'make' and not just on 'make install'
924
925 2008-02-15  Jonathon Jongsma  <jjongsma@gnome.org>
926
927         * docs/reference/Makefile.am: install the stylesheet in the gmmproc dir
928         instead of the documentation directory.  This allows other libraries to get
929         a path to the stylesheet by querying the just-added gmmprocdir variable.
930         Also, it doesn't really belong in the documentation directory since it's not
931         technically documentation.
932
933 2008-02-15  Jonathon Jongsma  <jjongsma@gnome.org>
934
935         * docs/reference/doxygen_to_devhelp.xsl: make this more general instead of
936         hard-coding the name and title and reference path into the stylesheet --
937         instead pass them as parameters on the commandline
938         * docs/reference/Makefile.am: use new GMMPROC_DIR variable.  Also install
939         the doxygen_to_devhelp.xsl stylesheet so that other libraries can use the
940         installed version instead of having everybody copy the file into their own
941         library if they want to generate a devhelp book
942
943 2008-02-15  Jonathon Jongsma  <jjongsma@gnome.org>
944
945         * configure.in: add a GMMPROC_DIR variable so the individual
946         Makefile.am files don't need to duplicate the information about where
947         gmmproc is to be installed
948         * glib/glibmm-2.4.pc.in: add new gmmprocdir variable so that interested
949         libraries can query it with `pkg-config --variable gmmprocdir glibmm-2.4`
950         * tools/Makefile.am:
951         * tools/m4/Makefile.am:
952         * tools/pm/Makefile.am: use the new GMMPROC_DIR variable
953
954 2008-02-14  Marko Anastasov  <marko.anastasov@gmail.com>
955
956         * gio/src/dataoutputstream.hg: Removed get/set_newline_type(),
957         which doesn't exist in the C API.
958
959 2008-02-13  Jonathon Jongsma  <jjongsma@gnome.org>
960
961         * docs/reference/Doxyfile.in:
962         * docs/reference/Makefile.am:
963         * docs/reference/doxygen_to_devhelp.xsl: generate and install a devhelp book
964         for glibmm like we do for gtkmm.  It would be nice to make the xsl
965         stylesheet general and shared between gtkmm and glibmm (and eventually other
966         libraries as well), but for now I just duplicated it here
967
968 2008-02-12  Marko Anastasov  <marko.anastasov@gmail.com>
969
970         * gio/src/gio_methods.defs: Regenerated with h2defs.py.
971
972         * gio/src/unixinputstream.hg:
973         * gio/src/unixoutputstream.hg: Made wrapped constructors protected.
974
975         * gio/src/bufferedinputstream.hg:
976         * gio/src/datainputstream.hg:
977         * gio/src/dataoutputstream.hg: Ditto for Data*Streams,
978         and marked some hand-wrapped functions to ignore.
979
980         * gio/src/mountoperation.hg: Wrote a note about ask_question signal,
981         still to be wrapped.
982
983         * gio/src/volume.hg: Added should_automount().
984
985         * gio/giomm: Updated svn:ignore properties.
986
987 2.15.5:
988
989 2008-02-11  Jonathon Jongsma  <jjongsma@gnome.org>
990
991         * gio/src/file.ccg:
992         * gio/src/file.hg:
993         * gio/src/gio_enums.defs:
994         * gio/src/gio_vfuncs.defs:
995         * gio/src/mount.ccg:
996         * gio/src/mount.hg:
997         * gio/src/volume.ccg:
998         * gio/src/volume.hg:
999         * tools/m4/convert_gio.m4: update to match new gio API which adds a
1000         GMountMountFlags argument to all mount operations
1001
1002 2008-02-11  Jonathon Jongsma  <jjongsma@gnome.org>
1003
1004         * configure.in: bump glib requirement to 2.15.5 (bug #515727)
1005
1006 2008-02-09  Murray Cumming  <murrayc@murrayc.com>
1007
1008         * gio/src/gio_vfuncs.defs: Added hand-written vfunc .defs for 
1009         GVolume and GVolumeMonitor.
1010         * gio/src/volume.hg:
1011         * gio/src/volumemonitor.hg: Added vfuncs, though not using all C++ types 
1012         yet. I am not really sure that these will ever be useful (if anyone will 
1013         ever want to implement them in C++).
1014
1015 2008-02-09  Murray Cumming, <murrayc@murrayc.com>
1016
1017         * gio/giomm.h:
1018         * gio/src/Makefile_list_of_hg.am_fragment:
1019         * gio/src/simpleasyncresult.ccg:
1020         * gio/src/simpleasyncresult.hg: removed SimpleAsyncResult because I 
1021         do not believe it is really public API. If we are wrong then we 
1022         can resurrect it from svn later.
1023
1024 2008-02-09  Takao Fujiwara  <Takao.Fujiwara@Sun.COM>
1025
1026         * glib/glibmm/Makefile.am:
1027         * glib/glibmm/i18n-lib.h: Actually install this header, 
1028         and make the header guards unique.
1029         Bug #515133
1030
1031 2.15.4:
1032
1033 2008-02-07  Murray Cumming  <murrayc@murrayc.com>
1034
1035         * glib/glibmm/Makefile.am:
1036         * glib/glibmm/main.h: Moved the Priorities enum into
1037         * glib/glibmm/priorities.h:
1038         Though all the giomm stuff seems to already include main.h anyway. 
1039         It probably shouldn't, and then we can include priorities.h only.
1040
1041         * gio/src/bufferedinputstream.hg:
1042         * gio/src/file.hg:
1043         * gio/src/fileenumerator.hg:
1044         * gio/src/fileinputstream.hg:
1045         * gio/src/fileoutputstream.hg:
1046         * gio/src/gio_methods.defs:
1047         * gio/src/inputstream.hg:
1048         * gio/src/outputstream.hg: Use Glib::PRIORITY_DEFAULT instead of 
1049         G_PRIORITY_DEFAULT.
1050
1051         * glib/src/iochannel.ccg: Add some ifdefs to avoid unused parameter 
1052         warnings when exceptions are disabled, because our current trick for 
1053         that is now causing another warning instead.
1054
1055 2008-02-06  Jonathon Jongsma  <jjongsma@gnome.org>
1056
1057         * gio/src/datainputstream.ccg:
1058         * gio/src/datainputstream.hg: change the read_line() and read_until() APIs
1059         so that they are actually useable.  These functions now return a boolean
1060         value to indicate that the end of the stream was reached and return the
1061         string data via reference argument.  See bug #514097 for more information
1062
1063 2008-02-06  Murray Cumming <murrayc@murrayc.com>
1064
1065         * gio/src/gio_methods.defs: Regenerated with h2defs.py
1066
1067         * configure.in: Depend on gio-unix-2.0 when not on win32.
1068         * gio/src/Makefile_list_of_hg.am_fragment:
1069         * gio/src/unixinputstream.ccg:
1070         * gio/src/unixinputstream.hg:
1071         * gio/src/unixoutputstream.ccg: Mentioned this as unix-specific files 
1072         so they are built.
1073
1074         * gio/src/bufferedoutputstream.hg: Fixed a parameter type to fix the 
1075         build, after a change in gio.
1076
1077 2008-02-05  Murray Cumming  <murrayc@murrayc.com>
1078
1079         * gio/src/file.ccg:
1080         * gio/src/file.hg: Added an overload of query_default_handler() 
1081         without the cancellable.
1082
1083 2008-02-05  Murray Cumming  <murrayc@murrayc.com>
1084
1085         * gio/src/Makefile_list_of_hg.am_fragment:
1086         * gio/src/vfs.ccg:
1087         * gio/src/vfs.hg: Remove these because they are not API - they 
1088         are declarations of entry points for dynamically-loadable modules.
1089
1090 2008-02-04  Marko Anastasov  <marko.anastasov@gmail.com>
1091
1092         * gio/src/file.ccg:
1093         * gio/src/file.hg: Added copy_async(), with overloads without
1094         slot_progress (which is optional and would run in the main loop),
1095         with documentation. Wrapped copy_finish(), query_default_handler().
1096
1097 2008-02-04  José Alburquerque  <jaalburqu@svn.gnome.org>
1098
1099         * gio/src/desktopappinfo.ccg:
1100         * gio/src/desktopappinfo.hg: Added DesktopAppInfo but not to
1101         Makefile_list_of_hg.am_fragment yet (need to use gio-unix-2.0.pc to
1102         compile correctly)
1103
1104 2008-02-04  José Alburquerque  <jaalburqu@svn.gnome.org>
1105
1106         * gio/src/bufferedoutputstream.ccg: Changed size param of
1107         create_sized() to type gsize (in agreement with declaration) to fix
1108         compilation
1109
1110 2008-02-04  Murray Cumming  <murrayc@murrayc.com>
1111
1112         * tools/m4/class_interface.m4: Allow _CLASS_INTERFACE() to take two 
1113         extra optional paremeters to specify the base class, so that appropriate 
1114         code is generated when we derive from another Interface - which seems 
1115         appropriate when the GInterface has a prerequisite.
1116         * gio/src/loadableicon.ccg:
1117         * gio/src/loadableicon.hg: Derive from Icon, because it is a prerequisite 
1118         of this interface. Use the extra _CLASS_INTERFACE() parameters.
1119         * gio/src/fileicon.hg: Do not derive from Icon because that happens 
1120         through LoadableIcon now. But do use _IMPLEMENTS_INTERFACE(Icon) here, 
1121         because only a Glib::Object can actually implement an interface.
1122
1123 2008-02-04  Jonathon Jongsma  <jjongsma@gnome.org>
1124
1125         * gio/src/file.hg: remove an obsolete TODO
1126         * gio/src/gio_vfuncs.defs: add LoadableIcon vfunc definitions
1127         * gio/src/loadableicon.ccg:
1128         * gio/src/loadableicon.hg: wrap some methods of LoadableIcon.  Some vfuncs
1129         need to be wrapped yet
1130
1131 2008-02-04  Jonathon Jongsma  <jjongsma@gnome.org>
1132
1133         * gio/src/bufferedoutputstream.hg: switch back create_sized() size parameter
1134         to gsize since glib switched their declaration due to bug #514013.
1135
1136 2008-02-03  José Alburquerque  <jaalburqu@svn.gnome.org>
1137
1138         * gio/src/unixinputstream.ccg:
1139         * gio/src/unixinputstream.hg:
1140         * gio/src/unixmount.ccg:
1141         * gio/src/unixmount.hg:
1142         * gio/src/unixoutputstream.ccg:
1143         * gio/src/unixoutputstream.hg: Added these, but not to
1144         Makefile_list_of_hg.am_fragment to avoid compile errors (need
1145         gio-unix-2.0.pc to compile correctly)
1146         * gio/src/vfs.hg: Moved forward decs to top (was between class doc and
1147         declaration)
1148
1149 2008-02-03  José Alburquerque  <jaalburqu@svn.gnome.org>
1150
1151         * gio/src/Makefile_list_of_hg.am_fragment:
1152         * gio/src/vfs.ccg:
1153         * gio/src/vfs.hg:
1154         * tools/m4/convert_gio.m4: Added Vfs
1155
1156 2008-02-04  Murray Cumming  <murrayc@murrayc.com>
1157
1158         * tools/extra_defs_gen/generate_defs_gio.cc: Added types.
1159         * gio/src/gio_signals.defs: Regenerated.
1160         * gio/src/Makefile_list_of_hg.am_fragment:
1161         * gio/src/filenamecompleter.hg:
1162         * gio/src/themedicon.hg: Added FilenameCompleter and ThemedIcon.
1163
1164 2008-02-03  José Alburquerque  <jaalburqu@svn.gnome.org>
1165
1166         * gio/src/bufferedoutputstream.ccg: changed size param of
1167         create_sized() to type guint (in agreement with declaration)
1168         * gio/src/file.ccg:
1169         * gio/src/file.hg: added non-cancellable set_attribute_string(),
1170         set_attribute_byte_string(), set_attribute_{uint32, int32, uint64,
1171         int64}
1172
1173 2008-02-03  Murray Cumming  <murrayc@murrayc.com>
1174
1175         * tools/extra_defs_gen/generate_defs_gio.cc: Added types.
1176         * gio/src/gio_signals.defs: Regenerated.
1177
1178         * tools/m4/convert_gio.m4:
1179         * gio/src/drive.hg:
1180         * gio/src/filterinputstream.hg:
1181         * gio/src/filteroutputstream.hg:
1182         * gio/src/mount.hg:
1183         * gio/src/mountoperation.hg:
1184         * gio/src/volume.hg:
1185         * gio/src/volumemonitor.hg: Added signals and properties.
1186
1187         * gio/src/file.ccg:
1188         * gio/src/file.hg: Added query_filesystem_info() without a cancellable.
1189
1190 2008-02-03  Murray Cumming  <murrayc@murrayc.com>
1191
1192         * gio/src/filemonitor.hg: Add class documentation, now that there is 
1193         some in gio.
1194         * gio/src/volumemonitor.hg: Add class documentation.
1195         Remove _DO_NOT_DERIVE_GTYPE because gio no longer abuses the type 
1196         system - see bug #511814.
1197
1198 2008-02-02  Jonathon Jongsma  <jjongsma@gnome.org>
1199
1200         * gio/giomm.h:
1201         * gio/src/Makefile_list_of_hg.am_fragment:
1202         * gio/src/memoryinputstream.ccg:
1203         * gio/src/memoryinputstream.hg: add MemoryInputStream class
1204
1205 2008-02-02  Jonathon Jongsma  <jjongsma@gnome.org>
1206
1207         * gio/src/dataoutputstream.ccg: fix copy/paste error
1208
1209 2008-02-02  Jonathon Jongsma  <jjongsma@gnome.org>
1210
1211         * gio/src/Makefile_list_of_hg.am_fragment:
1212         * gio/src/datainputstream.hg:
1213         * gio/src/dataoutputstream.hg: add DataOutputStream class
1214         * gio/src/dataoutputstream.ccg:
1215         * gio/src/enums.ccg:
1216         * gio/src/enums.hg: moved the DataStream enums to a common enums header
1217         since they're needed by both the input and output data streams.
1218         * gio/giomm.h: add new headers
1219
1220 2008-02-02  Jonathon Jongsma  <jjongsma@gnome.org>
1221
1222         * gio/src/bufferedoutputstream.ccg:
1223         * gio/src/bufferedoutputstream.hg: add BufferedOutputStream class
1224
1225 2008-02-02  Jonathon Jongsma  <jjongsma@gnome.org>
1226
1227         * gio/giomm.h:
1228         * gio/src/Makefile_list_of_hg.am_fragment:
1229         * gio/src/filteroutputstream.ccg:
1230         * gio/src/filteroutputstream.hg:
1231         * tools/m4/convert_gio.m4: add FilterOutputStream class
1232
1233 2008-02-03  Murray Cumming  <murrayc@murrayc.com>
1234
1235         * gio/src/file.ccg:
1236         * gio/src/file.hg: find_enclosing_mout(), append_to(): Reordered 
1237         parameters and added overload without cancellable. Removed superfluous 
1238         monitor_file() overload.
1239
1240 2008-02-03  Murray Cumming  <murrayc@murrayc.com>
1241
1242         * tools/m4/convert_gio.m4:
1243         * gio/src/bufferedinputstream.hg: Move a signal-specific conversion 
1244         here, because these conversions are unusual and shouldn't be used by 
1245         mistake elsewhere, and when they are next to the signal then it is 
1246         more obvious why they take a reference (also fixed).
1247
1248 2008-02-02  Jonathon Jongsma  <jjongsma@gnome.org>
1249
1250         * gio/giomm.h: add new header files to the main include
1251         * gio/src/datainputstream.hg: add FIXME note about not being able to tell
1252         error conditions from empty strings on read_line() / read_until()
1253
1254 2008-02-02  Jonathon Jongsma  <jjongsma@gnome.org>
1255
1256         * gio/giomm/Makefile.am: add slot_async.h private header to EXTRA_DIST so
1257         that it gets distributed.  I didn't add it to the
1258         sublib_files_extra_general_h variable, since then it would get installed
1259
1260 2008-02-02  Jonathon Jongsma  <jjongsma@gnome.org>
1261
1262         * gio/src/Makefile_list_of_hg.am_fragment:
1263         * gio/src/datainputstream.ccg:
1264         * gio/src/datainputstream.hg:
1265         * tools/m4/convert_gio.m4: add DataInputStream class
1266
1267 2008-02-02  Jonathon Jongsma  <jjongsma@gnome.org>
1268
1269         * gio/src/gio_vfuncs.defs:
1270         * gio/src/Makefile_list_of_hg.am_fragment:
1271         * gio/src/bufferedinputstream.ccg:
1272         * gio/src/bufferedinputstream.hg: add BufferedInputStream class
1273         * gio/giomm/slot_async.cc:
1274         * gio/giomm/slot_async.h: split out the SlotProxy_async_callback so it
1275         doesn't have to be implemented in every file
1276         * gio/src/drive.ccg:
1277         * gio/src/file.ccg:
1278         * gio/src/file.hg:
1279         * gio/src/fileenumerator.ccg:
1280         * gio/src/fileinputstream.ccg:
1281         * gio/src/fileoutputstream.ccg:
1282         * gio/src/inputstream.ccg:
1283         * gio/src/mount.ccg:
1284         * gio/src/outputstream.ccg:
1285         * gio/src/volume.ccg: use the common SlotProxy_async_callback function in
1286         all of these files
1287         * tools/m4/convert_gio.m4: add conversion for Cancellable
1288         * gio/giomm/Makefile.am: indenting changes
1289
1290 2008-02-02  Marko Anastasov  <marko.anastasov@gmail.com>
1291
1292         * gio/src/volumemonitor.hg: Removed VolumeMonitorEvent enum def,
1293         which does not exist any more in the C API.
1294         * gio/src/volume.hg: Added get_identifier(), enumerate_identifiers().
1295
1296 2008-02-02  Marko Anastasov  <marko@marko.anastasov.name>
1297
1298         * gio/src/volume.hg: Added get_mount().
1299         * gio/src/gio_enums.defs: Regenerated with enums.pl.
1300         * gio/src/gio_methods.defs: Regenerated with h2defs.py.
1301
1302 2008-02-02  Kjartan Maraas  <kmaraas@gnome.org>
1303
1304         * tests/giomm_simple/main.cc: Fix compile with GCC 4.3.
1305
1306 2008-02-02  Murray Cumming  <murrayc@murrayc.com>
1307
1308         * build_shared/Makefile_gensrc.am_fragment: Use the local .pm files 
1309         for gmmproc instead of installed ones. This was a regression that I 
1310         introduced when I added gio to the build.
1311         * tools/pm/DocsParser.pm: append_parameter_docs(): Ignore error 
1312         parameters because they are almost always wrapped as exceptions.
1313
1314 2008-02-01  Jonathon Jongsma  <jjongsma@gnome.org>
1315
1316         * gio/src/Makefile.am:
1317         * gio/src/appinfo.hg:
1318         * gio/src/gio_vfuncs.defs:
1319         * tools/m4/convert_gio.m4:
1320         * tools/m4/convert_glib.m4: Add Gio::AppInfo vfuncs
1321
1322 2008-02-02  Murray Cumming  <murrayc@murrayc.com>
1323
1324         * gio/src/file.ccg:
1325         * gio/src/file.hg: Added overloads of create_file(), remove(), trash(), 
1326         make_directory(), make_symbolic_link(), query_settable_attributes(), 
1327         and query_writable_namespaces() without cancellable parameters.
1328         The set_attribute_*() methods still need this to be done. 
1329
1330 2008-02-02  Murray Cumming  <murrayc@murrayc.com>
1331
1332         * gio/src/cancellable.hg: Added the signal.
1333         * gio/src/file.ccg:
1334         * gio/src/file.hg: Added copy_attributes(), added mount_enclosing_volume() 
1335         mount_enclosing_volume_finish(), find_enclosing_mount(), and 
1336         find_enclosing_mount_finish(). 
1337         Added a mount_mountable() overload with no parameters.
1338         set_attributes_from_info(): Reordered parameters so we can have default 
1339         values.
1340
1341 2008-02-02  Murray Cumming  <murrayc@murrayc.com>
1342
1343         * gio/giomm/contenttype.cc:
1344         * gio/giomm/contenttype.h: Use convert_return_gchar_ptr_to_ustring() 
1345         because it releases the gchar* and checks for NULL.
1346         Removed the ontent_type_guess() that takes a basic_string<guchar> 
1347         because I doubt anybody would use that. Added one that takes a 
1348         gchar* and size, and one that takes a std::string (for when the data is 
1349         a string).
1350
1351 2008-01-31  Jonathon Jongsma  <jjongsma@gnome.org>
1352
1353         * gio/giomm/contenttype.cc: put content_type functions in the Gio namespace
1354         which was accidentally omitted.
1355
1356 2008-01-31  Jonathon Jongsma  <jjongsma@gnome.org>
1357
1358         * gio/giomm.h: forgot to add new contenttype.h header
1359         * gio/giomm/Makefile.am: forgot to install contenttype.h header
1360
1361 2008-01-31  Jonathon Jongsma  <jjongsma@gnome.org>
1362
1363         * gio/giomm/Makefile.am:
1364         * gio/giomm/contenttype.cc:
1365         * gio/giomm/contenttype.h: wrap content_type_* functions
1366
1367 2008-01-29  Murray Cumming  <murrayc@murrayc.com>
1368
1369         * gio/src/file.hg: get_child_for_display_name(): 
1370         Change the display_name parameter to a ustring because 
1371         the C documentation says it should be UTF-8.
1372         * gio/src/fileinfo.hg: Add get_attribute_as_string(), which
1373         returns a UTF-8 string.
1374         (Note that no other gio documentation mentions UTF-8.)
1375         Thanks to Iain Nicol.
1376
1377 2.15.3:
1378
1379 2008-01-27  Murray Cumming  <murrayc@murrayc.com>
1380
1381         * gio/src/fileattribute.ccg:
1382         * gio/src/fileattribute.hg: Split into 
1383         * gio/src/fileattributeinfo.ccg:
1384         * gio/src/fileattributeinfo.hg: and 
1385         * gio/src/fileattributeinfolist.ccg:
1386         * gio/src/fileattributeinfolist.hg
1387
1388         * gio/giomm.h:
1389         * gio/src/Makefile_list_of_hg.am_fragment:
1390         * gio/src/file.hg:
1391         * gio/src/fileinfo.hg:
1392         * gio/src/outputstream.hg:
1393         * gio/src/seekable.hg:
1394         * glib/src/optionentry.hg: Adapted.
1395
1396         * tools/pm/DocsParser.pm: substitute_identifiers(): 
1397         Tried (unsuccessfully) to remove G:: prefixes in generated documentation.
1398
1399 2008-01-27  Murray Cumming  <murrayc@murrayc.com>
1400
1401         * gio/src/appinfo.hg:
1402         * gio/src/asyncresult.hg:
1403         * gio/src/cancellable.hg:
1404         * gio/src/drive.hg:
1405         * gio/src/error.hg:
1406         * gio/src/file.hg:
1407         * gio/src/fileattribute.hg:
1408         * gio/src/fileenumerator.hg:
1409         * gio/src/fileicon.hg:
1410         * gio/src/fileinfo.hg:
1411         * gio/src/fileinputstream.hg:
1412         * gio/src/fileoutputstream.hg:
1413         * gio/src/filterinputstream.hg:
1414         * gio/src/icon.hg:
1415         * gio/src/inputstream.hg:
1416         * gio/src/loadableicon.hg:
1417         * gio/src/mount.hg:
1418         * gio/src/mountoperation.hg:
1419         * gio/src/outputstream.hg:
1420         * gio/src/seekable.hg:
1421         * gio/src/simpleasyncresult.hg:
1422         * gio/src/volume.hg: Do not include gio.h from our public headers, to 
1423         avoid polluting the namespace.
1424  
1425 2008-01-27  Murray Cumming  <murrayc@murrayc.com>
1426
1427         * gio/src/appinfo.ccg:
1428         * gio/src/appinfo.hg: Make equal() non virtual - equal_vfunc() is instead.
1429         * gio/src/file.ccg:
1430         * gio/src/file.hg: Make equal() non virtual - equal_vfunc() is instead.
1431         replace_contents(), replace_contents_async(), replace_contents_finish():
1432         Reordered parameters to allow default values, and added method overloads.
1433
1434 2008-01-25  Murray Cumming  <murrayc@murrayc.com>
1435
1436         * tools/m4/convert_gio.m4:
1437         * gio/src/filterinputstream.hg: Added the _CLASS_* macro so this type  
1438         is really wrapped.
1439
1440 2008-01-25  Murray Cumming  <murrayc@murrayc.com>
1441
1442         * tools/m4/class_shared.m4: Added _DO_NOT_DERIVE_GTYPE for use in .hg 
1443         files when we do not want to derive a new GType, meaning of course that 
1444         we cannot have default signal handlers or vfuncs.
1445         * gio/src/volumemonitor.hg: Use _DO_NOT_DERIVE_GTYPE, because 
1446         gio tries to call every type that derives from G_TYPE_VOLUME_MONITOR, 
1447         which seems unwise to me - bug #511814.
1448         This makes gtkmm-documentation/examples/book/volumes not crash.
1449
1450 2008-01-24  Jonathon Jongsma  <jjongsma@gnome.org>
1451
1452         * gio/giomm.h: add missing headers to the main include header
1453
1454 2008-01-23  Murray Cumming  <murrayc@murrayc.com>
1455
1456         * gio/src/error.hg: Renamed Gio::IOError to 
1457         Gio::Error.
1458         * gio/src/fileenumerator.ccg:
1459         * gio/src/fileenumerator.hg: Added method overloads of close() and 
1460         next_file() without the cancellable parameter.
1461
1462 2008-01-23  Murray Cumming  <murrayc@murrayc.com>
1463
1464         * gio/src/Makefile_list_of_hg.am_fragment:
1465         * gio/src/error.ccg:
1466         * gio/src/error.hg: Wrapped GIOErrorEnum as Gio::Error exception.
1467         (This is registered in wrap_init()), so that the correct exception 
1468         is thrown.
1469         * gio/giomm.h: Include error.h
1470
1471 2008-01-23  Murray Cumming  <murrayc@murrayc.com>
1472
1473         * gio/src/file.ccg:
1474         * gio/src/file.hg: Added a read() method overload with no 
1475         cancellable parameter.
1476         * tests/giomm_simple/main.cc: Try loading the contents of a file.
1477         Seems to work, though there is an unknown GError domain when the file 
1478         does not exist.
1479
1480 2.15.2:
1481
1482 2008-01-21  Murray Cumming  <murrayc@murrayc.com>
1483
1484         * gio/src/gio_methods.defs: Regenerated.
1485         * gio/src/file.ccg:
1486         * gio/src/file.hg:
1487         * gio/src/fileinputstream.ccg:
1488         * gio/src/fileinputstream.hg:
1489         * gio/src/fileoutputstream.ccg:
1490         * gio/src/fileoutputstream.hg: More overloads, parameter reordering, 
1491         and documentation.
1492
1493 2008-01-21  Murray Cumming  <murrayc@murrayc.com>
1494
1495         * gio/src/inputstream.ccg:
1496         * gio/src/inputstream.hg: Added method overloads and documentation.
1497
1498 2008-01-20  Murray Cumming  <murrayc@murrayc.com>
1499
1500         * gio/src/fileinputstream.ccg:
1501         * gio/src/fileinputstream.hg:
1502         * gio/src/fileoutputstream.ccg:
1503         * gio/src/fileoutputstream.hg: Ignore functions that are just 
1504         duplicates of the ones in Seekable, and mention Seekable more in 
1505         the documentation.
1506         * gio/src/seekable.hg: Expand the class documentation.
1507         * gio/src/outputstream.ccg:
1508         * gio/src/outputstream.hg: Added method overloads and documentation.
1509
1510 2008-01-20  Murray Cumming  <murrayc@murrayc.com>
1511
1512         * glib/glibmm/objectbase.cc:
1513         * glib/glibmm/objectbase.h: Added connect_property_changed_with_return() 
1514         because connect_property_changed() does not return a sigc::connection.
1515         Bug #433984 (Philip Langdale, Kalle Vahlman).
1516
1517 2008-01-20  Murray Cumming  <murrayc@murrayc.com>
1518
1519         * glib/src/checksum.ccg:
1520         * glib/src/checksum.hg: Added class documentation. Corrected constructor 
1521         documentation and added operator bool() to check for a failure in the 
1522         constructor.
1523
1524 2008-01-20  Marko Anastasov  <marko@marko.anastasov.name>
1525
1526         * tools/enum.pl: Handle possible parenthesis when matching enum
1527         values declared as shifted ones. Bug #498621.
1528
1529 2008-01-20  Naveen Verma  <ernaveenverma@gmail.com>
1530
1531         * glib/src/checksum.[hg|ccg]:
1532         * glib/src/Makefile_list_of_hg.am_fragment:
1533         Added Checksum, wrapping GChecksum Bug #510235.
1534
1535 2008-01-20  Murray Cumming  <murrayc@murrayc.com>
1536
1537         * gio/src/inputstream.hg: Ignore g_input_stream_clear_pending() as well as 
1538         the other implementation functions.
1539         * gio/src/outputstream.hg: Ignore the equivalent functions here, 
1540         assuming that they are also only for implementations.
1541
1542 2008-01-20  Murray Cumming  <murrayc@murrayc.com>
1543
1544         * gio/src/fileinfo.hg: FileAttributeMatcher::create(): Add a default 
1545         value and documentation.
1546         * gio/src/file.ccg:
1547         * gio/src/file.hg:
1548         * gio/src/mount.ccg:
1549         * gio/src/mount.hg: const corrections for Slot* and Cancellable 
1550         parameters.
1551
1552 2008-01-20  Murray Cumming  <murrayc@murrayc.com>
1553
1554         * gio/src/file.hg:
1555         * gio/src/file.ccg: enumerate_children(), enumerate_children_async(), 
1556         query_info(), query_info_async(), query_exists(): Reorder parameters to 
1557         add default values, add documentation, make const.
1558
1559 2008-01-18  Murray Cumming  <murrayc@murrayc.com>
1560
1561         * gio/src/mount.ccg:
1562         * gio/src/mount.hg: Added unmount(), remount(), and 
1563         eject(), based on code from José Alburquerque in bug #510080.
1564         * gio/src/volume.hg: Added documentation.
1565
1566 2008-01-18  Murray Cumming  <murrayc@murrayc.com>
1567
1568         * gio/src/drive.ccg:
1569         * gio/src/drive.hg: poll_for_media(): Added documentation.
1570         Wrapped 2 vfuncs (though the .defs still need to be written).
1571         * gio/src/file.ccg:
1572         * gio/src/file.hg: move(), copy(), replace(): Rearranged the parameters so we 
1573         can have default values, and added some documentation.
1574         set_display_name(), set_display_name_async(): Take a ustring instead 
1575         of a std::string. Added documentation.
1576
1577         * gio/src/fileattribute.ccg:
1578         * gio/src/fileattribute.hg: Added FileAttributeInfoList::add().
1579         Added FileAttributeInfoList::empty().
1580
1581         * tools/m4/convert_gio.m4: 
1582         * gio/src/appinfo.hg:
1583         * gio/src/fileenumerator.hg: Move the ListHandle conversions to the 
1584         .hg files because the ownership is specific to each use.
1585
1586 2008-01-18  Murray Cumming  <murrayc@murrayc.com>
1587
1588         * gio/src/drive.hg:
1589         * gio/src/volumemonitor.hg: Wrapped functions that reurn GLists.
1590
1591 2008-01-18  Murray Cumming  <murrayc@murrayc.com>
1592
1593         * gio/src/appinfo.hg:
1594         * gio/src/icon.hg: Removed operator= and operator!= for these RefPtr<> 
1595         specializations, because they are unobvious and conflict with the generic 
1596         ones.
1597
1598 2008-01-17  Marko Anastasov  <marko.anastasov@gmail.com>
1599
1600         * gio/src/inputstream.ccg:
1601         * gio/src/inputstream.hg: Fixed const-ness of Cancellables.
1602         * gio/src/fileinputstream.ccg:
1603         * gio/src/fileinputstream.ccg:
1604         * gio/src/fileoutputstream.ccg:
1605         * gio/src/fileoutputstream.hg: Added an overload of query_info_async(),
1606         * gio/src/outputstream.ccg:
1607         * gio/src/outputstream.hg: write_async(), splice_async() without
1608         the Cancellable.
1609
1610         Patch from José Alburquerque, bug #510080.
1611
1612 2008-01-17  Murray Cumming  <murrayc@murrayc.com>
1613
1614         * gio/src/file.hg:
1615         * gio/src/drive.ccg:
1616         * gio/src/drive.hg: eject(),
1617         * gio/src/volume.ccg:
1618         * gio/src/volume.hg: eject(),
1619         * tools/m4/convert_gio.m4: Wrapped GMountUnmountFlags enum as 
1620         MountUnmountFlags, and used it. 
1621
1622         * gio/src/file.ccg:
1623         * gio/src/file.hg: unmount_mountable(), eject(): Reorder the 
1624         parameters and add a default flag value.
1625
1626 2008-01-17  Marko Anastasov  <marko.anastasov@gmail.com>
1627
1628         * gio/src/filterinputstream.ccg:
1629         * gio/src/filterinputstream.hg:
1630         * gio/src/Makefile_list_of_hg.am_fragment: Added FilterInputStream.
1631
1632         Updated svn:ignore properties.
1633
1634 2008-01-16  Murray Cumming  <murrayc@murrayc.com>
1635
1636         * tools/extra_defs_gen/generate_defs_gio.cc: Added Mount and 
1637         VolumeMonitor.
1638         * gio/src/gio_signals.defs: Regenerated.
1639
1640         * gio/src/Makefile_list_of_hg.am_fragment:
1641         * gio/src/mount.ccg:
1642         * gio/src/mount.hg: Added Mount
1643         * gio/src/volumemonitor.hg:
1644         * gio/src/volumemonitor.ccg: Added VolumeMonitor.
1645
1646         * tools/m4/convert_gio.m4: Added necessary conversions.
1647
1648 2008-01-16  Murray Cumming  <murrayc@murrayc.com>
1649
1650         * gio/src/Makefile_list_of_hg.am_fragment:
1651         * tools/m4/convert_gio.m4:
1652         * gio/src/filemonitor.hg:
1653         * gio/src/filemonitor.hg: Added FileMonitor.
1654         * gio/src/file.hg: Tried to wrap monitor_file() and 
1655         monitor_directory but there is a problem with the GError in 
1656         the generated code.
1657
1658         * tools/extra_defs_gen/generate_defs_gio.cc: Added GFileMonitor.
1659
1660 2008-01-16  Murray Cumming  <murrayc@murrayc.com>
1661
1662         * gio/src/seekable.ccg:
1663         * gio/src/seekable.hg: Added methods and vfuncs (though the .defs 
1664         do not exist for the vfuncs yet.)
1665
1666 2008-01-16  Murray Cumming  <murrayc@murrayc.com>
1667
1668         * gio/src/file.hg: Added query_file_exists().
1669         * glib/src/uriutils.hg:uri_unescape_string(), uri_escape_string():
1670         Change the illegal_characters and reserved_chars_allowed parameters 
1671         to std::string, because they may not be UTF-8 
1672         See bug #508773.
1673
1674 2008-01-15  Murray Cumming  <murrayc@murrayc.com>
1675
1676         * gio/src/drive.ccg:
1677         * gio/src/drive.hg:  eject(), poll_for_media()
1678         * gio/src/volume.ccg:
1679         * gio/src/volume.hg: mount(), eject():
1680         Add method overloads that take no slot.
1681
1682         * glib/src/uriutils.hg: Fix a typo to fix the build.
1683
1684 2008-01-15  Murray Cumming  <murrayc@murrayc.com>
1685
1686         * glib/src/uriutils.hg: Improved the documentation for uri_unescape_string(), 
1687         based on the improved C documentation.
1688
1689 2008-01-15  Murray Cumming  <murrayc@murrayc.com>
1690
1691         * gio/src/drive.ccg:
1692         * gio/src/drive.hg:
1693         * gio/src/file.ccg:
1694         * gio/src/file.hg:
1695         * gio/src/fileenumerator.ccg:
1696         * gio/src/fileenumerator.hg:
1697         * gio/src/fileinputstream.ccg:
1698         * gio/src/fileinputstream.hg:
1699         * gio/src/fileoutputstream.ccg:
1700         * gio/src/fileoutputstream.hg:
1701         * gio/src/inputstream.ccg:
1702         * gio/src/inputstream.hg:
1703         * gio/src/outputstream.ccg:
1704         * gio/src/outputstream.hg:
1705         * gio/src/volume.ccg:
1706         * gio/src/volume.hg: *_async() functions: Rearrange the parameters, 
1707         so the (optional) cancellable is always after the slot, 
1708         and so flags and io_priority are always at the end, so they can have 
1709         default values. 
1710
1711 2008-01-15  Murray Cumming  <murrayc@murrayc.com>
1712
1713         * tools/m4/Makefile_list_of_sources.am_fragment:
1714         * tools/m4/convert_gio.m4:
1715         * tools/m4/convert_glib.m4:
1716         * tools/m4/convert_gtkmm.m4: Moved the gio conversions into 
1717         their own .m4 file, to make it easier to find them.
1718
1719         * gio/src/cancellable.ccg:
1720         * gio/src/cancellable.hg: Use _WRAP_METHOD() for get_current(), 
1721         which also fixes the refcounting.
1722         * glib/src/uriutils.hg: Added documentation and default parameter 
1723         values.
1724
1725 2.15.1:
1726
1727 2008-01-12  Murray Cumming  <murrayc@murrayc.com>
1728
1729         * glib/glibmm.h: Added uriutils.h
1730         * glib/glibmm/private/Makefile.am: Renamed some variables to 
1731         avoid clashes with the build_shared/ variables, which caused 
1732         a dist failure involving wrap_init.h
1733
1734 2008-01-11  Murray Cumming  <murrayc@murrayc.com>
1735
1736         * gio/src/appinfo.hg: Added class documentation.
1737         * gio/src/asyncresult.hg:
1738         * gio/src/cancellable.hg:
1739         * gio/src/drive.hg:
1740         * gio/src/file.hg:
1741         * gio/src/fileattribute.hg:
1742         * gio/src/fileenumerator.hg:
1743         * gio/src/fileicon.hg:
1744         * gio/src/fileinfo.hg:
1745         * gio/src/fileinputstream.hg:
1746         * gio/src/fileoutputstream.hg:
1747         * gio/src/icon.hg:
1748         * gio/src/inputstream.hg:
1749         * gio/src/loadableicon.hg:
1750         * gio/src/mountoperation.hg:
1751         * gio/src/outputstream.hg:
1752         * gio/src/seekable.hg:
1753         * gio/src/simpleasyncresult.hg:
1754         * gio/src/volume.hg: Added @newin2p16 to 
1755         the documentation.
1756
1757         * glib/src/Makefile_list_of_hg.am_fragment:
1758         * glib/src/uriutils.ccg:
1759         * glib/src/uriutils.hg: Added wrappers of (some) of 
1760         these new g_uri_* functions. Not yet documented.
1761
1762 2008-01-11  Murray Cumming  <murrayc@murrayc.com>
1763
1764         * gio/src/file.ccg:
1765         * gio/src/file.hg: Rename create() to create_file(), 
1766         create_async() to create_file_async() and 
1767         create_finish() to create_file_finish() to slightly 
1768         reduce confusion with the static create*() methods.
1769
1770 2008-01-11  Murray Cumming  <murrayc@murrayc.com>
1771
1772         * gio/src/Makefile_list_of_hg.am_fragment:
1773         * gio/src/seekable.ccg:
1774         * gio/src/seekable.hg: Added the Seekable interface, though it 
1775         has not methods yet.
1776         * gio/src/fileinputstream.hg:
1777         * gio/src/fileoutputstream.hg: Derive/implement Seekable.
1778         * gio/src/icon.hg:
1779         * gio/src/inputstream.hg:
1780         * gio/src/loadableicon.hg:
1781         * gio/src/mountoperation.hg:
1782         * gio/src/outputstream.hg:
1783         * gio/src/simpleasyncresult.hg:
1784         * gio/src/volume.hg: Added class documentation, based on the C 
1785         documentation.
1786
1787 2008-01-10  Marko Anastasov  <marko.anastasov@gmail.com>
1788
1789         * gio/src/appinfo.ccg:
1790         * gio/src/appinfo.hg: Wrapped AppInfo and AppLaunchContext, without
1791         the vfuncs.
1792         * tools/m4/convert_glib.m4: New conversions.
1793         The previous comment on build was not valid.
1794
1795 2008-01-10  Marko Anastasov  <marko.anastasov@gmail.com>
1796
1797         * gio/src/appinfo.ccg:
1798         * gio/src/appinfo.hg:
1799         * gio/src/Makefile_list_of_hg.am_fragment:
1800         Added AppInfo, with only two methods before we see why it
1801         doesn't get included in the build.
1802
1803 2008-01-10  Marko Anastasov  <marko.anastasov@gmail.com>
1804
1805         * gio/src/drive.hg:
1806         * gio/src/drive.ccg: Added poll_for_media, poll_for_media_finish.
1807         * gio/src/fileinputstream.hg:
1808         * gio/src/fileoutputstream.hg:
1809         * gio/src/inputstream.hg:
1810         * gio/src/volume.hg: Modified *_finish functions to take a const
1811         AsyncResult.
1812
1813 2008-01-10  Marko Anastasov  <marko.anastasov@gmail.com>
1814
1815         * gio/src/drive.hg: Added missing capability checking functions.
1816         * gio/giomm: Updated svn:ignore properties.
1817
1818 2008-01-10  Jonathon Jongsma  <jjongsma@gnome.org>
1819
1820         * gio/src/mountoperation.hg: api change in reply() virtual function and
1821         addition of MountOperationResult enumeration
1822         * tools/m4/convert_glib.m4: add MountOperationResult enum conversion
1823         * gio/src/gio_enums.defs: re-generate enums
1824         * gio/src/gio_methods.defs: re-generate methods
1825
1826 2008-01-10  Murray Cumming  <murrayc@murrayc.com>
1827
1828         * Makefile.am:
1829         * build_shared/Makefile_build.am_fragment:
1830         * build_shared/Makefile_build_extra.am_fragment:
1831         * build_shared/Makefile_build_gensrc.am_fragment:
1832         * build_shared/Makefile_gensrc.am_fragment:
1833         * build_shared/Makefile_gensrc_platform.am_fragment:
1834         Copy (and very slightly adjust) the build_shared/ files from 
1835         gtkmm, which has had multiple sub-libraries for a long time.
1836         * gio/giomm/Makefile.am:
1837         * gio/src/Makefile.am:
1838         * gio/src/Makefile_list_of_hg.am_fragment:
1839         * glib/glibmm/Makefile.am:
1840         * glib/glibmm/private/Makefile.am:
1841         * glib/src/Makefile.am:
1842         * glib/src/Makefile_list_of_hg.am_fragment:
1843         Adapt to the structure (variable names, mostly) needed by the 
1844         newer build_shared/ files, so that the giomm library is actually 
1845         built. 
1846
1847         * tools/m4/convert_glib.m4:
1848         * gio/giomm/init.cc:
1849         * gio/giomm/init.h:
1850         * gio/src/asyncresult.ccg:
1851         * gio/src/drive.ccg:
1852         * gio/src/drive.hg:
1853         * gio/src/file.ccg:
1854         * gio/src/file.hg:
1855         * gio/src/fileattribute.ccg:
1856         * gio/src/fileinputstream.hg:
1857         * gio/src/fileoutputstream.hg:
1858         * gio/src/volume.ccg:
1859         * gio/src/volume.hg: Various build fixes, including adding a flags 
1860         parameter to unmount and eject methods.
1861
1862 2008-01-10  Murray Cumming  <murrayc@murrayc.com>
1863
1864         * gio/giomm.h: Correct an include.
1865         * gio/src/asyncresult.hg:
1866         * gio/src/cancellable.hg:
1867         * gio/src/drive.hg:
1868         * gio/src/file.hg:
1869         * gio/src/fileattribute.hg:
1870         * gio/src/fileenumerator.hg:
1871         * gio/src/fileicon.hg:
1872         * gio/src/fileinfo.hg:
1873         * gio/src/fileinputstream.hg:
1874         * gio/src/fileoutputstream.hg:
1875         * gio/src/outputstream.hg:
1876         * gio/src/simpleasyncresult.hg:
1877         * gio/src/volume.ccg:
1878         * gio/src/volume.hg: Correct several includes to use giomm/ instead of 
1879         glibmm/.
1880
1881         * configure.in:
1882         * examples/Makefile.am_fragment:
1883         * tests/Makefile.am_fragment: Include/Link giomm too.
1884
1885         * tests/Makefile.am:
1886         * tests/giomm_simple/Makefile.am:
1887         * tests/giomm_simple/giomm_simple.cc:
1888         Added a little test, which shows that the library is not being built 
1889         properly - we get undefined symbols.
1890
1891 2008-01-10  Murray Cumming  <murrayc@murrayc.com>
1892
1893         * tools/extra_defs_gen/generate_defs_gio.cc: Added some types used so 
1894         far. There are probably more that should be added here.
1895         * tools/extra_defs_gen/generate_extra_defs.cc: get_properties(): 
1896         Added warnings and a check to avoid a crash when 
1897         g_object_interface_list_properties() returns a NULL paramspec, but a 
1898         non-null properties count, as is happening with GVolume.
1899         * gio/src/gio_signals.defs: Generated this from generate_defs_gio.
1900
1901 2008-01-09  Murray Cumming  <murrayc@murrayc.com>
1902
1903         * gio/src/Makefile_list_of_hg.am_fragment:
1904         * gio/src/loadableicon.ccg:
1905         * gio/src/loadableicon.hg: Added this, though no methods or vfuncs are 
1906         wrapped yet.
1907         * tools/m4/convert_glib.m4:
1908         * gio/src/fileicon.hg:
1909         * gio/src/fileinfo.hg: Derive from LoadableIcon and implement it.
1910         set_modification_time(): Take a const TimeVal.
1911         * gio/src/fileinputstream.ccg:
1912         * gio/src/fileinputstream.hg: Added documentation and a version of 
1913         seek() without the cancellable parameter.
1914         * gio/src/gio_docs.xml: Generated from docextract_to_xml.py so we get 
1915         documentation for methods created by _WRAP_METHOD().
1916
1917 2008-01-09  Murray Cumming  <murrayc@murrayc.com>
1918
1919         * gio/src/file.ccg:
1920         * gio/src/file.hg: Added method documentation for most *_async methods.
1921         See also GTK+ bug #508297.
1922         Removed one superfluous load_partial_contents_async() method overload.
1923         * gio/src/fileenumerator.hg: Corrected documentation for close_async(). 
1924
1925 2008-01-08  Murray Cumming  <murrayc@murrayc.com>
1926
1927         * configure.in: Uncomment GTKMM_DOXYGEN_INPUT_SUBDIRS to fix the 
1928         reference documentation build (no idea when this happened) and add 
1929         gio to the list of directories.
1930
1931         * glib/src/optioncontext.ccg:
1932         * glib/src/optioncontext.hg: Added get_help().
1933
1934         * gio/src/gio_enums.defs: Regenerated with enums.pl
1935         * gio/src/gio_methods.defs: Regenerated with h2defs.py.
1936
1937         * tools/m4/convert_glib.m4:
1938         * gio/src/fileattribute.hg: Renamed FileAttributeFlags to 
1939         FileAttributeInfoFlags, as it is in gio.
1940
1941         * gio/src/fileenumerator.hg:
1942         * gio/src/asyncresult.hg:
1943         * gio/src/cancellable.hg:
1944         * gio/src/drive.hg:
1945         * gio/src/file.hg: Added class documentation, and some method 
1946         documentation, based on the C documentation.
1947         Many giomm classes still need documentation.
1948
1949 2008-01-08  Murray Cumming  <murrayc@murrayc.com>
1950
1951         * gio/src/asyncresult.hg:
1952         * gio/src/cancellable.hg:
1953         * gio/src/fileattribute.hg:
1954         * gio/src/fileenumerator.hg:
1955         * gio/src/fileinputstream.hg:
1956         * gio/src/fileoutputstream.hg:
1957         * gio/src/icon.hg:
1958         * gio/src/inputstream.hg:
1959         * gio/src/mountoperation.hg:
1960         * gio/src/outputstream.hg:
1961         * gio/src/simpleasyncresult.hg:
1962         Made some whitespace more consistent with the rest of glibmm.
1963         In particular, white space alignment in .hg files will often be even worse 
1964         when seen in the generated .h files.
1965
1966         * gio/src/drive.hg: get_icon(), 
1967         * gio/src/file.hg: read(), 
1968         * gio/src/fileicon.hg: get_file(), 
1969         * gio/src/fileinfo.hg: get_icon(), 
1970         * gio/src/volume.hg: get_drive(), get_icon():
1971         For the const versions, actually return a const RefPtr.
1972
1973 2.15.0:
1974
1975 2007-12-28  Marko Anastasov  <marko.anastasov@gmail.com>
1976
1977         * tools/extra_defs_gen/generate_defs_gio.cc:
1978         * tools/extra_defs_gen/Makefile.am: Build a separate extra defs
1979         generating program for gio. Currently the program would crash
1980         with get_defs() calls with gio types.
1981         * configure.in: Define GIOMM_CFLAGS and GIOMM_LIBS.
1982
1983 2007-12-28  Marko Anastasov  <marko.anastasov@gmail.com>
1984
1985         * gio/src/gio_enums.defs:
1986         * gio/src/gio_methods.defs: Regenerated with enums.pl and h2defs.py.
1987
1988 2007-12-28  Marko Anastasov  <marko.anastasov@gmail.com>
1989
1990         * gio/src/icon.ccg:
1991         * gio/src/icon.hg:
1992         * gio/src/inputstream.ccg:
1993         * gio/src/inputstream.hg:
1994         * gio/src/Makefile_list_of_hg.am_fragment: Added files missing from
1995         the import.
1996
1997         Set svn:ignore properties for gio.
1998
1999 2007-12-28  Murray Cumming  <murrayc@murrayc.com>
2000
2001         * configure.in: Mention the new gio/giommconfig.h in AM_CONFIG_HEADER().
2002         * gio/Makefile.am: Change references to the giomm-2.0.pc to giomm-2.4.pc.
2003         * gio/src/Makefile_list_of_hg.am_fragment: Remove icon.hg and inputstream.hg 
2004         because they do not exist in svn.
2005         * gio/src/outputstream.hg: Comment out set_pending() because gmmproc complains 
2006         about the wrong number of parameters.
2007
2008         This fixes the build, though I don't know yet if everything is working properly.
2009
2010 2007-12-28  Marko Anastasov  <marko.anastasov@gmail.com>
2011
2012         * configure.in: Fixed typo.
2013
2014 2007-12-28  Marko Anastasov  <marko.anastasov@gmail.com>
2015
2016         * gio/*:
2017         * configure.in:
2018         * Makefile.am:
2019         * tools/m4/convert_glib.m4: Checked in sources from giomm. Build
2020         needs to be fixed to work with scripts in build_shared/.
2021
2022 2007-12-28  Murray Cumming  <murrayc@murrayc.com>
2023
2024         * glib/glibmm/ustring.h: Added @newin2p16 to compose() and format() 
2025         documentation.
2026         * glib/src/keyfile.ccg:
2027         * glib/src/keyfile.hg: set_double_list(): Make the ArrayHandle argument const. 
2028         This could not have been used before.
2029
2030 2007-12-28  Murray Cumming  <murrayc@murrayc.com>
2031
2032         * glib/src/keyfile.hg: Add class documentation from the glibmm-2-14 branch.
2033
2034 2007-12-28  Murray Cumming  <murrayc@murrayc.com>
2035
2036         * tools/m4/class_gobject.m4:
2037         * tools/m4/ctor.m4:
2038         _INITIALLY_UNOWNED_SINK: Rename from INITIALLY_UNOWNED_SINK, 
2039         for consistency, because this could be used directly from .ccg files 
2040         that use _CONSTRUCT().
2041         Remove the debug code for the else case.
2042
2043 2007-12-28  Murray Cumming  <murrayc@murrayc.com>
2044
2045         * tools/m4/class_gobject.m4:
2046         * tools/m4/ctor.m4:
2047         Added the _DERIVES_INITIALLY_UNOWNED macro, for use 
2048         after _CLASS_GOBJECT(), if the C type derives 
2049         from GInitiallyUnowned rather than just GObject.
2050         (Not for use with GtkObject-derived classes).
2051         This does g_object_ref_sink() so that we get a normally-behaved 
2052         GObject.
2053
2054 2007-12-28  Murray Cumming  <murrayc@murrayc.com>
2055
2056         * scripts/c_std.m4: Added this, to fix the build. I forgot to 
2057         add this when merging the change from glibmm-2-14 on 2007-10-22.
2058
2059 2007-12-28  Murray Cumming  <murrayc@murrayc.com>
2060
2061         * glib/glibmm/refptr.h: Use @newin2p16 in the reset() documentation.
2062
2063 2007-12-28  Murray Cumming  <murrayc@murrayc.com>
2064
2065         * glib/glibmm/refptr.h: Deprecate clear(), replacing it with 
2066         reset(), because people often do treemodel.clear() when they 
2067         mean treemodel->clear(). reset() is consistent with std::auto_ptr<>.
2068
2069 2007-12-28  Daniel Elstner  <danielk@openismus.com>
2070
2071         * tools/pm/Output.pm (output_wrap_property): Refuse to generate
2072         a wrapper for a construct-only property which is also write-only,
2073         and display an error message accordingly. (#436789)
2074
2075 2007-12-28  Murray Cumming  <murrayc@murrayc.com>
2076
2077         * glib/glibmm/error.cc:
2078         * glib/glibmm/exception.cc:
2079         * glib/src/convert.ccg:
2080         * glib/src/date.ccg: Include glib.h instead of gmessages.h or 
2081         gtestutils.h so this builds with all versions of glib.
2082
2083 2007-12-17  Marko Anastasov  <marko.anastasov@gmail.com>
2084
2085         * glib/glibmm/exception.cc:
2086         * glib/glibmm/error.cc:
2087         * glib/src/date.ccg:
2088         * glib/src/convert.ccg: Include gtestutils.h instead of gmessages.h
2089         for g_assert* adapting to glib head.
2090
2091 2007-11-20  Sebastien Bacher  <seb128@ubuntu.com>
2092
2093         * glib/glibmm/object.cc: fix build issue when using gcc4.3 (#498438)
2094
2095 2007-10-22  Murray Cumming  <murrayc@murrayc.com>
2096
2097         * Merged this change from 2007-03-03 from the glibmm-2-12 branch, which was 
2098         missing from this branch:
2099         * configure.in:
2100         * glib/glibmmconfig.h.in:
2101         * glib/src/date.ccg:
2102         * glib/src/date.hg:
2103         * scripts/Makefile.am:
2104         * scripts/c_std.m4: Added a test for the case that time_t is equivalent to 
2105         guint32, as seems to be the case on NetBSD-4.99.6/amd64, so we can ifdef-out 
2106         the (deprecated, anyway) Glib::Date::set_time(GTime) method when necessary, because 
2107         GTime is also equivalent to guint32.
2108         Bug #386990.
2109
2110 2007-10-12  Armin Burgmeier  <armin@openismus.com>
2111
2112         * tools/m4/base.m4: Added a new section called SECTION_HEADER_FIRST
2113         that within the header file that is before any generated code (apart
2114         from the include guards) and a _CONFIGINCLUDE macro that includes a
2115         file within this section. This is intended to be used with
2116         g*mmconfig.h so the *_DISABLE_DEPRECATED define is set for deprecated
2117         classes also when included from other code.
2118
2119 2007-10-05  Philipp Kerling <philipp@gmail.com>
2120
2121         * tools/extra_defs_gen/generate_extra_defs.cc: 
2122         Also create defs for interfaces, by refing and unrefing them 
2123         temporarily.
2124
2125 2007-09-29  Rémi Cardona  <remi@gentoo.org>
2126
2127         * configure.in:
2128         increase the minimum glib requirements.
2129         Bug #481566.
2130
2131 2007-10-02  Murray Cumming  <murrayc@murrayc.com>
2132
2133         * glib/glibmm/wrap.cc:
2134         * glib/glibmm/wrap.h: Replaced wrap_create_new_wrapper() 
2135         (introduced by the last commit) with wrap_create_new_wrapper(),
2136         allowing us to check that the parent GType actually implements 
2137         the interface. This allows us to return a parent known type 
2138         if it implements the wanted interface.
2139
2140 2007-09-25  Murray Cumming  <murrayc@murrayc.com>
2141
2142         * glib/glibmm/wrap.cc:
2143         * glib/glibmm/wrap.h: Added wrap_auto_interface<>(), which should 
2144         be used by wrap() specializations for interfaces, so we create 
2145         instances of the interface even if the derived C type is unknown to 
2146         us.
2147         * glib/glibmm/signalproxy_connectionnode.h: Do not wrap.h from here 
2148         unnecessarily, to allow us to include objectbase.h in wrap.h, 
2149         needed by the new templated method.
2150         * tools/m4/class_interface.m4: Use wrap_auto_interface<>() 
2151         instead of wrap_auto() for interfaces.
2152
2153 2007-09-06  Daniel Elstner  <danielk@openismus.com>
2154
2155         * glib/src/regex.{ccg,hg} (Regex): Some cosmetic cleanup.  Also
2156         replace C-style casts in default argument values with static_cast<>.
2157         (escape_string): Wrap missing function.
2158         (match_full): Rename to and add as overloads of match().
2159         (match_all_full): Rename to and add as overloads of match_all().
2160         (split_full): Rename to and add as overloads of split().
2161
2162 2007-09-03  Daniel Elstner  <danielk@openismus.com>
2163
2164         * glib/glibmm/ustring.cc (ustring::FormatStream::FormatStream): Use
2165         the global C++ locale instead of forcing the environment's locale
2166         onto the formatting stream.  This lifts an unnecessary restriction
2167         at the cost of requiring users to call std::locale::global().
2168         * glib/glibmm/ustring.h (ustring): Advertise the new compose and
2169         format API in the class documentation.
2170         (ustring::format): Correct a couple of cut'n'paste mistakes -- ouch.
2171         Also add two more overloads so that format() now takes up to eight
2172         arguments.  Extent the method documentation, too.
2173         (ustring::Stringify): Explicitly declare the class as noncopyable.
2174         (ustring::compose): Qualify calls to method ustring::compose_argv()
2175         in order to avoid surprising name lookup results in the context of
2176         the template instantiation.
2177
2178         * docs/reference/Doxyfile.in (PREDEFINED): Add GLIBMM_HAVE_WIDESTREAM
2179         so that the wide stream I/O operators show up in the documentation.
2180
2181 2007-08-16  Jonathon Jongsma  <jjongsma@gnome.org>
2182
2183         * docs/reference/glibmm_footer.html_fragment,
2184         docs/reference/glibmm_header.html_fragment: added <div> to doxygen header
2185         and footer to make it easier to integrate with library.gnome.org, per a
2186         request by Frederic Peters
2187
2188 2007-08-15  Daniel Elstner  <danielk@openismus.com>
2189
2190         * glib/glibmm/ustring.{cc,h} (ustring::compose_argv): Rename
2191         "format" argument to "fmt" to avoid name clashes with the method
2192         of the same name.
2193         (ustring::compose): Make the type of each substitution parameter
2194         a template argument, and invoke ustring::format() implicitly for
2195         non-string arguments.  Explicit invocation of ustring::format() is
2196         still necessary in order to apply I/O manipulators to an argument.
2197         (ustring::Stringify): New auxiliary template class used in the
2198         implementation of ustring::compose().
2199
2200         * examples/compose/main.cc (show_examples): Omit explicit calls
2201         to ustring::format() where possible.
2202
2203 2007-08-12  Daniel Elstner  <danielk@openismus.com>
2204
2205         * examples/compose: New example demonstrating the message
2206         compose and format features.
2207         * examples/compose/main.cc: New file.
2208         * examples/compose/Makefile.am: New file.
2209
2210         * examples/Makefile.am (example_dirs): Add compose directory.
2211         * configure.in (AC_CONFIG_FILES): Add examples/compose/Makefile.
2212
2213 2007-08-12  Daniel Elstner  <danielk@openismus.com>
2214
2215         * build_shared/Makefile_build.am_fragment (all_includes): Add
2216         -I$(top_builddir) in order to allow <config.h> to be included.
2217
2218         * glib/glibmm/ustring.{cc,h}: Include <config.h> for the
2219         definition of SIZEOF_WCHAR_T.
2220         (ustring::FormatStream::stream): Replace accessor with template
2221         method that passes its argument onto the stream.  Add overload
2222         for "const char*" to enable the use of UTF-8 string literals as
2223         arguments to ustring::format().
2224         (ustring::FormatStream::FormatStream): Handle exceptions on
2225         failure to initialize the locale gracefully.
2226         (ustring::format): Adapt to the modified stream() method.
2227         (operator<<): Add missing call to ustring::raw() to get the
2228         number of bytes instead of code points.  Oops.
2229
2230 2007-08-12  Daniel Elstner  <danielk@openismus.com>
2231
2232         * glib/glibmm/ustring.{cc,h}: Add preliminary implementation of
2233         a message compose and format API (bug #399216).  The API design
2234         is not final and still open for discussion.
2235         (ustring::compose): New set of static methods for composing
2236         internationalized text messages by substituting placeholders
2237         in a template string.
2238         (ustring::format): New set of static methods for locale-dependent
2239         formatting of numbers and other streamable objects to strings.
2240         (ustring::compose_argv): New static method which implements the
2241         common functionality of the compose() overloads.
2242         (ustring::FormatStream): New helper class which implements the
2243         type-independent functionality of the format() templates.
2244         (operator>>): New operator overload for std::wistream.
2245         (operator<<): New operator overload for std::wostream.
2246
2247 2007-08-12  Daniel Elstner  <danielk@openismus.com>
2248
2249         * scripts/dk-feature.m4: New file, defining M4 utility macros for
2250         feature testing.  These macros are part of my personal autoconf
2251         library and are not specific to glibmm, as indicated by the "DK_"
2252         namespace prefix.
2253
2254         * configure.in (AC_INIT): Switch to the non-deprecated usage of
2255         AC_INIT() by passing project name and version number as arguments.
2256         This is necessary to define a couple of auxiliary macros.
2257         (AC_PREREQ): Bump Autoconf version requirement to 2.58.
2258         (AC_CONFIG_SRCDIR): Point to project-specific source file.
2259         (AC_CONFIG_MACRO_DIR): Declare scripts/ as M4 directory.
2260         (AM_INIT_AUTOMAKE): Switch to non-deprecated usage.
2261         (AC_CHECK_SIZEOF): Use to determine the size of wchar_t.
2262         (DK_CHECK_FEATURE): Use new feature test macro to check for
2263         support of wide-character streams.
2264
2265         * config.h.in (SIZEOF_WCHAR_T): Add #undef template.
2266         * glib/glibmmconfig.h.in (GLIBMM_HAVE_WIDE_STREAM): Likewise.
2267
2268 2007-08-04  Daniel Elstner  <daniel.kitta@gmail.com>
2269
2270         * containerhandle_shared.h (TypeTraits<bool>): Rewrite completely
2271         broken type adapter (bug #406960).
2272         * src/keyfile.{ccg,hg}: Fix the implementation to correctly use
2273         ArrayHandle<>.  Fix compilation with the new ArrayHandle<bool>
2274         code.
2275
2276 2.13.9:
2277
2278 2007-07-28  Murray Cumming  <murrayc@murrayc.com>
2279
2280         * glib/src/keyfile.hg:
2281         * glib/src/keyfile.ccg: Added a set_double() without the group_name 
2282         parameter, because the C function can take NULL.
2283         * glib/src/glib_docs_override.xml: Corrected the documnentation for 
2284         g_keyfile_set/get_double() to mention 2.14, instead of 2.12, 
2285         because we only added these to glibmm in 2.14.
2286         * glib/src/regex.hg: Correct the since documentation to be 2.14 
2287         not 2.12.
2288         * glib/src/iochannel.hg: read(): Corrected a parameter name to 
2289         match the generated documentation.
2290         * glib/glibmm/miscutils.h: Fixed typos in the use of newin2p14.
2291
2292 2007-07-28  Murray Cumming  <murrayc@murrayc.com>
2293
2294         * docs/Makefile_web.am_fragment: Corrected the rsync options, to 
2295         match those used by gtkmm, to fix the examples upload.
2296         * glib/src/glib_docs.xml: Regenerated from the C documentation.
2297
2298 2007-07-14  Murray Cumming  <murrayc@murrayc.com>
2299
2300         * glib/src/keyfile.ccg:
2301         * glib/src/keyfile.hg: Added get_double(), set_double(), get_double_list() 
2302         and set_double_list().
2303
2304 2.13.8:
2305
2306 2007-07-07  Jonathon Jongsma  <jjongsma@gnome.org>
2307
2308         * glib/src/optioncontext.ccg:
2309         * glib/src/optioncontext.hg: add some new API that was added in glib 2.12,
2310         including get/set_summary(), get/set_description(), set_translation_domain(),
2311         and set_translate_func().
2312         * glib/src/glib_docs.xml: Regenerated with docextract_to_xml.py
2313         * glib/src/glib_docs_override.xml: override docs for the new functions so
2314         that they say that they were introduced in glibmm 2.14 instead of 2.12
2315
2316 2007-07-02  Johannes Schmid <johannes.schmid@openismus.com>
2317
2318         * glib/src/regex.hg:
2319         Added class documentation
2320
2321 2007-07-02  Murray Cumming  <murrayc@murrayc.com>
2322
2323         * tools/pm/DocsParser.pm: convert_tags_to_doxygen():
2324         Handle newin markers for 2.12 and a few after that. 
2325         * docs/reference/Doxyfile.in: Added ALIASES for newin2p12 and 
2326         a few more.
2327
2328 2.13.7:
2329
2330 2007-06-22  Murray Cumming  <murrayc@murrayc.com>
2331
2332         * glib/glibmm/main.cc:
2333         * glib/glibmm/main.h: Added SignalTimeout::connect_seconds() 
2334         as an equivalent for g_timeout_add_seconds() and took the improved 
2335         documentation from glib.
2336
2337         * glib/glibmm/miscutils.cc:
2338         * glib/glibmm/miscutils.h: Added get_user_special_dir(), though we 
2339         should maybe wrap the enum.
2340         Reimplemented many of the functions with the 
2341         convert_return_gchar_ptr_to_stdstring() and 
2342         convert_const_gchar_ptr_to_stdstring() functions to simplify them 
2343         and make them handle NULLs properly.
2344
2345 2007-06-22  Murray Cumming  <murrayc@murrayc.com>
2346
2347         * glib/src/regex.ccg:
2348         * glib/src/regex.hg: Added a create() method, and added some 
2349         more default parameter values to the methods.
2350
2351         * configure.in:
2352         * examples/Makefile.am:
2353         * examples/regex/main.cc: Added a very simple example.
2354
2355         * glib/glibmm/value_custom.h: Put header guards around this, though 
2356         this should never be included directly anyway.
2357
2358 2.13.6:
2359
2360 2007-06-17  Murray Cumming  <murrayc@murrayc.com>
2361
2362         * glib/src/regex.hg:
2363         * glib/src/matchinfo.hg: Removed API that uses GMatchInfo, until we 
2364         wrap this properly, probably as a C++ iterator. This will avoid this 
2365         API accidentally being released as stable sometime.
2366
2367 2007-06-12  Murray Cumming  <murrayc@murrayc.com>
2368
2369         * glib/src/glib_enums.defs: Regenerated with enums.pl
2370         * glib/src/glib_functions.defs: Regenerated with h2defs.py
2371
2372         * glib/src/Makefile_list_of_hg.am_fragment:
2373         * tools/m4/convert_glib.m4:
2374         * glib/src/matchinfo.ccg:
2375         * glib/src/matchinfo.hg:
2376         * glib/src/regex.ccg:
2377         * glib/src/regex.hg: Added the RegEx and MatchInfo classes.
2378         These need some examples to test them. The MatchInfo class is 
2379         probably particularly broken at the moment. See the TODO comments.
2380
2381         * glib/glibmm.h: Added regex.h
2382
2383 2007-05-14  Murray Cumming  <murrayc@murrayc.com>
2384
2385         * tools/m4/class_boxedtype.m4:
2386         * tools/m4/class_gobject.m4:
2387         * tools/m4/class_gtkobject.m4:
2388         * tools/m4/class_interface.m4:
2389         * tools/m4/class_opaque_copyable.m4:
2390         * tools/m4/class_opaque_refcounted.m4: Explicitly mention Glib::wrap() 
2391         in the documentation for generated Glib::wrap() functions, because doxygen 
2392         does not show their namespace.
2393
2394 2007-05-04  Murray Cumming  <murrayc@murrayc.com>
2395
2396         * tools/pm/Function.pm: When generating example prototypes for 
2397         signal handlers, prefix them with on_my_, to avoid confusion with 
2398         similarly named functions and with on_*() default signal handlers.
2399
2400 2.13.5:
2401
2402 2007-04-30  Johannes Schmid <johannes.schmid@openismus.com>
2403
2404         * tools/generate_wrap_init.pl.in:
2405         * tools/m4/class_gtkobject.m4:
2406         Use _IS_DEPRECATED instead of _CLASS_DEPRECATED because
2407         the latter confuses gmmproc.
2408         We cannot just use _DEPRECATED because it will result
2409         in incorrect handling of for example
2410         #ifndef GTKMM_DISABLE_DEPRECATED
2411
2412 2007-04-24  Yselkowitz <yselkowitz@users.sourceforge.net>
2413
2414         * scripts/macros.m4: Check for both m4 and M4 in the GNU m4 output,
2415         to fix the build on some platforms.
2416         Bug #423990
2417
2418 2.13.4:
2419
2420 2007-04-11  Armin Burgmeier  <armin@openismus.com>
2421
2422         * tools/pm/WrapParser.pm: Added peek_token() function which only
2423         returns the next token without removing it from the tokens array.
2424         Parse '/**' as a separate token and handle it in a special way so that
2425         when the final '*/' is encountered and _WRAP_SIGNAL follows, the
2426         comment is not terminated but continued by that automatically
2427         generated doxygen comment.
2428
2429         * tools/pm/Output.pm: Added a merge_doxygen_comment_with_previous
2430         parameter in output_wrap_sig_decl(). If it is nonzero, the function
2431         assumes that there is already a comment open and continues to use it
2432         instead of opening a new comment by removing the leading '/**' from
2433         what get_refdoc_comment() returns. Bug #378810.
2434
2435 2007-04-06  Johannes Schmid <johannes.schmid@openismus.com>
2436
2437         * tools/generate_wrap_init.pl.in:
2438         Use _CLASS_DEPRECATE instead of just _DEPRECATE to
2439         known whether a whole class should be avoided in wrap_init.
2440         Otherwise every .hg file containing deprecated methods
2441         might get ignored. (Fixes Gtk::TextBuffer bug in maemo)
2442
2443 2007-03-19  Bradley Bell  <btb@debian.org>
2444
2445         * glib/glibmm/helperlist.h: Change variable name to avoid
2446         warnings about a shadowed member.
2447         Bug #420316.
2448
2449 2007-03-19  Bradley Bell  <btb@debian.org>
2450
2451         * glib/glibmm/utility.h: remove g_free prototype, include gmem.h
2452         instead, to avoid a warning about a redundant declaration.
2453         Bug #420339.
2454
2455 2007-03-17  Armin Burgmeier  <armin@openismus.com>
2456
2457         * tools/m4/signal.m4:
2458         * tools/m4/vfunc.m4: 
2459         Use static_cast in vfuncs and signal handlers to cast the
2460         wrapper object to ObjectBase*. This is enough to check whether the object is
2461         from a derived type or not. A slow dynamic_cast has only to be performed if it
2462         is derived, and the C++ vfunc needs to be called.
2463         * glib/glibmm/objectbase.h: This requires ObjectBase::is_derived_ to be public, 
2464         because it is called on a ObjectBase* rather than the actual type.
2465         This causes a slight speed up of vfuncs and default signal handler invokation.
2466
2467         Also added commented-out inline versions of ObjectBase::_get_current_wrapper() and 
2468         ObjectBase::is_derived(), which could be used in the generated code if we find 
2469         that this has significant performance benefits. Note that these methods must be 
2470         additional to the non-inline methods, because inline methods are not usually exported in the 
2471         shared library. 
2472
2473 2007-02-10  Murray Cumming  <murrayc@murrayc.com>
2474
2475         * examples/options/main.cc: Use a default value, to show that it 
2476         can be done.
2477         (This change, from 2006-03-30 was restored after being accidentally lost on Apr 12 2006)
2478
2479 2007-02-10  Armin Burgmeier <armin@arbur.net>
2480
2481         * glib/src/optiongroup.ccg: default_c_arg(): Set the initial
2482         value of the C argument to the value the C++ argument has, to avoid
2483         that glibmm resets arguments to zero that were not given on the
2484         command line.
2485         (This change, from 2006-03-30 was restored after being accidentally lost on Apr 12 2006)
2486
2487 2007-01-28  Daniel Elstner  <daniel.kitta@gmail.com>
2488
2489         * tools/m4/ctor.m4: If the argument list is empty, call the non-
2490         varargs overload of the Glib::ConstructParams constructor instead
2491         of using an empty varargs list.  This mistake was exposed thanks
2492         to the recent addition of G_GNUC_NULL_TERMINATED to the varargs
2493         constructor declaration.  Fortunately it was harmless in this case.
2494         Also use the opportunity to clean up the M4 code and prefix builtin
2495         M4 macros with m4_, so that we may get rid of the unprefixed macros
2496         altogether some day.
2497
2498 Thu, 25 Jan 2007 23:13:05 +0100 Dodji Seketeli
2499
2500         * tools/m4/base.m4:
2501           prefix the builting mkstemp with 'm4' because otherwise,
2502           m4 1.4.8 recognizes it as a builtin macro and expands it, leading
2503           to compilation errors on some distros.
2504           This should fix #397167. Thanks to Daniel Elstner for spotting this.
2505
2506 2007-01-20  Daniel Elstner  <daniel.kitta@gmail.com>
2507
2508         * glib/glibmm/dispatcher.{cc,h}: Early spring cleaning.  Also add
2509         a paragraph about Dispatcher on win32 to the documentation.
2510         (DispatchNotifyData): Remove the 'tag' member from the struct that
2511         was always set to 0xdeadbeef in order to detect memory corruption.
2512         This is pointless, as we already check the DispatchNotifier pointer
2513         sent across the pipe, which is a far better indicator of corruption
2514         anyway.
2515         (warn_failed_pipe_io): Remove the err_no parameter and retrieve
2516         errno respectively GetLastError() within the function instead.
2517         (DispatchNotifier::conn_io_handler_): Remove, as we now inherit
2518         from sigc::trackable.  I verified that this doesn't cause problems
2519         with threading in this particular case.
2520         (DispatchNotifier::DispatchNotifier): If creating the pipe failed
2521         and exceptions are disabled, call at least warn_failed_pipe_io()
2522         instead of doing nothing at all.
2523         (DispatchNotifier::*): Rework the win32 implementation so that it
2524         matches more closely the Dispatcher semantics on Unix.  This still
2525         needs testing by someone on win32, though.  So far I only verified
2526         that it compiles with dummy definitions of the win32 API.  Also,
2527         I accidentally located the real cause of the race condition Cedric
2528         experienced in bug #109966.  It was a bug in my patch, rather than
2529         in the example code.
2530
2531         * examples/thread/dispatcher.cc: Cleanup.  In particular, get rid
2532         of the Glib::RefPtr<> abuse with non-Glib::Object types.  I don't
2533         believe we endorse such usage officially, so it shouldn't be in
2534         the examples.
2535
2536 2007-01-20  Daniel Elstner  <daniel.kitta@gmail.com>
2537
2538         * glib/glibmm/miscutils.cc: Clean up the code a bit.
2539         (get_application_name): Remove the code that checked the string for
2540         valid UTF-8, and attempted conversion if not valid.  I must have
2541         been on crack when I wrote this, as the combination of conditions
2542         that would cause the string to be invalid UTF-8 is quite unlikely.
2543         If this is a valid concern at all, it should be filed as a GLib bug
2544         and not worked around in glibmm.
2545         (build_filename(const std::string&, const std::string&)): Just call
2546         the plain g_build_filename() instead of building a temporary array
2547         and passing that via ArrayHandle to the build_filename() overload
2548         for containers.
2549         (build_path): Remove the already deactivated custom implementation
2550         from the time before g_build_pathv() was added to GLib.
2551
2552         * glib/glibmm/object.{cc,h}: Improve/fix a couple of comments.
2553         (ConstructParams::ConstructParams): Add G_GNUC_NULL_TERMINATED
2554         function attribute to make the compiler complain if the variadic
2555         argument list is not terminated by a NULL pointer.
2556
2557         * glib/glibmm/ustring.{cc,h} (utf8_find_last_of): Avoid applying
2558         bitwise logical operators directly to (possibly signed) operands
2559         of char type.  In order to avoid relying on implementation-defined
2560         behavior, make sure that the operands are of unsigned integer type.
2561         (ustring::is_ascii): Likewise,
2562         (ustring_Iterator<T>::operator--): Likewise.
2563         (get_unichar_from_std_iterator): De-obfuscate this highly optimized
2564         piece of code, as the current stable release of GCC (4.1.2-pre on
2565         my system) generates better assembler output without the voodoo.
2566
2567 2.13.3:
2568
2569 2006-11-28  Daniel Elstner  <danielk@openismus.com>
2570
2571         * tools/pm/GtkDefs.pm (read_defs): Allow an empty pair of
2572         parentheses in the innermost match.  This fixes the problem of
2573         gmmproc choking on "()" in the documentation strings.  This would
2574         still break on unmatched parentheses, though.  Of course the
2575         parser should just skip over quoted strings, but I wasn't able
2576         to get that to work.
2577         * glib/src/glib_enums.defs (GNormalizeMode): Manually fix the
2578         improperly parsed value of G_NORMALIZE_NFD.  Fortunately this
2579         doesn't change anything since the "#error" token was interpreted
2580         as zero, which happens to be the right value.
2581         * glib/src/glib_functions.defs (g_iconv): Manually convert to
2582         a function definition, as it was improperly parsed as a method
2583         with a zero-length name (!) of object GIConv.  This fixes the
2584         annoying gmmproc warning about an allegedly unwrapped method.
2585
2586 2006-11-28  Murray Cumming  <murrayc@murrayc.com>
2587
2588         * glib/glibmm/propertyproxy_base.cc: Don't ifdef out 
2589         PropertyProxy_Base when properties are disabled. It is needed 
2590         for connect_property_changed().
2591
2592 2006-11-27  Daniel Elstner  <danielk@openismus.com>
2593
2594         * tools/enum.pl (parse): Ignore whitespace in front of an enum
2595         typedef.  This fixes parsing of HildonTelephoneEditorFormat in
2596         hildon-libs.
2597         * tools/pm/Enum.pm (parse_values): Check whether the enumeration
2598         constants actually have a common module prefix before attempting
2599         to remove it.  This fixes the incorrect parsing of inconsistently
2600         named enums in hildon-libs.
2601
2602 2006-11-27  Daniel Elstner  <danielk@openismus.com>
2603
2604         * tools/enum.pl (form_names): Break the loop if the length of the
2605         common prefix reaches zero.  This fixes the infinite loop when
2606         processing the inconsistently named enumeration constants of the
2607         Hildon libraries.
2608
2609 2006-11-20  Murray Cumming  <murrayc@murrayc.com>
2610
2611         * docs/reference/libstdc++.tag.xml: Updated from the libstdc++ site. 
2612         Note that the original does not have an .xml extension. This is is 
2613         lots bigger, but that should mean there is more documentation now.
2614
2615 2006-11-22  Oliver Nittka  <oly@nittka.com>
2616
2617         * glib/src/value_basictypes.cc.m4: When registering float parameters, 
2618         use -G_MAXFLOAT instead of G_MINFLOAT. Since we first implemented this, 
2619         the glib documentation has been updated to make it cleare that this is 
2620         the real minimum and G_MINFLOAT is the minimum positive value.
2621         Do the same for doubles too.
2622
2623 2006-11-10  Murray Cumming  <murrayc@murrayc.com>
2624
2625         * tools/Makefile.am: Add enum.pl to the dist, so that it is in 
2626         tarballs. Someone saw it mentioned in the appendix, but could not 
2627         find it in the tarball.
2628
2629 2006-11-10  Murray Cumming  <murrayc@murrayc.com>
2630
2631         * docs/reference/Doxyfile.in: Add PREDEFINES for the optional API, 
2632         so that the documentation shows the regular API.
2633
2634 2006-11-10  Murray Cumming  <murrayc@murrayc.com>
2635
2636         * glib/glibmm/objectbase.cc:
2637         * glib/glibmm/objectbase.h: Added connect_property_changed(), 
2638         as an alternative to use when the property proxies are not 
2639         available because GLIBMM_PROPERTIES_ENABLED is not defined.
2640         SignalProxyProperty::connect(): Use notify::propertyname instead of 
2641         just notify, so do not have to check the property name later. This 
2642         should be more efficient (when this is used, rarely).
2643         * glib/glibmm/propertyproxy_base.cc:
2644         * glib/glibmm/propertyproxy_base.h: Move PropertyProxyConnectionNode
2645         into the header, so we can reuse it for connect_property_changed(). 
2646
2647 2006-10-04  Murray Cumming  <murrayc@murrayc.com>
2648
2649         * glib/glibmm/class.cc:
2650         * glib/src/iochannel.ccg:
2651         * glib/src/markup.ccg: Add a silly line to avoid unused parameters
2652         when GLIBMM_EXCEPTIONS_ENABLED is not set.
2653         * glib/glibmm/error.h: Do not use G_GNU_NO_RETURN on the version
2654         of throw_exception() that returns, to avoid a warning.
2655
2656 2006-10-01  Murray Cumming  <murrayc@murrayc.com>
2657
2658         * Makefile.am:
2659         * docs/Makefile.am:
2660         * docs/Makefile_web.am_fragment:
2661         * docs/images/Makefile.am:
2662         * docs/reference/Makefile.am:
2663         * docs/reference/README:
2664         * examples/Makefile.am: Upload to the new hoster instead of to sourceforge.
2665         Abstracted the host and path names into docs/Makefile_web.am_fragment to 
2666         avoid duplication.
2667
2668 2.13.2:
2669
2670 2006-09-28  Cedric Gustin  <cedric.gustin@gmail.com>
2671         
2672         * MSVC_Net2003/glibmm/glibmm.vcproj: Remove sarray from list of
2673         source and header files.
2674
2675 2006-09-26  Murray Cumming  <murrayc@murrayc.com>
2676
2677         * glib/glibmmconfig.h.in: For win32, define 
2678         GLIBMM_ARG_ENABLE_API_DEFAULT_SIGNAL_HANDLERS to 1, 
2679         instead of just defining it to nothing.
2680         * scripts/reduced.m4: In the AC_ARG_ENABLE() to 
2681         define (or not) GLIBMM_ARG_ENABLE_API_DEFAULT_SIGNAL_HANDLERS, 
2682         use api-default-signal-handlers as the first parameter 
2683         instead of api-exceptions (a copy/paste error), though it does 
2684         not seem to make any difference.
2685         Bug #357830.
2686
2687 2006-09-23  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
2688
2689         * glib/src/keyfile.ccg, glib/src/keyfile.hg: added new files that were
2690         missed from an earlier commit
2691
2692 2.13.1:
2693
2694 2006-09-19  Ralf Stephan  <ralf@ark.in-berlin.de>
2695
2696         * glib/glibmm/ustring.h: 
2697         ustring(const ustring& src, size_type i, size_type n=npos)
2698         and 
2699         ustring(const char* src, size_type n) constructors:
2700         In the reference documentation, mention explicitly that 
2701         n is the number of _UTF-8_ characters, rather than 
2702         ASCII characters (bytes).
2703
2704 2006-02-20  Rob Page  <page.rob@gmail.com>
2705
2706         Wraps GKeyFile (Bug #330535)
2707         * glib/glibmm.h: Added include of keyfile.h
2708         * glib/glibmm/Makefile.am: Added keyfile.h
2709         * glib/glibmm/containerhandle_shared.h: Added a TypeTraits
2710         specialization for converting between bool and gboolean*.
2711         * glib/src/Makefile_list_of_hg.am_fragment: Added keyfile.hg
2712         to files_general_hg.
2713         * glib/src/keyfile.hg: KeyFile header
2714         * glib/src/keyfile.ccg: KeyFile implementation
2715         * tools/m4/convert_glib.m4: Added a conversion for KeyFileFlags
2716
2717 2006-09-14  Johannes Schmid <jhs@gnome.org>
2718
2719         * tools/m4/class_shared.m4: Change _IMPLEMENTS_INTERFACE to 
2720         _IMPLEMENTS_INTERFACE_CC so we can have more control over it, 
2721         by generating the _IMPLEMENTS_INTERFACE_CC from the WrapParser.pm.
2722         * tools/m4/method.m4:
2723         * tools/m4/signal.m4:
2724         * tools/m4/vfunc.m4: Added optional parameters that result in 
2725         #ifdefs around methods, signals, vfuncs, etc.
2726         * tools/pm/Output.pm: Addef ifdef() and endif().
2727         output_wrap_vfunc_h(), output_wrap_vfunc_cc(),
2728         output_wrap_default_signal_handler_h(), 
2729         output_wrap_default_signal_handler_cc(),
2730         output_wrap_meth(),
2731         output_wrap_create(),
2732         output_wrap_sig_decl(): Support optional ifdefs around  
2733         declarations and implementations, by calling ifdef() and endif(), 
2734         or by passing the extra argument to the m4 macros.
2735         * tools/pm/WrapParser.pm: parse_and_build_output(): 
2736         Parse _IMPLEMENTS_INTERFACE, and call the new on_implements_interface() 
2737         method, which uses the new output_implements_interface() method, 
2738         so it can have an optional ifdef parameter.
2739         on_wrap_method(), on_wrap_create(), on_wrap_vfunc(), output_wrap_signal(),
2740         output_wrap_vfunc(): Handle the optional ifdef (with a parameter) option 
2741         for the _WRAP*() macros.
2742
2743         This adds support for disabling certain features by using the new
2744         "ifdef" argument for methods, vfuncs, signals and interfaces.
2745
2746 2006-09-05  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
2747
2748         * docs/reference/Makefile.am: rebuild docs when a .h files changes in
2749         glib/glibmm
2750         * glib/glibmm/miscutils.cc:
2751         * glib/glibmm/miscutils.h: wrap g_get_user_data_dir(),
2752         g_get_user_config_dir(), and g_get_user_cache_dir()
2753
2754 This is the HEAD branch, for new API. There is also a glib-2-12 branch for 
2755 maintenance of the stable API.
2756
2757 2006-08-18  Cedric Gustin  <cedric.gustin@gmail.com>
2758         
2759         * MSVC_Net2003/*.vcproj: Updated for glibmm-2.12.
2760
2761 2.12.0:
2762
2763 2.11.3:
2764
2765 2006-04-25  Murray Cumming  <murrayc@murrayc.com>
2766
2767         * configure.in:
2768         * glib/glibmmconfig.h.in:
2769         * scripts/reduced.m4: Added a --enable-api-default-signal-handlers option. This defines 
2770         GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED, which is used to #ifdef default signal handlers.
2771         This saves on library code size (less code and API symbols) and application code size and 
2772         loading time (less virtual methods, which must be imported and resolved at load time) and 
2773         per-object memory size (smaller object sizes because of less virtual methods.) 
2774         * tools/m4/class_interface.m4:
2775         * tools/m4/class_shared.m4: Put default signal handler code in #ifdefs.
2776
2777 2.11.2:
2778
2779 2006-07-17  Murray Cumming  <murrayc@murrayc.com>
2780
2781         * configure.in: Reverted the previous patch slightly to unbreak glibmmconfig.h.
2782
2783 2.11.1:
2784
2785 2006-07-16  Murray Cumming  <murrayc@murrayc.com>
2786
2787         * configure.in: Quote GLIBMM_*_VERSION to avoid m4 warnings. Patch from 
2788         Bug #347076 from Kevin McBride.
2789         * scripts/sun.m4: Quote GLIBMM_PROG_CXX_SUN to avoid an m4 warning. 
2790         Patch from Bug #347077 from Kevin McBride.  
2791
2792 2006-07-16  Jonathon Jongsma  <jonathon.jongsma@gmail.com>
2793
2794         * glib/src/date.ccg: fix implementation of Glib::Date::set_time_current() so
2795         that it doesn't set the date to Dec 31, 1969.
2796
2797 2006-06-19  Murray Cumming  <murrayc@murrayc.com>
2798
2799         * glib/glibmm/object.h: Check whether DestroyNotify is defined, so we can warn about 
2800         including X11/Xlib.h before this header, which will break things. 
2801         Bug #316726 from Mert Tugcu and Javeed Shaikh.
2802
2803 2006-06-09  Cedric Gustin  <cedric.gustin@gmail.com>
2804
2805         * glib/glibmm/objectbase.h : Inline the set_property and
2806         get_property methods. This is required by mingw32-gcc as
2807         ObjectBase is explicitly dllexported.
2808
2809 2006-06-05  Murray Cumming  <murrayc@murrayc.com>
2810
2811         * glib/src/convert.ccg: When using --enable-api-exception=no, only try to get the Glib::Error 
2812         when the GError is not null.
2813
2814 2006-05-18  Murray Cumming  <murrayc@murrayc.com>
2815
2816         * tools/m4/method.m4: _METHOD(): When using errthrow, actually print the function call even if 
2817         the return type is 0.
2818
2819 2006-05-16  Murray Cumming  <murrayc@murrayc.com>
2820
2821         * tools/m4/method.m4:  _METHOD(), _STATIC_METHOD(): Remove spaces before dnl statements, 
2822         to avoid unwanted indentation in .cc files.
2823
2824 2006-05-16  Murray Cumming  <murrayc@murrayc.com>
2825
2826         * tools/m4/convert_base.m4: _CONVERT(): If the return type is void, use the unconverted 
2827         statement, not no statement. This prevents some void methods from being totally empty. 
2828         This was a (very bad) regression introduced by the optional API changed. 
2829         Bug #341895 from Philip Langdale.
2830         * tools/m4/method.m4: _METHOD(), _STATIC_METHOD(): Attempt to remove unnecessary newlines, 
2831         though some indenting spaces slipped in instead. Must fix that. 
2832
2833 2006-05-14  Murray Cumming  <murrayc@murrayc.com>
2834
2835         * glib/glibmm/value.cc:
2836         * glib/glibmm/value.h: Restored the init(GValue*) method that was lost when 
2837         merging changes from the glibmm-2-10 branch.
2838
2839 2006-05-09  Murray Cumming  <murrayc@murrayc.com>
2840  
2841         * glib/glibmm/ustring.cc:
2842         * glib/src/date.ccg:
2843         * glib/src/convert.ccg:
2844         * glib/src/convert.hg: Added #ifdefed versions for the case that 
2845         exceptions are disabled.
2846
2847 2006-05-10  Murray Cumming  <murrayc@murrayc.com>
2848
2849         * configure.in:
2850         * scripts/reduced.m4: Moved --enable-deprecated-api macro into scripts/reduced.m4.
2851         Added the --enable-api-exceptions macro that was missing from my last commit.
2852
2853 2006-04-05  Murray Cumming  <murrayc@murrayc.com>
2854
2855         * configure.in:
2856         * scripts/reduced.m4: Added --enable-api-exceptions option. When this 
2857         is used, methods that would normally throw an exception will now take 
2858         an extra std::auto_ptr<Glib::Error> argument that should be checked with 
2859         auto_ptr::get().
2860         * glib/glibmmconfig.h.in: Undef the GLIBMM_EXCEPTIONS_ENABLED, 
2861         so it will be defined.
2862         * tools/m4/gerror.m4: throw_func() returns an auto_ptr of a 
2863         Glib::Error when exceptions are disabled.
2864         * tools/m4/method.m4:
2865         * tools/pm/Output.pm: on_wrap_method(): Added alternative API with 
2866         #ifdefs
2867         * tools/m4/signal.m4:
2868         * tools/m4/signalproxy_custom.m4:
2869         * tools/m4/vfunc.m4: Put #ifdefs around the exception re-throwing 
2870         try/catch blocks.
2871         * glib/glibmm/dispatcher.cc:
2872         * glib/glibmm/dispatcher.h:
2873         * glib/glibmm/error.cc:
2874         * glib/glibmm/error.h:
2875         * glib/glibmm/exceptionhandler.cc:
2876         * glib/glibmm/exceptionhandler.h:
2877         * glib/glibmm/main.cc:
2878         * glib/glibmm/signalproxy.cc:
2879         * glib/glibmm/streamiochannel.cc:
2880         * glib/glibmm/stringutils.cc:
2881         * glib/glibmm/threadpool.cc:
2882         * glib/src/iochannel.ccg:
2883         * glib/src/iochannel.hg:
2884         * glib/src/markup.ccg:
2885         * glib/src/spawn.ccg:
2886         * glib/src/thread.ccg: Put #ifdefs around try/catch blocks, and 
2887         use alternative API when appropriate.
2888         * examples/iochannel_stream/fdstream.cc:
2889         * examples/markup/parser.cc:
2890         * examples/options/main.cc: Adapted examples to 
2891         the alternative API, with #ifdefs
2892         * tools/m4/convert_base.m4: Avoid any conversion if the result is 
2893         void, to allow _WRAP_METHOD() to ignore bool results, so we can 
2894         generate some methods that are currently hand-coded.
2895
2896 2006-05-09  Murray Cumming  <murrayc@murrayc.com>
2897
2898         * glib/glibmm/value.cc:
2899         * glib/glibmm/value.h: Added init(const GValue*), so that we can copy GValue instances 
2900         of any type at runtime. Needed by libgdamm, which returns const GValue* instances.
2901
2902 This is the HEAD branch, for API additions. See also the glibmm-2-10 branch.
2903
2904 2.10.1:
2905
2906 2006-04-12  Murray Cumming  <murrayc@murrayc.com>
2907
2908         * tools/m4/signalproxy_custom.m4: Remove this file because it is not installed and 
2909         does not seem to be used.
2910
2911 2006-04-12  Murray Cumming  <murrayc@murrayc.com>
2912
2913         * tools/m4/signal.m4: Mark the (private) signal info callback functions as 
2914         static, to save on code size. 
2915
2916 2006-04-12  Murray Cumming  <murrayc@murrayc.com>
2917
2918         * tools/pm/WrapParser.pm: Parse a new optional constversion parameter for 
2919         _WRAP_METHOD(), to save on code size by just calling the non-const overload 
2920         instead of generating almost identical code.
2921         * tools/m4/method.m4: _METHOD(): Take extra parameters for use when constversion is used.
2922         * tools/pm/Output.pm: Send the extra parameters to _METHOD().
2923         * docs/internal/using_gmmproc.txt: Documented the new constversion option.
2924
2925 2006-04-12  Murray Cumming  <murrayc@murrayc.com>
2926
2927         * glib/glibmm/main.cc:
2928         * glib/glibmm/objectbase.cc:
2929         * glib/glibmm/property.cc:
2930         * glib/glibmm/ustring.cc:
2931         * glib/glibmm/value_custom.cc: 
2932         * glib/src/spawn.ccg: Mark private functions as 
2933         static, to stop them being exported in the API, to reduce the 
2934         library code size slightly.
2935         * tools/m4/signal.m4: Make generated callback functions static, for 
2936         the same reasons.
2937
2938 2006-04-07  Cedric Gustin  <cedric.gustin@gmail.com>
2939
2940         * README.win32: Updated for Mingw-4.1.
2941
2942 2006-04-06  Cedric Gustin  <cedric.gustin@gmail.com>
2943
2944         * MSVC_Net2003/*.vcproj: Embed the manifest file into executables
2945         in the case of the Debug target.
2946         * README.win32: Fixed a few typos.
2947         * build_shared/Makefile_build.am_fragment: Add -DGLIBMM_BUILD to
2948         the extra_defines compiler flags (switch between
2949         dllexport/dllimport on win32).
2950         * glib/glibmmconfig.h.in: Define GLIBMM_DLL when building with
2951         mingw32/cygwin. This makes the GLIBMM_API tag (and GTKMM_API for
2952         gtkmm) active with these two platforms, as required by bug
2953         #309030.  
2954         * glib/glibmm/object.h, glib/glibmm/objectbase.h : Tag the Object
2955         and ObjectBase classes with GLIBMM_API to make Visual Studio happy.
2956
2957 2.10.0:
2958
2959 2006-02-25  Murray Cumming  <murrayc@murrayc.com>
2960  
2961         * tools/pm/DocsParser.pm: looklookup_documentation(): Put the 
2962         @deprecated text immediately after the main description, before 
2963         the parameters, so that Doxygen actually uses it.
2964  
2965 2006-02-25  Murray Cumming  <murrayc@murrayc.com>
2966  
2967         * tools/pm/DocsParser.pm: looklookup_documentation(): Accept an 
2968         extra deprecated_documentation parameter, to be appended to the 
2969         Doxygen documentation.
2970         * tools/pm/Output.pm: output_wrap_meth(): Put the documentation 
2971         inside the deprecation #ifdef, for neatness.
2972         * tools/pm/WrapParser.pm: on_wrap_method(): Read an optional string 
2973         after the optional deprecated parameter, used to say why the 
2974         method is deprecated, in case it was not deprecated by the C API, 
2975         in which case it would already have documentation for this.
2976
2977 2006-02-27  Cedric Gustin <cedric.gustin@gmail.com>
2978
2979         * README.win32: Updated for glibmm-2.8 (MS Visual Studio 2005).
2980         * glib/glibmm/ustring.h: Tag npos with GLIBMM_API, in order to
2981         dllexport it on win32. Bug #332438.
2982         * MSVC_Net2003/*.vcproj: Updated for Visual Studio 2005. Added the
2983         /vd2 compiler flag (Bug #158040).
2984         * MSVC_Net2003/glibmm.sln: Updated for Visual Studio 2005.
2985         * MSVC_Net2003/gendef/gendef.cc: Redirect output of dumpbin to a
2986         file.
2987         * glib/glibmmconfig.h.in: Undefined
2988         GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS for MSVC.
2989
2990 2006-02-03  Murray Cumming  <murrayc@murrayc.com>
2991
2992         * docs/internal/using_gmmproc.txt: Section about regenerating .defs:
2993         Repeat the hint about extra_defs_gen here.
2994
2995 2006-02-27  Cedric Gustin <cedric.gustin@gmail.com>
2996
2997         * glib/glibmm/ustring.h: Tag npos with GLIBMM_API, in order to
2998         dllexport it on win32. Bug #332438.
2999
3000 2006-02-07  Rob Page  <page.rob@gmail.com>
3001
3002         * glib/glibmm/ustring.h: fix a typo in the documentation for uppercase()
3003
3004 2.9.1:
3005
3006 2006-01-28  Murray Cumming  <murrayc@murrayc.com>
3007
3008         * glib/src/optiongroup.ccg: add_entry_with_wrapper(): Copy the 
3009         CppOptionEntry into the map _after_ setting entry_ so that we 
3010         really delete it in release_c_arg(), to avoid a memory leak.
3011
3012 2006-01-28  Rob Page <rob@gmail.com>
3013
3014         * docs/reference/glibmm_header.html_fragment: Fix the link 
3015         to the Main page. Bug #328299.
3016
3017 2006-01-27  Murray Cumming  <murrayc@murrayc.com>
3018
3019         * glib/src/optionentry.ccg: Constructor: Avoid memory 
3020         leak caused by double instantiation of gobject_.
3021
3022 2005-12-16  Murray Cumming <murrayc@murrayc.com>
3023
3024         * glib/glibmm/object.h:
3025         * glib/glibmm/objectbase.h: Hide some internal stuff 
3026         from Doxygen. Add/Improve the Doxygen documentation.
3027         * glib/src/convert.hg: Correct the declaration of 
3028         filename_display_name() to match the implementation. 
3029         Previously this would have been unusable due to a linker 
3030         error.
3031
3032 2005-11-30  Murray Cumming <murrayc@murrayc.com>
3033
3034         * docs/reference/Doxyfile.in: Define the @newin aliases, 
3035         as in gtkmm.
3036         * tools/pm/DocsParser.pm: Convert Since: in gtk-doc 
3037         text to @newin for our doxygen docs.
3038
3039 2005-11-29  Murray Cumming <murrayc.com>
3040
3041         * build_shared/Makefile_build.am_fragment:
3042         * configure.in: Added --enable-use-deprecations, 
3043         defaulting to no (do not check for them), so that 
3044         the tarball will still build when newer versions 
3045         of glib deprecate some API. 
3046         * examples/Makefile.am_fragment: Use the 
3047         deprecation, if wanted.
3048
3049 2005-11-29  Murray Cumming <murrayc@murrayc.com>
3050
3051         * build_shared/Makefile_build.am_fragment:
3052         * configure.in: Added --enable-deprecated-api 
3053         option. When set to disabled, it does not build 
3054         deprecated API. This reduces the size of the library, 
3055         and might be useful for embedded devices.
3056         * glib/src/date.ccg:
3057         * glib/src/date.hg: Use _DEPRECATE_IFDEF_START/END 
3058         around the deprecated set_time() method.
3059
3060 2005-11-29  Murray Cumming <murrayc@murrayc.com>
3061
3062         * tools/m4/base.m4: Add 
3063         _DEPRECATE_IFDEF_START and _DEPRECATE_IFDEF_END 
3064         macros, to #ifdef-out generated methods. 
3065         Added _DEPRECATE_IFDEF_CLASS_START and 
3066         _DEPRECATE_IFDEF_CLASS_END for whole classes. 
3067         Put _DEPRECATE_IFDEF_CLASS* around all generated 
3068         code. It does nothing if the class is not deprecated.
3069         * tools/m4/class_gtkobject.m4: Add _DEPRECATED macro, 
3070         used to mark a class as deprecated.
3071         * tools/m4/method.m4: Take an extra parameter, to 
3072         optionally mark the method as deprecated, to add 
3073         #ifdefs around the code, with 
3074         _DEPRECATE_IFDEF_START/END
3075         * tools/pm/Output.pm: _DEPRECATE_IFDEF_START/END 
3076         around the declarations of deprecated methods.
3077         * tools/pm/WrapParser.pm: Check for an optional 
3078         deprecated parameter to _WRAP_METHOD(). 
3079         * tools/m4/member.m4: Allow optional deprecated 
3080         method for _MEMBER_GET/SET*() to ifdef the code 
3081         out.
3082         * tools/generate_wrap_init.pl.in: Put an #ifdef 
3083         around use of deprecated classes.
3084
3085 2005-11-23  Murray Cumming <murrayc@murrayc.com>
3086
3087         * configure.in: Depend on glib 2.9, which 
3088         has new API.
3089         * glib/src/date.ccg:
3090         * glib/src/date.hg: Wrap glib_date_set_time_t() 
3091         and glib_date_set_time_val(). Deprecate  
3092         set_time(GTime) in favour of the new method 
3093         overloads. Added set_time_current(), wrapping the 
3094         case that the time_t is 0.
3095
3096 This is the HEAD branch, for new API, targetting glib 2.9. See also the 
3097 glibmm-2-8 branch.
3098
3099 2.8.2:
3100
3101 2005-11-23  Murray Cumming <murrayc@murrayc.com>
3102
3103         * glib/glibmm/containers.h: Do not use g_assert() in 
3104         a header, because g++ sometimes warns that it has 
3105         no effect.
3106
3107 2005-10-29  Murray Cumming <murrayc@murrayc.com>
3108
3109         * scripts/macros.m4: AL_PROG_GNU_MAKE(): 
3110         Use $MAKE-make instead of $ac_make, which 
3111         apparently fixes a build problem on some 
3112         Solaris systems. Thanks to Mark Rouchal in 
3113         bug #307480.
3114
3115 2.8.1:
3116
3117 2005-10-19  Murray Cumming  <murrayc@murrayc.com>
3118
3119         * configure.in: Check for glib 2.8. Bug #317913.
3120
3121 2.8.0:
3122
3123 Updated NEWS and increased version to 2.8.0.
3124
3125 2.7.3:
3126
3127 2005-08-17  Murray Cumming  <murrayc@murrayc.com>
3128
3129         * glib/src/glib_docs.xml: Regenerated with docextract_to_xml.py
3130         * glib/src/glib_enums.defs: Regenerated with enums.pl
3131         * glib/src/glib_functions.defs: Regenerated with h2defs.py
3132
3133 2.7.2:
3134
3135 2005-07-16  Murray Cumming <murrayc@murrayc.com
3136
3137         * glib/glibmm/miscutils.cc: Reimplemented build_filename() and 
3138         build_path() with the new non-vararg functions in glib 2.7, 
3139         instead of implementing them in gtkmm.
3140         * glib/src/glib_enums.defs: Regenerated with enums.pl
3141         * glib/src/optionentry.hg: Added FLAG_NO_ARG, FLAG_FILENAME, 
3142         FLAG_OPTIONAL_ARG, and FLAG_NOALIAS enum values.
3143
3144
3145 2.7.1:
3146
3147 2005-06-08  Murray Cumming <murrayc@murrayc.com
3148
3149         * glib/glibmm/propertyproxy.h: 
3150         PropertyProxy_ReadOnly<>::get_value(),
3151         PropertyProxy_WriteOnly<>::set_value(): Add implementations 
3152         instead of casting to unrelated PropertyProxy() and calling it 
3153         there. The AIX compiler did not like this hack. Bug #301610
3154
3155 2005-06-07  Cedric Gustin <cedric.gustin@swing.be>
3156
3157         * glib/glibmm/miscutils.cc: In get_home_dir, return an empty
3158         string when HOME is not defined (Win9x). Bug #306310 from Michael
3159         Hofmann.
3160         * glib/glibmm/miscutils.h: Updated docstring for the get_home_dir
3161         method.
3162
3163 2005-04-27  Murray Cumming <murrayc@murrayc.com>
3164
3165         * examples/child_watch/main.cc:
3166         * examples/thread/dispatcher.cc:
3167         * examples/thread/thread.cc:
3168         * glib/glibmm/dispatcher.cc: Inherit signal handler objects from 
3169         sigc::trackable. This is necessary with some libsigc++ patches, 
3170         though not currently necessary with regular libsigc++.
3171
3172 2005-04-22  Murray Cumming  <murrayc@murrayc.com>
3173
3174         * glib/src/gmodule_enums.defs: Regenerate with enums.pl
3175         * glib/src/gmodule_functions.defs: Regenerate with h2defs.py
3176         This adds the BIND_LOCAL enum value. Bug #172748 from 
3177         Phillip Neiswanger.
3178
3179 2005-04-05  Murray Cumming  <murrayc@murrayc.com>
3180
3181         * tool/pm/Output.pm: output_wrap_property(): Do not add the 
3182         const read-only method override if the property can not be read. Be 
3183         careful because this removes a little API from generated code. You 
3184         should hand-code the wrongly-generated methods and mark them as 
3185         deprecated.
3186         * glib/glibmm/refptr.h: Added cast_const<>, like the existing 
3187         cast_dynamic<> and cast_static.
3188
3189 2005-03-31  Murray Cumming <murrayc@murrayc.com>
3190
3191         * glib/src/glib_functions.defs: Updated with 
3192         h2defs.py.
3193
3194 2005-03-13  Yair Hershkovitz <yairhr@gmail.com>
3195
3196         * glib/glibmm/main.h,
3197         glib/glibmm/main.cc: Added MainContext::signal_child_watch()
3198         * examples/: Added child_watch/ example   
3199   
3200 2005-03-11  Yair Hershkovitz <yairhr@gmail.com>
3201
3202         * glib/glibmm/main.h, glib/glibmm/main.cc: 
3203         Add Glib::SignalChildWatch class, Glib::signal_child_watch()
3204
3205 This is the HEAD branch, for new API. Bug fixes that do not change or add 
3206 API should also be applied to the glibmm-2-6 branch.
3207
3208 2005-03-09  Cedric Gustin <cedric.gustin@swing.be>
3209
3210         * MSVC_Net2003/Makefile.am: Add blank.cpp to EXTRA_DIST.
3211         * MSVC_Net2003/glibmm/glibmm.vcproj: Remove sarray.cc from the
3212         list of source files.
3213         * MSVC_Net2003/examples/*/*.vcproj,
3214         MSVC_Net2003/tests/glibmm_value/glibmmvalue.vcproj: Change name of
3215         PDB file to $(OutDir)/$(TargetName).pdb. 
3216         
3217 2.6.1:
3218
3219 2005-03-07  Murray Cumming  <murrayc@murrayc.com>
3220
3221         * glib/glibmm/interface.cc: Disable the new check for pre-existing 
3222         interface implementations, because it checks all base gtypes and 
3223         not just the current gtype. Bug #169442 by Bryan Forbes.
3224
3225 2.6.0:
3226
3227 2.5.6:
3228
3229 2005-02-18  Murray Cumming  <murrayc@murrayc.com>
3230
3231         * glib/glibmm/interface.cc: Interface_Class:add_interface(), used by 
3232         add_interface() methods of Interfaces: Do not add interfaces that 
3233         have been added before, to avoid the warning from glib. This 
3234         allows application code to be simpler.
3235
3236 2005-02-18  Murray Cumming  <murrayc@murrayc.com>
3237
3238         * tools/pm/Output.pm: Add the documentation to the const property() 
3239         accessor as well as the non-const one.
3240
3241 2005-02-13  Murray Cumming  <murrayc@murrayc.com>
3242
3243         * tools/extra_defs_gen/generate_extra_defs.cc: Use 
3244         g_param_spec_get_blurb() to output the documentation for the 
3245         properties in the .defs file.
3246         * tools/m4/property.m4: Take an extra docs argument, and put it in the 
3247         doxygen docs.
3248         * tools/pm/Output.pm: Add the extra docs argument when calling the 
3249         property m4 macro.
3250         * tools/pm/Property.pm: Read in the new docs part of the .defs, and 
3251         add a period at the end if neccessary.
3252
3253 2005-02-01  Murray Cumming  <murrayc@murrayc.com>
3254
3255         * examples/threadpool.cc, dispatcher.cc, dispatcher2.cc: Removed the 
3256         #ifdef for AIX, because sigc::bind now works on AIX.
3257
3258 2005-01-27  Cedric Gustin <cedric.gustin@swing.be>
3259
3260         * MSVC_Net2003/glibmm/glibmm.rc.in: Reverted to 2.4 for the
3261         library version number.
3262
3263 2.5.5:
3264
3265 2005-01-26  Cedric Gustin <cedric.gustin@swing.be>
3266
3267         * MSVC_Net2003/glibmm/glibmm.vcproj: Reverted to 2.4 for the
3268         library version number.
3269
3270 2005-01-24  Cedric Gustin <cedric.gustin@swing.be>
3271
3272         * Makefile.am, configure.in: Added MSVC_Net2003 directory.
3273         * config.h.in: Added mkfifo #define (for mingw32).
3274         * glib/glibmmconfig.h.in: Added new #define's to MSVC section.
3275         * examples/iochannel_stream/Makefile.am: Do not build on win32
3276         with mingw32 (mkfifo not available).
3277         * scripts/cxx_std.m4: Fixed typo in AC_DEFINE macros.
3278         * build_shared/Makefile_build.am_fragment: Removed
3279         $(sublib_name)_COMPILATION variable (is useless now on
3280         cygwin/mingw as all symbols are dll exported).
3281         * MSVC_Net2003/*: Initial commit imported from glibmm-2-4 branch.
3282         * MSVC_Net2003/glibmm/Makefile.am: Rewrote rule for local copy of
3283         glibmmconfig.h (required for 'make distcheck').
3284
3285 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
3286
3287         * configure.in, scripts/cxx.m4, glibmm/glibmmconfig.h.in: Added new 
3288         compiler tests to see whether extern "C" functions are put in the 
3289         global namespace, even when we use extern "C" inside a namespace 
3290         declaration. The AIX xlC compiler does this, but allows us to 
3291         redeclare the namespace inside the extern "C" block.
3292         * glib/glibmm/property.h: Use the new 
3293         #ifdef GLIBMM_MUST_REDECLARE_NAMESPACES_INSIDE_EXTERNC and redeclare 
3294         the namespace when necessary.
3295         * examples/thread/dispatcher.cc, dispatcher2.cc: Use sigc::bind<1> 
3296         instead of just sigc::bind<> because the AIX xlC compiler needs the 
3297         extra hint. However, the linker then fails, so the use of sigc::bind 
3298         is ifdefed out for _AIX. See the comments in the code.
3299         
3300 2005-01-21  Murray Cumming  <murrayc@murrayc.com>
3301
3302         * configure.in, scripts/cxx.m4, glibmm/glibmmconfig.h.in: Added new 
3303         compiler tests.
3304         1. To see whether it allows use of non extern C functions 
3305         as extern C callbacks, because the Tru64 compiler does not 
3306         allow this, when using strict_ansi. We do not actually use this yet.
3307         2. To see whether it allows us to define a template that uses an 
3308         undefined type, even if we do not use it before defining the type. 
3309         Tru64 does not allow this. That's probably correct. 
3310         * glib/glibmm/container.h: #ifdef out a dynamic_cast that Tru64
3311         does not allow, and which I can not think of a better place to put.
3312         See the comment in the code.
3313         * glib/glibmm/containerhandler_helpers.h: When the compiler does not 
3314         alllow the GObject and GtkObject (dynamic_cast of) specializations 
3315         here, then put them in glib/glibmm/object.h and 
3316         gtkmm/gtk/src/object.hg instead.- needed by Tru64 compiler.
3317         * glib/glibmm/value.h, value_custom.[h|cc]: Conditionally moved 
3318         the RefPtr Value specialization into object.h, as above.
3319         * glib/src/ optiongroup.ccg, spawn.ccg, thread.ccg: Make C callacks 
3320         separate extern "C".
3321         * glib/src/optiongroup.ccg: Do not use the StringArrayHandle, 
3322         because the Tru64 compiler has problems with it - see comments 
3323         in code.
3324         * glib/src/optionentry.hg: Remove the include of value.h, because 
3325         it is not used and it causes a Tru64 compile error in 
3326         optioncontext.cc because its templates are included before the 
3327         types that the template uses.
3328
3329 2005-01-19  Murray Cumming  <murrayc@murrayc.com>
3330
3331         * configure.in, scripts/cxx.m4, glibmm/glibmmconfig.h.in: Added a 
3332         compiler test, because the IRIX MipsPro compiler does not allow the 
3333         inline initialization of ustring::npos.
3334         * glib/glibmm/ustring.[h|cc]: When the compiler does not support the 
3335         inline initialization of npos, initialize it in the .cc file.
3336         Declare partial specializations of the SequenceString inner class 
3337         inside the class - needed by IRIX MipsPro compiler. 
3338
3339 2005-01-18  Murray Cumming  <murrayc@murrayc.com>
3340
3341         * glibmm/src/optiongroup.[hg|ccg]: CppOptionEntry::convert_c_to_cpp(): 
3342         Copy the strings to the vector in a loop, instead of using the 
3343         ArrayHandle constructor, because that does not seem to work with the 
3344         SUN Forte compiler.
3345
3346 2.5.4:
3347
3348 2005-01-10  Murray Cumming  <murrayc@murrayc.com>
3349
3350         * glibmm/src/optiongroup.[hg|ccg]: Added a castitem constructor 
3351         that always takes ownership, needed by Gtk::Main. Added the new 
3352         FLAG_REVERSE flag value. Added reference documentation.
3353
3354 2.5.3:
3355
3356 2005-01-09  Murray Cumming  <murrayc@murrayc.com>
3357
3358         * glib/glibmm/misc_utils.[h|cc]: Added setenv() and unsetenv(), 
3359         wrapping new functions added in glib 2.4.
3360         * glib/src/convert.[hg|ccg]: Added filename_display_name() and 
3361         filename_display_basename().
3362
3363 2005-01-09  Murray Cumming  <murrayc@murrayc.com>
3364
3365         * glib/src/optionentry.ccg: Copy constructor: Copy the short name 
3366         form the src, not from itself. Bug #16331 from Daniel Holbach.
3367
3368 2005-01-09  Murray Cumming  <murrayc@murrayc.com>
3369
3370         * glib/src/optionentry.[hg|cc]: Add add_entry(entry, bool&), to wrap 
3371         use of G_OPTION_ARG_NONE. Bug #163325 from Daniel Holbach.
3372         * examples/options/main.cc: Use the new add_entry() overload.
3373
3374 2005-01-06  Benoît Dejean  <TazForEver@dlfp.org>
3375
3376         * glib/glibmm/dispatcher.cc:
3377         * glib/glibmm/error.cc:
3378         * glib/glibmm/exceptionhandler.cc:
3379         * glib/glibmm/main.cc:
3380         * glib/glibmm/threadpool.cc:
3381         * glib/glibmm/ustring.cc:
3382         * glib/glibmm/wrap.cc: Don't export private API.
3383         Closes #163031.
3384
3385 2005-01-04  Chris Vine <chris@cvine.freeserve.co.uk>
3386         
3387         * examples/iochannel_stream/: Provide a means of obtaining
3388         Glib::IOChannel error information from the streambuffer.  Remove
3389         the code conversion option from the fdstream/fdstreambuf
3390         constructors and add comments in fdstream.h about code conversion
3391         and other matters.  Add a detach() function and a destructor to
3392         fdstreambuf.  Correct an error in fdstreambuf::xsgetn().  Include
3393         missing <string> header file in main.cc.
3394
3395 2.5.2:
3396
3397 2004-12-19  Murray Cumming  <murrayc@murrayc.com>
3398
3399         * examples/: Adapted and added iochannel_stream example from 
3400         Chris Vine in bug #138259.
3401
3402 2004-12-19  Murray Cumming  <murrayc@murrayc.com>
3403
3404         * glib/src/: Added glib_docs.xml, generated with docsextract_to_xml.py 
3405         and glib_docs_override.xml, to generate some API reference from 
3406         the C docs.
3407         * glib/src/Makefile.am: Mention the new files.
3408
3409 2004-12-19  Murray Cumming  <murrayc@murrayc.com>
3410
3411         * docs/reference/: Added a copy of the libstdc++ doxygen tags file, 
3412         but it still does not seem to work, for example with std::vector<> 
3413         and std::string.
3414
3415 2004-12-19  Murray Cumming  <murrayc@murrayc.com>
3416
3417         * docs/reference/Doxyfile.in: Use the libstdc++ TAG files, so that 
3418         references to std:: classes take people to their docs.
3419         * glib/src/: Added glib_docs.xml and glib_docs_override.xml, and 
3420         mentioned them in Makefile.am.
3421
3422 2004-12-19  Murray Cumming  <murrayc@murrayc.com>
3423
3424         * glib/src/date.hg, glib/glibmm/main.h, 
3425         glib/glibmm/signalproxy_connectionnode.h: Deal with some doxygen 
3426         warnings about undocumented parameters.
3427         * glib/glibmm/ustring.h: Added documentation for the size() and 
3428         bytes() methods. 
3429
3430 2004-11-21  Murray Cumming  <murrayc@murrayc.com>
3431
3432         * glib/src/optionentry.[hg|ccg]: Removed OptionEntry enum and 
3433         set_arg_data(), because they are not needed any more.
3434
3435 2.5.1:
3436
3437 2004-11-01  Murray Cumming  <murrayc@murrayc.com>
3438
3439         * glib/src/optiongroup.[hg|ccg]: Added add_entry() for vector<ustring> 
3440         and add_entry_filename() for std::string and vector<std::string>.
3441         * examples/options/main.cc: Test these new methods.
3442
3443 2004-10-30  Murray Cumming  <murrayc@murrayc.com>
3444
3445         * glib/src/optiongroup.[hg|ccg]: Added gobj_give_ownership().
3446         * glib/src/optioncontext.[hg|ccg]: add_group(), set_main_group(): Use 
3447         gobj_give_ownership() because GOptionContext deletes the GOptionGroups 
3448         that we give it.
3449
3450 2004-10-26  Murray Cumming  <murrayc@murrayc.com>
3451
3452         * glib/src/optionentry.hg: Remove accessors for arg and arg_data.
3453         * glib/src/optiongroup.[hg|ccg]: add_entry(): Remove arg_type parameter
3454         and instead add overrides which take specific C++ value types. 
3455         Add CppOptionEntry inner class to hold information about each entry 
3456         and its dynamically allocated C value.
3457         Add map_entries_ map to store them, so we can iterate over them during 
3458         post_parse.
3459
3460 2004-10-21  Murray Cumming  <murrayc@murrayc.com>
3461
3462         * build_shared/Makefile_build.am_fragment: Patch from Roger Leigh in 
3463         bug # 15589 to use PLATFORM_WIN32 rather than OS_WIN32 to enable 
3464         -no-undefined. This allows glibmm to build in a cgwin environment, 
3465         apparently.
3466
3467 2.5.0:
3468
3469 2004-10-17  Murray Cumming  <murrayc@murrayc.com>
3470
3471         * glib/src/optioncontext.[hg|ccg]: add_entry(): Fixed crash by 
3472         creating a temporary array, with a nulled last item, which is what the 
3473         C function wants. In callbacks, ignore the group parameter because our 
3474         option group in the data parameter is the same, and does not require 
3475         construction of a second C++ wrapper instance for the same C instance.
3476         * glib/src/optiongroup.[hg|ccg]: Removed the cast constructor, because 
3477         it is not needed anymore, and there is no clear way to implement it.
3478
3479 2004-10-14  Murray Cumming  <murrayc@murrayc.com>
3480  
3481         * tools/pm/WrapParser.pm: on_wrap_property(): Convert property name to 
3482         canonical form, so that we can recognise notifications of property 
3483         value changes. Bug #152764.
3484
3485 2004-10-07  Philip Langdale  <plangdale@vmware.com>
3486
3487         * glib/glibmm/signalproxy_connectionnode.cc: Remove unnecessary warning
3488         when notify() is called after destroy_notify_handler(). (bug #154498)
3489
3490 2004-10-01  Murray Cumming  <murrayc@murrayc.com>
3491
3492         * glib/src/option*.[hg|ccg], examples/options/main.cc: Rethought the 
3493         structure now that I see how the parts work together. Rearranged the 
3494         example to show how the parsing can fill values in member variables 
3495         of a derived OptionGroup class. However, 1. it crashes now, 2. we need 
3496         extra code to map the GOption C types to suitable C++ types, probably 
3497         by doing pre and post parsing to create temporary C types for the C++ 
3498         types.
3499
3500 2004-09-27  Murray Cumming  <murrayc@murrayc.com>
3501
3502         * glib/src/option*.[hg|ccg]: Wrapped more methods, but I have still not
3503         finished.
3504         * examples/options/: Started an example.
3505
3506 2004-09-26  Murray Cumming  <murrayc@murrayc.com>
3507
3508         * glib/src/glib_functions.defs: Regenerated with h2defs.py
3509         * glib/src/: Added optionentry.[hg|ccg], optiongroup.[hg|ccg], 
3510         optioncontext.[hg|ccg].
3511
3512 2004-09-19  Murray Cumming  <murrayc@murrayc.com>
3513
3514         * This is the HEAD branch.
3515
3516 2004-09-13  Cedric Gustin <cedric.gustin@swing.be>
3517
3518         * examples/thread/dispatcher.cc: Fixed a race condition on win32
3519         that involved the combined use of auto_ptr and multithreading (bug
3520         #109966). 
3521
3522 2.4.4:
3523
3524 2004-07-23  Martin Schulze  <mschulze@cvs.gnome.org>
3525
3526         * glib/glibmm/main.cc: Move deletion of SourceConnectionNode object
3527         into destroy_notify_callback() exclusively; do not delete from 
3528         notify().
3529         (bug #144420)
3530
3531 2004-07-10  Murray Cumming  <murrayc@murrayc.com>
3532
3533         * glib/glibmm/signalproxy_connectionnode.cc: notify(): Do not delete 
3534         the connection after disconnecting it, because disconnecting it 
3535         always causes disconnect_notify to be called, so just delete it there.
3536         This prevents double deletes and reading of deleting memory, found in 
3537         bug #145571.
3538
3539 2004-07-09  Murray Cumming  <murrayc@murrayc.com>
3540
3541         * glib/glibmm/signalproxy.h.m4: Added some documentation.
3542
3543 2004-06-20  Daniel Elstner  <daniel.elstner@gmx.net>
3544
3545         * glib/glibmm/objectbase.cc: Spring cleaning.
3546         * glib/glibmm/object.cc: ditto.
3547
3548 2.4.3:
3549
3550 2004-06-18  Daniel Elstner  <daniel.elstner@gmx.net>
3551
3552         * scripts/macros.m4 (GTKMM_ARG_ENABLE_WARNINGS): Add
3553         -Wno-long-long to the list of tried warning flags.
3554
3555 2004-06-16  Daniel Elstner  <daniel.elstner@gmx.net>
3556
3557         * glib/glibmm/dispatcher.cc (DispatchNotifier::create_pipe): There
3558         is no point in calling g_file_error_from_errno() on win32 since we
3559         have no real errno.  Also fix the error text to say "event" rather
3560         than "pipe".
3561
3562 2004-06-14  Daniel Elstner  <daniel.elstner@gmx.net>
3563
3564         * scripts/cxx.m4: Add a couple of casts to void in order to suppress
3565         warnings about unused variables.  I still have no idea as to why the
3566         hardcore warning flags are remembered when running make distcheck...
3567
3568 2004-06-14  Daniel Elstner  <daniel.elstner@gmx.net>
3569
3570         * examples/thread/dispatcher.cc: Explicitely join all threads.
3571         Hopefully that'll fix the crash on win32 (see bug #109966).
3572
3573 2004-06-13  Daniel Elstner  <daniel.elstner@gmx.net>
3574
3575         * examples/thread/dispatcher*.cc (main): Remove unused parameter
3576         names to fix building with -Werror.
3577
3578 2004-06-13  Daniel Elstner  <daniel.elstner@gmx.net>
3579
3580         * configure.in (GTKMM_ENABLE_DEBUG_REFCOUNTING): s/^GTK/GLIB/
3581
3582 2004-06-08  Daniel Elstner  <daniel.elstner@gmx.net>
3583
3584         * build_shared/Makefile_build.am_fragment (all_includes): Remove
3585         left-over include paths for pango, atk, gdk and gtk.
3586
3587 2004-06-07  Daniel Elstner  <daniel.elstner@gmx.net>
3588
3589         * glib/glibmm/stringutils.h: Replace a couple of double quotes with
3590         &quot; to prevent doxygen from escaping the enclosed HTML entities.
3591
3592 2004-06-04  Daniel Elstner  <daniel.elstner@gmx.net>
3593
3594         * glib/glibmm/ustring.h: Use /*! instead of /** to introduce
3595         doxygen comments in order to avoid cluttering the long method list
3596         of class Glib::ustring.  Replace a few double quotes with &quot;
3597         to prevent doxygen from escaping the enclosed HTML entities.
3598
3599 2.4.2:
3600
3601 2004-06-03  Daniel Elstner  <daniel.elstner@gmx.net>
3602
3603         * scripts/Makefile.am (EXTRA_DIST): Remove mkinstalldirs, because
3604         automake-1.8 doesn't use it anymore and prior versions should pick
3605         it up automatically anyway.
3606
3607 2004-06-03  Daniel Elstner  <daniel.elstner@gmx.net>
3608
3609         * glib/glibmm/dispatcher.cc: Complete overhaul of the Win32
3610         implementation of Glib::Dispatcher.  That is, mutex locking is
3611         done correctly now and dynamic memory allocation is no longer
3612         used, plus a few other cleanups.  See reopened bug #109966.
3613
3614 2004-06-03  Daniel Elstner  <daniel.elstner@gmx.net>
3615
3616         * glib/glibmm/signalproxy_connectionnode.cc
3617         (SignalProxyConnectionNode::SignalProxyConnectionNode):
3618         Reorder the initializer list to match the declaration order.
3619
3620         (SignalProxyConnectionNode::notify): Add missing return 0.
3621
3622 2004-05-26  Daniel Elstner  <daniel.elstner@gmx.net>
3623
3624         * glib/glibmm/ustring.{cc,h}: Globally apply some minor code
3625         cleanup and optimization tweaks.
3626
3627         (get_unichar_from_std_iterator): Replace implementation with a
3628         hand-optimized and profiled variant that has been lurking in my
3629         local tree for quite some time, thus should be well tested.
3630         Also add the G_GNUC_PURE() attribute.
3631
3632         (operator+): Explicitely instantiate and return a temporary string,
3633         instead of accessing the reference ustring::operator+=() returns.
3634         This quite often allows the compiler to eliminate the additional
3635         copy constructor invocation.
3636
3637 2004-05-25  Murray Cumming  <murrayc@murrayc.com>
3638
3639         * configure.in, Makefile.am: Removed the glibmm.spec files, because
3640         it is broken and nobody has volunteered to fix it.
3641
3642 2004-05-20  Daniel Elstner  <daniel.elstner@gmx.net>
3643
3644         * examples/thread/dispatcher.cc: Revert last commit because it's
3645         silly.  To make the code truly exception-safe it would be necessary
3646         to either join all threads or to notify them, which is way beyond
3647         the scope of this example.
3648
3649 2004-05-20  Daniel Elstner  <daniel.elstner@gmx.net>
3650
3651         * examples/thread/dispatcher.cc: Set a good example and
3652         be paranoid about possible memory leaks due to exeptions.
3653
3654 2004-05-20  Daniel Elstner  <daniel.elstner@gmx.net>
3655
3656         * examples/thread/dispatcher.cc: Code cleanup.  Most importantly,
3657         get rid of the locking around std::cout since it obfuscates the
3658         purpose of using Glib::Dispatcher.
3659
3660 2004-05-13  Daniel Elstner  <daniel.elstner@gmx.net>
3661
3662         * glib/glibmm/object.{cc,h} (ConstructParams::ConstructParams):
3663         Implement the copy constructor in a way that actually works if used.
3664         Relying on the compiler to optimize it away is a bad idea. (#132300)
3665
3666 2004-05-04  Murray Cumming  <murrayc@murrayc.com>
3667
3668         * glib/glibmm/ustring.h: Documented the constructors, based on
3669         the libstdc++ documentation, to make it clear that sizes are in 
3670         characters rather than bytes.
3671
3672 2004-05-01  Murray Cumming  <murrayc@murrayc.com>
3673
3674         * configure.in: Increase glib dependency to 2.4.0.
3675
3676 2004-04-30  Murray Cumming  <murrayc@murrayc.com>
3677
3678         * tools/m4/gobject.m4: Allow use of _CUSTOM_DTOR(), needed by
3679         Gnome::Gda::Connection.
3680
3681 2.4.1:
3682
3683 2004-04-17  Murray Cumming  <murrayc@murrayc.com>
3684
3685         * docs/reference/Makefile.am: Make the generated html depend on the
3686         beautify_docs.pl.in source instead of the generated beautify_docs.pl,
3687         so that the html is not rebuilt from tarballs.
3688
3689 2004-04-17  Murray Cumming  <murrayc@murrayc.com>
3690
3691         * glib/glibmm/container_handle.h: Reimplemented more of the 
3692         to_cpp_type() methods without using dependent methods, so that they 
3693         work with g++ 3.4 (cvs versions).
3694
3695 2.4.0:
3696
3697 2004-04-11  Murray Cumming  <murrayc@murrayc.com>
3698
3699         * tools/pm/WrapParser.pm, Output.pm, m4/signal.m4: Allow _WRAP_SIGNAL()
3700         to take an refreturn argument, so that Gtk::Widget::on_get_accessible()
3701         can do an extra ref before returning the Atk::Object. 
3702
3703 2004-04-09  Murray Cumming  <murrayc@murrayc.com>
3704
3705         * tools/pm/Output.pm: output_wrap_property(): Provide the actual
3706         property name as well as one with - replace with _, so we can 
3707         test for the correct value in notification signal handler.
3708         * tools/m4/property.m4: Use the actual property name when calling
3709         C functions.
3710
3711 2.3.8:
3712
3713 2004-03-24  Murray Cumming  <murrayc@murrayc.com>
3714
3715         * scripts/cxx.m4: Corrected parentheses, which cause the docs to be 
3716         written into config.h. Thanks to Alexander Nedotsukov.
3717
3718 2004-03-23  Murray Cumming  <murrayc@murrayc.com>
3719
3720         * scripts/cxx.m4: Corrected the ambiguous const template test, which
3721         failed on all platforms because it generated bad code.
3722
3723 2004-03-20  Martin Schulze  <mschulze@cvs.gnome.org>
3724
3725         * glibmm/main.cc: Bug fix in SourceConnectionNode::notify() (#137030).
3726
3727 2004-03-18  Murray Cumming  <murrayc@murrayc.com>
3728  
3729         * tools/generate_wrap_init.pl: Change a regex so that files are
3730         included without full path. Apparently this helps when building outside
3731         of the source directory, though I'm sceptical. By Victor Zverovich in 
3732         bug #137530.
3733
3734 2.3.7:
3735
3736 2004-03-14  Murray Cumming  <murrayc@murrayc.com>
3737                                                                          
3738         * scripts/sun.m4: Set the correct variable, so it is actually set in 
3739         glibmmconfig.
3740
3741 2004-03-14  Murray Cumming  <murrayc@murrayc.com>                                                                                       
3742         * glib/glibmm/containerhandle_shared.h value.h: Used ifdef 
3743         GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS to avoid 
3744         problems with the SUN Forte compiler.
3745
3746 2004-03-14  Murray Cumming  <murrayc@murrayc.com>
3747
3748         * scripts/cxx.m4: Added CAN_DISAMBIGUATE_CONST_TEMPLATE_SPECIALIZATIONS
3749         m4 macro to use in configure.in, to check for the SUN Forte problem -
3750         see the comments in cxx.m4.
3751         * scripts/sun.m4: Moved some brackets around to make the define
3752         actually work.
3753
3754 2004-03-13  Murray Cumming  <murrayc@murrayc.com>
3755
3756         * glib/glibmm/containerhandle_shared.h: TypeTraits to_cpp_type() 
3757         specializations: Use wrap_auto() directly instead of a specific
3758         wrap() overload that would be dependent. Needed for g++ 3.4.
3759         * glib/glibmm/containers.h: Same again.
3760
3761 2004-03-13  Murray Cumming  <murrayc@murrayc.com>
3762
3763         * tools/m4/class_shared.m4: Remove the parent get_type() call from
3764         the Class::init() function, because it is optimised away, and g++ 3.4
3765         actually complains that it does nothing.
3766         * glib/glibmm/object.[h|cc]: Add a public ConstructParams copy 
3767         constructor, needed by g++ 3.4. See comments in the code.
3768         * tests/glibmm_value/glibmm_value.cc: Instantiate instances of 
3769         value types, to fix the g++ 3.4 build. I don't know what the code
3770         was meant to do before anyway.
3771
3772 2004-03-11  Murray Cumming  <murrayc@murrayc.com>
3773
3774         * scripts/: Added sun.m4, copied from libsigc++-1.2/scripts and 
3775         modified, so we can detect the SUN Forte compiler.
3776         * configure.in: Used the m4 macro.
3777         * glibmm/glibmm-config.h: Undef the GLIBMM_COMPILER_SUN_FORTE macro
3778         so that it will be defined if configure sets it.
3779
3780 2004-03-09  Murray Cumming  <murrayc@murrayc.com>
3781  
3782         * Some, but not all, SUN Forte build fixes: 
3783         * tools/m4/convert_gdk.m4, convert_glib.m4: Use existing
3784         sun-specific conversion when converting from any 
3785         RefPtr<const Something> to *Something.
3786
3787 2004-04-08  Hagen Moebius  <hagen.moebius@starschiffchen.de>
3788
3789         * tools/pm/DocsParser.pm: Another change to give better warnings and
3790         errors at gmmproc-runtime. Further improvment of parsing parameter names
3791         to strip traling underscres. This not only for reference text, but for
3792         the parameter list also.
3793
3794 2004-04-07  Hagen Moebius  <hagen.moebius@starschiffchen.de>
3795
3796         * tools/pm/DocsParser.pm: Allow overrides to only override
3797         part of the docs. Add a <mapping> tag to associate non-prefixed
3798         functions with classes. Improve parsing of parameter names so they
3799         can now have numbers in the names.
3800
3801 2.3.6:
3802
3803 2004-03-03  Murray Cumming  <murrayc@murrayc.com>
3804
3805         * Added glib/glibmm/i18n.h and i18n-lib.h which defines _() and friends
3806         for internationalization. See the comments in the header - you must
3807         include things in the right order.
3808         * glib/src/spawn.[hg|ccg]: Added spawn_close_id() as wrapper for
3809         g_spawn_close_id().
3810         * glib/glibmm/main.[h|cc]: Added MainLoop::depth() as wrapper for
3811         g_main_depth().
3812
3813  2004-03-02  Murray Cumming  <murrayc@murrayc.com>
3814
3815         * tools/pm/Function.pm: parse_param(): Only parse const as an 
3816         individual part of the type name if it is followed by a space, so 
3817         that we can have const const_iterator& types.
3818
3819 2004-02-27  Martin Schulze  <teebaum@cvs.gnome.org>
3820
3821   * CHANGES: Fix typo reported by Chris Vine.
3822
3823 2004-02-13  Martin Schulze  <teebaum@cvs.gnome.org>
3824
3825         * documentation fixes and corrections in the comments reflecting
3826         the shift to libsigc++ 2.
3827         * make all source files in example thread use libsigc++ 2 instead
3828         of libsigc++ 1.2.
3829
3830 2.3.5:
3831
3832 2004-02-10  Murray Cumming  <murrayc@usa.net>
3833
3834         * glibmm now uses libsigc++ 2 instead of libsigc++ 1.2. See bug
3835         #125061 for more details. We must update CHANGES later.
3836
3837 2.3.4:
3838
3839 2004-02-02  Murray Cumming  <murrayc@usa.net>
3840
3841         * glib/glibmm/containerhandle_shared.h: Traits<const T*>: Added
3842         const_cast, needed by TreeView::get_columns() const: bug #126721.
3843
3844 2004-01-29  Murray Cumming  <murrayc@usa.net>
3845
3846         * tools/pm/Parser.pm, Output.pm, tools/m4/signal.m4: Add an optional
3847         custom_c_callback parameter to _WRAP_SIGNAL to allow special code
3848         for the SelectionData& output parameter in Gtk::Widget signals.
3849         Hopefully we won't need too many more of these hacks - the m4 is 
3850         becoming very hard to read, with all these nested ifelse() statements.
3851
3852 2004-01-27  Cedric Gustin  <cedric.gustin@swing.be>
3853
3854         * build_shared/Makefile_build.am_fragment: Added win32-specific
3855         --export-all-symbols to linker flags. This is backported from 
3856         gtkmm-2.2.
3857         * README.win32: Updated text for glibmm-2.4. 
3858         * tools/generate_wrap_init.pl.in: Replaced GTKMM_WIN32 by the 
3859         standard G_OS_WIN32.
3860
3861 2.3.3:
3862
3863 2004-01-22  Murray Cumming  <murrayc@usa.net>
3864
3865         * glib/date.[hg|ccg]: Added clamp_min() and clamp_max() to wrap the
3866         case where g_date_clamp() takes null values.
3867
3868 2004-01-18  Alberto Paro  <alberto@paro.homeunxi.org>
3869
3870         * glib/src/date.hg: documentated Glib::Date functions.
3871         * glib/glibmm/main.h: documentated Glib::MainLoop,Glib::MainContext
3872         and Glib::Source  functions.
3873
3874 2004-01-18  Murray Cumming  <murrayc@usa.net>
3875
3876         * tools/pm/Output.pm, tools/m4/property.m4: When the property is not
3877         read-only, add a second read-only propertyproxy for the same property,
3878         with a const accessor. This allows setting of properties in const
3879         methods. Make all read-only propertyproxies have const accessors.
3880         * glib/glibmm/propertyproxy.h: Added class documentation.
3881         * tools/pm/Output.pm: Declare _vfuncs as virtual methods - fixing
3882         an error in my last change.
3883
3884 2004-01-16  Murray Cumming  <murrayc@usa.net>
3885
3886         * tools/pm/Output.pm, tools/m4/vfunc.m4:
3887         - Generate const vfuncs when requested with _WRAP_VFUNC().
3888         - Put the *_vfunc() decleraration directly into the header, where 
3889         the _WRAP_VFUNC() macro appears, instead of in a separate section.
3890         This allows us to add doxygen documentation before the _WRAP_VFUNC()
3891         in the .hg file. However, we must check that all of our _WRAP_VFUNC()
3892         macros are in protected: sections.
3893
3894 2004-01-12  Murray Cumming  <murrayc@usa.net>
3895
3896         * glib/glibmm/object.cc: Object::Object() default constructor. 
3897         Remove the warning because we really need this to implement a custom
3898         TreeModel. Derive a new GType, as in the 
3899         Object::Object(ConstructParams) constructor. Like that constructor, 
3900         the default one also assumes that you have called a suitable 
3901         ObjectBase constructor, such as ObejctBase(typeid(MyCustomClass)).
3902
3903 2004-01-09  Murray Cumming  <murrayc@usa.net>
3904
3905         * tools/pm/Output.pm: output_wrap_property(): Allow construct-only
3906         properties to be wrapped, as read-only properties.
3907
3908 2004-01-03  Murray Cumming  <murrayc@usa.net>
3909
3910         * tools/gmmproc.in, pm/WrapParser.pm, DocsParser.pm: Removed the 
3911         mergecdocs option - because we always want to merge C docs, to avoid
3912         accidental upload of half-complete docs.
3913
3914 2003-12-29  Murray Cumming  <murrayc@usa.net>
3915
3916         * Makefile.am: Add scripts and tests directories to SUBDIRS instead of 
3917         DIST_SUBDIRS, so that their Makefile.am files are actually used.
3918         * scripts/macros.m4: renamed GTKMM_CHECK_PERL() to GLIBMM_CHECK_PERL()
3919         and install it as glibmm_check_perl.m4, so that other *mm projects
3920         can use it. They need the PERL_PATH for Doxygen.
3921
3922 2003-12-22  Murray Cumming  <murrayc@usa.net>
3923
3924         * docs/reference: generate beautify_docs.pl from beautify_docs.pl.in,
3925         so it can have the perl path in it. Install it, so other *mm 
3926         modules can use it.
3927
3928 2003-12-13  Murray Cumming  <murrayc@usa.net>
3929
3930         * tools/m4/*.m4: Added fuller Doxygen documentation to all gobj() and 
3931         wrap() methods. Doxygen should not emit warnings about these now.
3932
3933 2.3.2:
3934
3935 2003-11-29  Murray Cumming  <murrayc@usa.net>
3936
3937         * tools/m4/signal.m4: Add spaces inside signal_proxy template types,
3938         to avoid << and >> when using templated types.
3939
3940 2003-11-27  Murray Cumming  <murrayc@usa.net>
3941
3942         * tools/pm/WrapParser.pm, Output.pm: Added WRAP_METHOD_DOCS_ONLY()
3943         macro.
3944         * docs/internal/using_gmmproc.txt: Explained the new macro.
3945         
3946 2003-11-02  Murray Cumming  <murrayc@usa.net>
3947
3948         * glib/glibmm/: Added init.[h|cc] with Glib::init() so that the 
3949         gnomemm init() methods do not need to initialize gtkmm.
3950         * tools/m4/class_gobject.m4, class_gtkobject.m4: Added 
3951         _GMMPROC_PROTECTED_GCLASS macro, needed by libgnomecanvasmm. This
3952         was not previously properly merged from gtkmm2.
3953         * tools/m4/property.m4: Re-added PropertyProxy reference documentation
3954         that did not survive a previous merge from gtkmm2.
3955
3956 2003-11-01  Murray Cumming  <murrayc@usa.net>
3957
3958         * glib/glibmm/propertyproxy.h, propertyproxy_base.[h|cc]: Now uses
3959         ObjectBase instead of Object, because glib can now have properties
3960         on interfaces. This is needed, for instance, by the GtkFileChooser
3961         interface wrapper in gtkmm.
3962         * glib/glibmm/object.h: Moved get/set_property() methods into 
3963         ObjectBase, for the same reason.
3964         * tools/pm/WrapParser.pm, Output.pm: Added optional no_default_handler
3965         parameter to gmmproc _WRAP_SIGNAL() macro, for signals whose 
3966         default signal handler is not in the klass struct and therefore
3967         can not be overridden.
3968
3969 2003-10-31  Murray Cumming  <murrayc@usa.net>
3970
3971         * docs/Makefile_web.am_fragment: Corrected install location,
3972         so that links from the gtkmm docs work when they are installed.
3973
3974 2003-10-30  Murray Cumming  <murrayc@usa.net>
3975
3976         * docs: Added images directory, copied from gtkmm, for the reference
3977         html docs.
3978         * configure.in: Mention docs/images/Makefile.
3979         * docs/reference/Doxyfile.in: Genereate glibmm_doxygen_tags instead
3980         of gtkmm_doxygen_tags.
3981         * docs/reference/Makefile.am: dist glibmm_doxygen_tags.
3982         * docs/reference: gtkmm*.html_fragment are now glibmm*.html_fragment.
3983
3984 2.3.1:
3985         
3986 2003-10-23  Murray Cumming  <murrayc@usa.net>
3987
3988         * tools/pm/Output.pm: output_wrap_create(): Used
3989         args_types_and_names_with_default_values() intead of 
3990         args_types_and_names(), so that create() functions .in .h files have 
3991         the default values as specified in _WRAP_CREATE() in .hg files.
3992         * tools/pm/WrapParser.pm: on_ignore_signals(): Strip the quotes, to
3993   make _IGNORE_SIGNAL() really work in .hg files.
3994
3995 2003-10-02  J. Abelardo Gutierrez <jabelardo@cantv.net>
3996
3997         * examples/threads/dispatcher.cc
3998           examples/threads/dispatcher2.cc: fixed to cast out all gktmm code,
3999         now they only need glimm.
4000         * configure.in: Added examples/threads because they don't use gtkmm
4001         anymore.  Now all examples/threads compiles and run just fine.
4002
4003 2.3.0:
4004
4005 2003-09-30  Murray Cumming  <murrayc@usa.net>
4006
4007         * configure.in: Removed examples/threads because we don't build or
4008         distribute it, because it doesn't build, because it uses gtkmm.
4009
4010 2003-09-30  Murray Cumming  <murrayc@usa.net>
4011
4012         * glib/glibmm/object_base.h: ObjectBase inherits virtually from
4013         Sigc::Object. See bug #116280.
4014
4015 2003-09-27  Cedric Gustin  <cedric.gustin@swing.be>
4016  
4017         * glib/glibmm/threadpool.cc: Removed
4018         _GTKMMPROC_SIGNAL_H_AND_CC(#ifndef G_OS_WIN32) restrictions. These
4019         functions are now implemented in the latest (2.2.4) GTK+ on win32.
4020         * README.win32 : Updated list of unsupported functions. 
4021  
4022 2003-08-20  Frank Naumann  <fnaumann@freemint.de>
4023   
4024         * glib/src/thread.hg,
4025           glib/src/unicode.hg: Warning bugfix for VisualStudio .NET 2003;
4026         made wrapper functions returning bool from glib functions
4027         returning int (C lacks builtin type bool) explicit by adding 
4028         an != 0 check. Otherwise VisualStudio .NET warn about implicit
4029         int -> bool cast. 
4030
4031 2003-07-26  Murray Cumming  <murrayc@usa.net>
4032  
4033         * glib/glibmm/dispatcher.cc: Added #include <algorithm>, needed
4034         by MSVC++, as suggested by Frank Naumann in bug #118215.
4035
4036 2003-05-31  Murray Cumming  <murrayc@usa.net>
4037
4038         * tools/gmmproc.in: Corrected location of installed .pm files. They
4039         are now in a glibmm-2.3 folder instead of a glibmm-2.4 folder.
4040
4041 2003-05-14  Murray Cumming  <murrayc@usa.net>
4042
4043         * Applied some of MSVC++ .NET 2003 changes from jburris. For instance,
4044         use of Gtk:: prefix with manage, because MSVC++ can not guess it. Also
4045         corrected the out-of-sync protected/private modifiers in the private
4046         gtype classes and their prototypes.
4047
4048 2003-05-09  Cedric Gustin  <cedric.gustin@swing.be>
4049
4050         * glib/glibmm/dispatcher.cc: small typo in G_OS_WIN32 condition.
4051         
4052 2003-05-07  Murray Cumming  <murrayc@usa.net>
4053
4054         * scripts/macros.m4: Made the --enable-debug-refcounting configure
4055         option set GLIBMM_* instead of GTKMM_*.
4056
4057 2003-05-02  Murray Cumming  <murrayc@usa.net>
4058  
4059         * tools/m4/*.m4: Added doxygen comments to gobj() methods.
4060         * examples/markup/parser.cc: Commented-out a std::right that gcc 2.93
4061         does not like.
4062
4063 2003-04-23  Andrew Makeev
4064  
4065         * glib/glibmm/dispatcher.cc: Added some #ifdefed code to implement
4066         Glib::Dispatcher on WIN32. See comments with the code.
4067
4068 2003-04-22  Murray Cumming  <murrayc@usa.net>
4069
4070         * Install headers in a glibmm-2.3 directory instead of glibmm-2.4,
4071         to be consistent with gtkmm 2.4.
4072
4073 2003-04-21  Murray Cumming  <murrayc@usa.net>
4074
4075         * arrayhandle.h, listhandle, slisthandle.h:
4076         Glib::ListHandle, Glib::ListHandle, Glib::SListHandle: Added 
4077         reference docs explaining that people can use STL containers.
4078         
4079 2003-04-21  Murray Cumming  <murrayc@usa.net>
4080
4081         * Removed examples/idle: It's now updated and in gtkmm/examples/book.
4082
4083 2003-04-19  Murray Cumming  <murrayc@usa.net>
4084
4085         * tools/pm/GtkDefs.pm: get_unwrapped(): Changed some & to && to 
4086         avoid warnings and because that is probably what they should be.
4087
4088         * tools/m4/extra_defs_gen/generate_defs_glib.cc: Removed parameter
4089         names from main(), because they are not used. Avoid warning.
4090
4091 2003-03-26  Ross Burton  <ross@burtonini.com>
4092
4093         * glib/src/module.hg: Added API documentation.
4094
4095 2003-03-18  Enrico Scholz  <enrico.scholz@informatik.tu-chemnitz.de>
4096         
4097         * scripts/*.m4, configure.in:
4098           Added description to several AC_DEFINE statements to make 'autoheader'
4099           happy
4100         * Makefile.am:
4101           Added ACLOCAL_AMFLAGS to make 'autoreconf' work
4102         
4103 2003-03-18  Cedric Gustin  <cgustin@ibelgique.com>
4104  
4105         * Makefile.am : removed examples from DIST_SUBDIRS
4106
4107 2003-03-18  Enrico Scholz  <enrico.scholz@informatik.tu-chemnitz.de>
4108
4109         * examples/Makefile.am_fragment:  Added DESTDIR-support.
4110         
4111 2003-03-14  Cedric Gustin  <cgustin@ibelgique.com>
4112
4113         * Install examples. The are built by default too. Patch adapted for
4114         glibmm 2.4 by Murray Cumming.
4115
4116 2003-03-04  Cedric Gustin  <cgustin@ibelgique.com>
4117
4118         * configure.in : Removed libstdc++ in LDFLAGS on win32. Latest
4119         libtool is taking care of it.
4120         * build_shared/Makefile_build.am_fragment,
4121         tools/extra_defs_gen/Makefile.am : Added
4122         --export-all-symbols linker flag on win32 (required by latest
4123         libtool to build DLLs).
4124         * build_shared/Makefile_gensrc.am_fragment : Modifiy rule that
4125         builds wrap_init.cc. wrap_init.cc now contains reference to all
4126         objects, event on win32. #ifdefs are included when needed.
4127         * README.win32 : updated for version 2.2. Added list of missing
4128         methods and signals on win32
4129         * tools/m4/base.m4 : Added _GTKMMPROC_SIGNAL_H_AND_CC macro.
4130         
4131
4132 2003-03-14  Martin Schulze  <MHL.Schulze@t-online.de>
4133
4134         * docs/internal/using_gtkmmproc.txt: Correct name of
4135         [...]signals.defs generation utiliy.
4136
4137 2003-01-30  Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>
4138
4139         * glib/src/thread.hg Cond: Add documentation
4140
4141 2003-01-27  Murray Cumming  <murrayc@usa.net>
4142
4143         * glib/glibmm/refptr.h: Removed RefPtr<>::is_null() to encourage use
4144         of more pointer-like operator bool() instead. Wanted to remove clear()
4145         too, but there is no =0 equivalent yet.
4146         * tools/gmmproc.in: Change harcoded gtkmm-2.0/m4 path to glibmm-2.4/m4.
4147
4148 2003-01-22  Murray Cumming  <murrayc@usa.net>
4149
4150         * GTKMM_ m4 tests and #defines are now prefixed with GLIBMM_
4151
4152 2003-01-21  Murray Cumming  <murrayc@usa.net>
4153
4154         * tests/Makefile.am_fragment, examples/Makefile.am_fragment: 
4155         Corrected LIBS and CFLAGS. Not all of these build because they
4156         use gtkmm stuff too. They need to be reduced to glibmm-only code.
4157
4158 2003-01-21  Murray Cumming <murrayc@usa.net>
4159
4160         * glib/Makefile.am, glib/glibmm/Makefile.am: Install headers in
4161         glibmm-2.4 directory rather than gtkmm-2.4
4162
4163 2003-01-21  Murray Cumming  <murrayc@usa.net>
4164
4165         * configure.in: Use GLIBMM_* instead of GTKMM_* to avoid config.h 
4166         clashes with gtkmm 2.4.
4167         * glib/glibmm-2.4.pc.in: Correct cflags - report 2.4 instead of 2.0.
4168
4169 2003-01-21  Murray Cumming  <murrayc@usa.net>
4170
4171         * tools/extra_defs_gen/Makefile.am: Changed extra_defs library name
4172         from 2.4 to 2.3, so it can be unstable.
4173
4174 2003-01-09  Daniel Elstner  <daniel.elstner@gmx.net>
4175
4176         * glib/glibmm/utility.h (GLIBMM_INITIALIZE_STRUCT): Replace
4177         __builtin_bzero() with __builtin_memset() because the former is
4178         deprecated.  Also, it looks like GCC is able to optimize the 0 case
4179         so we don't lose anything here.
4180
4181 2003-01-09  Daniel Elstner  <daniel.elstner@gmx.net>
4182
4183         * glib/glibmm/miscutils.cc (Glib::build_path): Reserve 256 bytes
4184         in advance to improve performance.
4185
4186 2003-01-09  Daniel Elstner  <daniel.elstner@gmx.net>
4187
4188         * glib/glibmm/miscutils.{cc,h} (Glib::build_path): Fix to make it
4189         behave exactly like g_build_path().  (#102885, Jarek Dukat)
4190
4191         (Glib::build_filename(const std::string&, const std::string&)):
4192         Implement in terms of Glib::build_path().
4193         
4194 2003-01-21  Murray Cumming  <murrayc@usa.net>
4195
4196         * Renamed gtkmmproc to gmmproc.
4197
4198 2003-01-08  Murray Cumming  <murrayc@usa.net>
4199
4200         * glib/glibmm/refptr.h: Removed the operator=(CppObject*), as
4201         suggested in the TODO comment.
4202
4203 2003-01-08  Murray Cumming  <murrayc@usa.net>
4204
4205         * make distcheck works.
4206
4207 2003-01-08  Murray Cumming  <murrayc@usa.net>
4208
4209         * It now builds, though I haven' tried installing it. The
4210         library names and header directories should now all have 2.4
4211         instead of 2.0 in their name.
4212
4213 glibmm was previously part of gtkmm2.
4214