2.18.0
[platform/upstream/glib.git] / ChangeLog
1 2008-09-02  Matthias Clasen  <mclasen@redhat.com>
2
3         * === Released 2.18.0 ===
4
5 2008-09-02  Ryan Lortie  <desrt@desrt.ca>
6
7         Bug 549771 – improved .gitignore for glib
8
9         * docs/reference/.gitignore:
10         * docs/reference/gio/.gitignore:
11         * docs/reference/gobject/tmpl/.gitignore:
12         * gio/.gitignore:
13         * gio/tests/.gitignore:
14         * glib/.gitignore:
15         * glib/libcharset/.gitignore:
16         * glib/tests/.gitignore:
17         * gmodule/.gitignore:
18         * gobject/.gitignore:
19         * gobject/tests/.gitignore:
20         * po/.gitignore:
21         * tests/.gitignore: new files
22         * .gitignore: remove 'build' (since it's part of glib now), add more
23         useful things.
24
25 2008-09-02  Matthias Clasen  <mclasen@redhat.com>
26
27         * NEWS: Updates
28
29         * configure.in: Bump version to 2.18.0
30
31 2008-09-02  Matthias Clasen  <mclasen@redhat.com>
32
33         Bug 550104 – trivial documentation fix for g_get_home_dir
34
35         * glib/gutils.c (g_get_home_dir): Fix up the docs.
36
37 2008-09-02  Michael Natterer  <mitch@imendio.com>
38
39         * glib/gchecksum.c (g_checksum_reset): add
40         g_return_if_fail (checksum != NULL)
41
42 2008-09-01  Paolo Borelli  <pborelli@katamail.com>
43
44         Bug 550040 - Move GString, rand and printf tests to the unit test
45         framework
46
47         * tests/printf-test.c:
48         * tests/rand-test.c:
49         * tests/string-test.c:
50         Removed
51
52         * glib/tests/printf.c:
53         * glib/tests/rand.c:
54         * glib/tests/string.c:
55         Added
56
57         * tests/Makefile.am:
58         * glib/tests/Makefile.am:
59         Updated for the above
60
61 2008-08-31  Emmanuele Bassi  <ebassi@gnome.org>
62
63         Bug 550096 – GBookmarkFile parser is not forward compatible
64
65         * glib/gbookmarkfile.c:
66         (parse_bookmark_element), (parse_application_element),
67         (parse_mime_type_element), (parse_icon_element): Relax the
68         attributes checking of the GBookmarkFile parser for the
69         attributes that the desktop bookmark file specification
70         defines and controls. This allows adding new attributes to
71         the existing elements in newer versions without breaking the
72         parser in older ones.
73
74 2008-08-28  Ryan Lortie  <desrt@desrt.ca>
75
76         Fixup for test case in previous commit.
77
78         * glib/tests/strfuncs.c: don't fail if we can't open the test data.
79         This happens if $(builddir) != $(srcdir) (like when doing 'make
80         distcheck').  Quick workaround for now until #549783 can be fixed.
81
82 2008-08-28  Ryan Lortie  <desrt@desrt.ca>
83
84         Bug 548612 – g_strstr_len() should use memmem when available
85
86         * glib/gstrfuncs.c (g_strstr_len): fix off-by-one memory access error
87         * glib/tests/strfuncs.c (test_bounds): add some new test cases that
88         would catch problems like this
89         * glib/tests/4096-random-bytes: test data for the previous
90         * glib/tests/Makefile.am: add previous to EXTRA_DIST
91         
92 2008-08-28  Ryan Lortie  <desrt@desrt.ca>
93
94         [REVERT] Bug 548612 – g_strstr_len() should use memmem when available
95
96         * configure.in:
97         * glib/gstrfuncs.c (g_strstr_len): revert use of memmem (see bug)
98
99 2008-08-28  Matthias Clasen  <mclsaen@redhat.com>
100
101         * configure.in: Change libselinux detection to not link libglib
102         against it.
103
104 2008-08-28  Michael Natterer  <mitch@imendio.com>
105
106         * glib/gstrfuncs.c (g_parse_long_long): make "endptr" const since
107         it's always a pointer into the const string passed. Remove some
108         casting to (gchar*) in this function.
109
110         (g_ascii_strtoull)
111         (g_ascii_strtoll): cast "endptr" to (const gchar**) here when
112         passing it to above function.
113
114 2008-08-28  Bastien Nocera  <hadess@hadess.net>
115
116         Bug 548612 – g_strstr_len() should use memmem when available
117
118         * glib/tests/strfuncs.c (test_strstr):
119         * tests/string-test.c (main): Patch by Paolo Borelli
120         <pborelli@katamail.com> to move the tests to the right place,
121         and add more tests
122
123         * glib/gstrfuncs.c (g_strstr_len): Fix problem with memmem ignoring
124         nul-terminators in strings, and using the haystack_len instead
125
126 2008-08-28  Bastien Nocera  <hadess@hadess.net>
127
128         Bug 548612 – g_strstr_len() should use memmem when available
129
130         * configure.in: detect whether memmem is available in the C library
131         * glib/gstrfuncs.c (g_strstr_len): use memmem for g_strstr_len() if
132         available in it's available, as it could be optimised by the C library
133         * tests/string-test.c (main): Add a few tests for g_strstr_len()
134
135 2008-08-27  Tor Lillqvist  <tml@novell.com>
136
137         * glib/giowin32.c: Stylistic changes. Plug an unlikely memory leak
138         that occurred in create_thread() if closing the thread handle
139         failed. Add more error messages to g_io_win32_free() that are
140         printed only when debugging. Plug handle leak, a socket channel's
141         event was never closed.
142
143 2008-08-27  Tor Lillqvist  <tml@novell.com>
144
145         * config.h.win32.in: Should not define HAVE_DIRENT_H when
146         compiling with MSVC, as the only file which checks HAVE_DIRENT_H
147         is gdir.c, and that includes the dirent.h and wdirent.c from
148         build/win32/dirent explicitly anyway when being compiled with
149         MSVC.
150
151 2008-08-22  Björn Lindqvist  <bjourne@gmail.com>
152
153         Bug 523939 – Example program for GValue
154
155         * gobject/gvalue.c: Add code example that demonstrates GValue's
156         features.
157
158 2008-08-21  Tor Lillqvist  <tml@novell.com>
159
160         * glib/giowin32.c: Minor comment improvements. Improve run-time
161         warning messages. Drop some #if 0 code. Don't bother compiling the
162         binary compatibility g_io_channel_win32_new_stream_socket()
163         function that has not been mentioned in any header since 2.0 on
164         Win64.
165
166         * glib/glib.symbols: Mark it, too, private, and don't export it on
167         Win64.
168
169 2008-08-21  Tor Lillqvist  <tml@novell.com>
170
171         * glib/gmain.c: Rework the g_poll() implementation on Windows to
172         match poll() semantics more closely. This makes the test program
173         in bug #468910 behave better and doesn't seem to break anything
174         else.
175
176         If polling several GPollFDs, i.e. messages and/or waitable
177         handles, first check if one or several of them are in the
178         signalled state right away, with timeout zero. Return indication
179         for all that are in that case. To check if several handles are
180         signalled, we have to call the WaitForMultipleObjectsEx() function
181         repeatedly, each time removing the handle it indicated was
182         signalled last time, until WAIT_TIMEOUT is returned.
183
184         If not, then poll with timeout and indicate only the single one
185         that the Win32 wait function tells us as before.
186
187         Remove unnecessary ifdefs, as we always have G_MAIN_POLL_DEBUG
188         defined on Windows.
189
190         Initialise g_main_poll_debug in g_main_context_new() so we have it
191         before testing it in one case.
192
193         Don't put several copies of a handle in the array of handles to
194         wait for. The documentation says this is not allowed, although it
195         did seem to work fine in practise. But do as the documentation
196         says anyway.
197
198 2008-08-20  Tor Lillqvist  <tml@novell.com>
199
200         Bug 500246 - Bug fixes for giowin32
201
202         * glib/giowin32.c (read_thread) (write_thread): Change the nbytes
203         variables to signed.
204         (g_io_channel_win32_make_pollfd): Fix an obvious error in the file
205         descriptor case leftover after the patch from bug #333098 on
206         2006-03-02. Thanks to Marcus Brinkmann.
207
208 2008-08-20  Tor Lillqvist  <tml@novell.com>
209
210         Bug 324234 - Using g_io_add_watch_full() to wait for connect() to
211         return on a non-blocking socket returns prematurely
212
213         Bug 548278 - Async GETs connections are always terminated
214         unexpectedly on Windows
215
216         * glib/giowin32.c: Add one more state variable to the
217         GIOWin32Channel struct, ever_writable. Initialise it to FALSE, set
218         to TRUE when the WSAEventSelect() indicates FD_WRITE, and never
219         reset to FALSE.
220
221         Don't do the WSASetEvent() in g_io_win32_prepare() unless
222         ever_writable is TRUE. Don't automatically indicate G_IO_OUT in
223         g_io_win32_check() unless ever_writable is TRUE.
224
225         This fixes the behaviour of the test case program in bug #548278,
226         and the "Testcase for the spurious OUT event bug" in bug
227         #324234. It also doesn't seem to break anything. Not that there is
228         any exhaustive test suite...
229
230         Add a comment with a list of bugs that are related to the code in
231         this file.
232
233 2008-08-18  Matthias Clasen  <mclasen@redhat.com>
234
235         * configure.in: Bump version
236
237 2008-08-18  Matthias Clasen  <mclasen@redhat.com>
238
239         * === Released 2.17.7 ===
240
241 2008-08-17  Sven Neumann  <sven@gimp.org>
242
243         * NEWS: mention GWinHttpVfs.
244
245 2008-08-16  Matthias Clasen  <mclasen@redhat.com>
246
247         * NEWS: Updates
248
249 2008-08-15 12:41:26  Tim Janik  <timj@imendio.com>
250
251         * glib/gtestutils.c: changed assertion messages, so older emacsen
252         can also detect failing source file and line, fixes:
253         Bug 502498 – Test framework assertion failures should follow gcc error format
254
255 2008-08-14  Matthias Clasen  <mclasen@redhat.com>
256
257         Bug 547832 – gtk+-2.12.11 fails to build - AC_PROG_MMAP too strict,
258         and unnecessary
259
260         * configure.in: Be a little bit more forgiving when checking
261         for mmap. Patch by Peter O'Gorman
262
263 2008-08-13  Matthias Clasen  <mclasen@redhat.com>
264
265         Bug 547337 – G_DISABLE_DEPRECATED breaks tests build
266
267         * tests/testglib.c: Protect deprecated API by ifdefs.
268         Patch by Kalle Vahlman
269
270 2008-08-13  Matthias Clasen  <mclasen@redhat.com>
271
272         Bug 547637 – unconditional #include of sys/statfs.h in configure
273         impedes detection of statfs things if non-existant
274
275         * configure.in: Protect the statfs.h include by guards.
276
277 2008-08-12  Federico Mena Quintero  <federico@novell.com>
278
279         * glib/gi18n-lib.h: In the #error about having to define
280         GETTEXT_PACKAGE, add a hint about a possibly-missing config.h.
281
282 2008-08-11  Behdad Esfahbod  <behdad@gnome.org>
283
284         Bug 547200 – g_utf8_find_next_char() issues
285
286         * glib/gutf8.c: Improve wording about @end arguments in str funcs.
287
288 2008-08-10  Behdad Esfahbod  <behdad@gnome.org>
289
290         * glib/gutf8.c: Fix docs to use "nul-terminated" consistently.
291
292 2008-08-08  Ryan Lortie  <desrt@desrt.ca>
293
294         Fix 'fail' markup test cases to -not- be valid XML 1.1.
295
296         * tests/markups/fail-32.gmarkup: change &#x10; to &#x0; since the
297         former is no longer a failure.
298
299 2008-08-08  Ryan Lortie  <desrt@desrt.ca>
300
301         Bug 546876 - Modify GMarkup parser to accept &#x1; .. &#x1f;
302
303         * glib/gmarkup.c: previously the parser only accepted character
304         references for \t \n and \r (as per XML 1.0); now it accepts all
305         of &#x1; .. &#x1f;.
306
307 2008-08-07  Tor Lillqvist  <tml@novell.com>
308
309         * configure.in: Output comment clarifying GPid semantics to
310         glibconfig.h.
311
312         * glibconfig.h.win32.in: Ditto here.
313
314 2008-08-04  Matthias Clasen  <mclasen@redhat.com>
315
316         Bug 546329 – API docs for g_utf8_normalize() are incorrect
317
318         * glib/gunidecomp.c: Remove inaccurate information about
319         g_utf8_collate() from g_utf8_normalize() docs.
320         Pointed out by Sven Neumann.
321
322 2008-08-04  Tor Lillqvist  <tml@novell.com>
323
324         * glibconfig.h.win32.in: Make the union _GSystemThread::data array
325         8 bytes on Win64. Not that it matters as the union contains a
326         pointer also anyway, but for equivalence with the configure-
327         generated glibconfig.h
328
329 2008-08-04  Tor Lillqvist  <tml@novell.com>
330
331         * glib/gmain.c (g_get_current_time): MSDN says: "Do not cast a
332         pointer to a FILETIME structure to either a LARGE_INTEGER* or
333         __int64* value because it can cause alignment faults on 64-bit
334         Windows." So don't do that then. Indeed the code did work randomly
335         on Win64 when compiled with optimisation.
336
337 2008-08-04  Tor Lillqvist  <tml@novell.com>
338
339         * glib/giowin32.c
340         * glib/gmain.c
341         * glib/gspawn-win32.c
342         * glib/gspawn-win32-helper.c: Change gssize casts introduced on
343         2008-07-28 to gintptr casts now that we have that. gssize is as
344         such the same as gintptr on both 32- and 64-bit Windows, but the
345         gintptr name indicates that it is used to hold pointers, i.e. also
346         HANDLEs.
347
348         * tests/testglib.c: Avoid warning on Win64 by using gintptr cast
349         instead if long cast.
350
351 2008-08-04  Matthias Clasen  <mclasen@redhat.com>
352
353         * configure.in: Bump version
354
355 2008-08-04  Matthias Clasen  <mclasen@redhat.com>
356
357         * === Released 2.17.6 ===
358
359 2008-08-04  Matthias Clasen  <mclasen@redhat.com>
360
361         * configure.in: Bump version
362
363         * === Released 2.17.5 ===
364
365         * NEWS: Updates
366
367 2008-08-02  Tor Lillqvist  <tml@novell.com>
368
369         * glibconfig.h.win32.in: Add gintptr and guintptr typedefs here,
370         too, appropriately ifdeffed for 32/64 bit, gcc/MSVC. Add 64-bit
371         versions of GPOINTER_TO_INT(), GPOINTER_TO_UINT() and vice versa,
372         too.
373         
374 2008-08-01  Matthias Clasen  <mclasen@redhat.com>
375
376         * NEWS: Updates
377         
378 2008-08-01  Matthias Clasen  <mclasen@redhat.com>
379
380         Bug 545798 – "Since: 2.18" mark is missing in g_set_error_literal
381         documentation
382
383         * glib/gerror.c (g_set_error_literal): Add a Since: marker.
384         Pointed out by Kouhei Sutou
385
386 2008-07-30  Tor Lillqvist  <tml@novell.com>
387
388         Bug 545485 - Implicit declaration of utime()
389
390         * glib/gstdio.c: Include <utime.h> on POSIX.
391
392 2008-07-28  Tor Lillqvist  <tml@novell.com>
393
394         * configure.in: Output to glibconfig.h typedefs for gintptr as the
395         signed integer type that can hold a pointer, and guintptr as the
396         corresponding unsigned type. These types are portable equivalents
397         to intptr_t and uintptr_t which are not available in all
398         compilers.
399
400         For all current platforms, they will presumably end up as the same
401         types as gssize and gsize, but in theory size_t can be smaller
402         than intptr_t. Also, the intended use case for gintptr and
403         guintptr is different from that of gssize and gsize. As the name
404         indicates, gintptr is for when one wants an integer type that can
405         hold a pointer, and gsize is for when one wants an integer type
406         that can hold the value of the sizeof operator.
407
408 2008-07-28  Matthias Clasen  <mclasen@redhat.com>
409
410         Bug 544465 – gmarkup makes it hard to use pre-rolled parsers
411
412         * glib/glib.symbols:
413         * glib/gmarkup.[hc]: Add g_markup_context_get_user_data.
414         Patch by Ryan Lortie
415
416 2008-07-28  Tor Lillqvist  <tml@novell.com>
417
418         * glib-zip.in: Message catalogs should always get installed into
419         share/locale nowadays, don't bother with the convoluted logic
420         checking if they are in lib/locale instead. Put the correct helper
421         programs in the zipfile.
422
423 2008-07-28  Tor Lillqvist  <tml@novell.com>
424
425         Fix problems on 64-bit Windows. Avoid warnings, some of which
426         indicated actual problems, some which were just annoyances. 
427
428         Where casts to an integer type are needed for pointers, use
429         gssize. Technically intptr_t would be the more proper type, but we
430         still want to be compilable with MSVS6 and 7 which don't have
431         intptr_t. MSVS8 and 9 do have intptr_t, but in <crtdefs.h>, not
432         <stdint.h>.
433
434         Use %p to print out handles. Use gssize casts when assigning
435         GPollFD::fd fields.
436
437         Use G_GSIZE_FORMAT when printing size_t values.
438         
439         * configure.in: Define automake conditional G_OS_WIN32_X64 which
440         is true on Win64.
441
442         * glib/giochannel.h: Use slightly different prototype for
443         g_io_channel_win32_new_messages() on Win64 with gsize instead of
444         guint.
445
446         * glib/giowin32.c
447         * glib/gmain.c
448         * glib/gspawn-win32.c
449         * tests/testglib.c: Generic changes as described above.
450
451         * glib/gmain.h: Don't bother mentioning GIMP in comment.
452
453         * glib/grel.c (tuple_hash_2): Use all bits of pointer.
454
455         * glib/gspawn-win32.c
456         * glib/gspawn-win32-helper.c: Use gssize types in the
457         communication between parent and helper process, so that we can
458         pass process handles, which are pointers, also on Win64.
459
460         * glib/gtimer.c (g_time_val_to_iso8601): time_t is 64 bits on
461         Win64 so we can't pass the address of a GTimeVal::tv_sec which is
462         a long directly to gmtime(). On the other hand, changing
463         GTimeVal::tv_sec to be a gint64 on Win64 is not really feasible
464         either, as that would then require changes in much code that uses
465         GTimeVals.
466
467         * glib/gspawn-win32.c
468         * glib/Makefile.am: Call the helper programs
469         gspawn-win64-helper.exe and gspawn-win64-helper-console.exe on
470         Win64, to avoid potential risk of running a 32-bit version of the
471         helper.
472
473 2008-07-27  Tor Lillqvist  <tml@novell.com>
474
475         * glib/glib.symbols
476         * glib/gconvert.c
477         * glib/gdir.c
478         * glib/gfileutils.c
479         * glib/giowin32.c
480         * glib/gspawn-win32.c
481         * glib/gutils.c
482         * glib/gwin32.c: Bypass the Windows "ABI compatibility" symbols on
483         _WIN64. As there hasn't been any widely deployed 64-bit Windows
484         builds of the really old GLib (pre-2.8.1) versions those refer to,
485         there is no need to have the "ABI compatibility" versions in the
486         DLL.
487
488         * glib/makegalias.pl: Handle #ifndef _WIN64: Just output it, too.
489
490 2008-07-27  Tor Lillqvist  <tml@novell.com>
491
492         * configure.in: Set LIB_EXE_MACHINE_FLAG to either X86 or X64 on
493         Windows. AC_SUBST it.
494
495         * glib/Makefile.am (glib-2.0.lib): Pass appropriate -machine flag
496         to lib.exe.
497
498 2008-07-25 15:47:08  Tim Janik  <timj@imendio.com>
499
500         * glib/tests/testing.c (test_random_conversions): added new sample
501         test to prepare for extended range random tests.
502
503 2008-07-24  Tor Lillqvist  <tml@novell.com>
504
505         * glib/gdir.c: Include <stdio.h> for FILENAME_MAX on newer mingw
506         installations.
507
508 2008-07-24  Tor Lillqvist  <tml@novell.com>
509
510         * glib/gslice.c (smc_notify_free): Use G_GSIZE_FORMAT instead of
511         the C99 "zu".
512
513 2008-07-24  Tor Lillqvist  <tml@novell.com>
514
515         * configure.in: Must output the GLIB_USING_SYSTEM_PRINTF to
516         glibconfig.h using the same two phase code as for the other
517         defines in it. Can't check enable_included_printf directly in the
518         shell code that is the first argument to AC_CONFIG_COMMANDS().
519
520         Preset glib_cv_stack_grows=no on Windows to help
521         cross-compilation.
522
523         * configure.in: Enhancements for 64-bit Windows: 
524
525         Handle also size_t being larger than long. It is long long
526         a.k.a. __int64 on the LLP64 Win64.
527
528         Set glib_void_p and glib_long correctly. Their assignments were
529         crossed. It hasn't mattered on LP64 platforms like all (?) 64-bit
530         UNIXes, but on the LLP Win64 it was wrong.
531
532         * glibconfig.h.win32.in: Check also _WIN64.
533
534 2008-07-24  Tor Lillqvist  <tml@novell.com>
535
536         * glibconfig.h.win32.in: Patch for 64-bit Windows from Richard
537         Hult.
538
539 2008-07-23  Matthias Clasen  <mclasen@redhat.com>
540
541         544088 – option_test_LDADD is left in tests/Makefile.am
542
543         * tests/Makefile.am: Remove leftovers. 
544         Noticed by Hiroyuki Ikezoe
545
546 2008-07-22  Mathias Hasselmann  <mathias@openismus.com>
547
548         Set LANG variable for group caption tests to get reproducable results.
549
550         * glib/tests/option-context.c (group_captions()):
551           Set LANG variable to C in the forked process to get reproducable.
552           Don't silence the forked process in --verbose mode to support
553           debugging.
554
555 2008-07-21  Matthias Clasen  <mclasen@redhat.com>
556
557         * configure.in: Fix detection of struct statfs fields.
558
559 2008-07-21  Matthias Clasen  <mclasen@redhat.com>
560
561         * configure.in: Bump version
562
563 2008-07-21  Matthias Clasen  <mclasen@redhat.com>
564
565         * === Released 2.17.4 ===
566
567         * configure.in: Bump version
568
569         * NEWS: Updates
570
571 2008-07-21  Emmanuele Bassi  <ebassi@gnome.org>
572
573         * glib/gtimer.c (g_time_val_to_iso8601): Use the right format
574         string to get leading zeros when converting to ISO 8601. (Sven
575         Herzberg)
576
577 2008-07-21  Emmanuele Bassi  <ebassi@gnome.org>
578
579         * glib/gbookmarkfile.c:
580         (bookmark_app_info_new): Do not set the timestamp value
581         using time(), as it will be overwritten anyway. (#535223,
582         Michael Meeks)
583
584         (parse_application_element),
585         (bookmark_app_info_dump): Support the "modified" attribute,
586         which takes an ISO-formatted string instead of a Unix time
587         stamp, to keep the number of g_strdup_printf() calls to a
588         minimum.
589
590         * glib/gtimer.c:
591         (g_time_val_to_iso8601): Do not use strftime(): we know
592         the format and contents of the ISO 8601 date format we
593         use.
594
595         * tests/bookmarks/valid-03.xbel: Add a test file for the
596         modified attribute.
597
598 2008-07-19  Matthias Clasen  <mclasen@redhat.com>
599
600         * glib/tests/Makefile.am:
601         * glib/tests/array-test.c: Move array tests here.
602
603         * tests/Makefile.am:
604         * tests/array-test.c: Removed.
605
606 2008-07-20  Tor Lillqvist  <tml@novell.com>
607
608         * glib/giowin32.c (g_io_win32_prepare): Patch from Yu Kuan that
609         makes watched sockets behave much better. See gtk-devel-list
610         archives from May for the (unfortunately rather meager)
611         discussion. This patch fixes the presented simple test program,
612         which reasonably could be expected to work.
613
614 2008-07-18  Matthias Clasen  <mclasen@redhat.com>
615
616         * NEWS: Updates
617
618 2008-07-18  Matthias Clasen  <mclasen@redhat.com>
619
620         Bug 536996 – Missing noop i18n macro equivalent to C_
621
622         * glib/glib.symbols:
623         * glib/gstrfuncs.[hc]: Add g_dpgettext2() which is a 
624         variant of g_dpgettext() taking context and id as separate
625         arguments.
626
627         * glib/gi18n-lib.h:
628         * glib/gi18n.h: Add an NC_() macro that is to C_() as N_()
629         is to _().
630
631 2008-07-18  Matthias Clasen  <mclasen@redhat.com>
632
633         * tests/Makefile.am:
634         * tests/keyfile-test.c:
635         * tests/option-test.c: Remove
636         * glib/tests/option-context.c: Add all GOptionContext tests here.
637         * glib/tests/keyfile.c: Add all GKeyFile tests here.
638
639 2008-07-16  Matthias Clasen  <mclasen@redhat.com>
640
641         Bug 334234 – "printf" format error
642
643         * glib/gslice.c (mem_error): Avoid a warning when printing a pid_t.
644         Pointed out by Morten Welinder. 
645
646 2008-07-16  Matthias Clasen  <mclasen@redhat.com>
647
648         Bug 406120 – g_ascii_strtod
649
650         * glib/gstrfuncs.c (g_ascii_strtod): Document that this
651         function does accept localized infinities and nans. Reported
652         by Morten Welinder.
653
654 2008-07-16  Matthias Clasen  <mclasen@redhat.com>
655
656         Bug 482413 - get_contents_stdio -- overflow and memory corruption
657
658         * glib/gfileutils.c (get_contents_stdio): Detect overflow and
659         error out. Reported by Morten Welinder. 
660
661 2008-07-16  Matthias Clasen  <mclasen@redhat.com>
662
663         Bug 542332 – small fix for error message in GMarkup
664         
665         * glib/gmarkup.c: Improve an error message. 
666         Patch by Ryan Lortie
667
668 2008-07-14  Matthias Clasen  <mclasen@redhat.com>
669
670         Bug 428048 – 2 of 51 tests fail on Solaris
671
672         * tests/iochannel-test.c: Ignore the error if iconv doesn't
673         support EUC-JP.
674
675 2008-07-14  Matthias Clasen  <mclasen@redhat.com>
676
677         * tests/option-test.c: Print error messages when something fails.
678
679 2008-07-14  Matthias Clasen  <mclasen@redhat.com>
680
681         Bug 467707 – test_iconv_state() in tests/convert-test.c fails on AIX 5.3
682
683         * tests/convert-test.c (test_iconv_state): Skip this test if
684         CP1255 is not supported.  
685
686 2008-07-10  Ryan Lortie  <desrt@desrt.ca>
687
688         * docs/reference/glib/glib-sections.txt:
689         * glib/glib.symbols:
690         * glib/gmarkup.c:
691         * glib/gmarkup.h: add functions g_markup_parse_context_{push,pop} in
692         order to provide some small hooks on which to build easy-to-use
693         subparsers.
694  
695         * glib/tests/Makefile: add new test
696         * glib/tests/markup-subparser.c: new test for subparsers
697  
698         Fixes bug #337518.
699
700 2008-07-05  Matthias Clasen  <mclasen@redhat.com>
701
702         Bug 528317 – GRegex does not allow recursion limit
703
704         * glib/pcre/Makefile.am: Set a sane default recursion limit
705         of 8192 instead of 1000000. 
706         Patch by Mart Raudsepp.
707
708 2008-07-04  Behdad Esfahbod  <behdad@gnome.org>
709
710         Bug 541507 – Ambiguous description of assigned characters in the Glib
711         Unicode Manipulation reference
712
713         * glib/guniprop.c
714         (g_unichar_isgraph): Return true for PrivateUse too.
715         (g_unichar_isprint): Return true for PrivateUse too.
716         (g_unichar_isdefined): Return false for Surrogate.
717
718 2008-07-04  Michael Natterer  <mitch@imendio.com>
719
720         Bug 541208 – Functions to easily install and use signals without
721         class struct slot
722
723         * tests/gobject/override.c: added tests for the new gsignal
724         overriding and chaining APIs.
725
726 2008-07-02  Matthias Clasen  <mclasen@redhat.com>
727
728         * === Released 2.17.3 ===
729
730 2008-07-02  Matthias Clasen  <mclasen@redhat.com>
731
732         * configure.in: Better endianness fix. From Tomas Mraz.
733
734 2008-07-02  Matthias Clasen  <mclasen@redhat.com>
735
736         * NEWS: Updates
737
738 2008-07-02  Colin Walters  <walters@redhat.com>
739
740         * gio/gcontenttype.c: Use UNLOCK to unlock, not LOCK.
741
742 2008-07-02  Matthias Clasen  <mclasen@redhat.com>
743
744         * configure.in: Add a check for structfs.f_bavail
745
746 2008-07-02  Matthias Clasen  <mclasen@redhat.com>
747
748         * glib/gmain.c (g_get_current_time): Add a g_return_val_if_fail
749         check in both versions. Proposed by Patrik Olsson in bug 540545.
750
751 2008-07-02  Matthias Clasen  <mclasen@redhat.com>
752
753         * configure.in: Workaround AC_C_BIGENDIAN breakage in autoconf 2.61.
754         Add a _cv_ to some variable names, since autoconf wants it.
755
756 2008-06-30  Matthias Clasen  <mclasen@redhat.com>
757
758         * glib/pcre/pcre_compile.c: Apply fix for CVE-2008-2371 to
759         fix a heap-based buffer overflow.
760
761 2008-06-29  Björn Lindqvist  <bjourne@gmail.com>
762
763         Bug 539626 – Update docstrings for g_object_freeze_notify and
764         g_object_thaw_notify
765
766         * gobject/gobject.c: Explain how the freeze count works.
767
768 2008-06-26  Cody Russell  <bratsche@gnome.org>
769
770         * configure.in: Add #define GLIB_USING_SYSTEM_PRINTF
771         to glibconfig.h, which specifies if GLib is using
772         the system printf functions for g_print*().
773         (#539999, by Tim-Philipp Müller)
774
775 2008-06-24  Paolo Borelli  <pborelli@katamail.com>
776
777         Bug 539770 - migrate gstrfunc unit tests to gtest
778
779         * tests/strfunc-test.c:
780         * tests/testglib.c:
781         * tests/strtoll-test.c:
782         * tests/strtod-test.c:
783         * tests/string-test.c:
784         * tests/Makefile.am:
785         Removed old tests.
786
787         * glib/tests/fileutils.c:
788         * glib/tests/strfuncs.c:
789         * glib/tests/Makefile.am:
790         Added all the old tests migrated to the new unit test framework
791         and add new unit tests for some of the functions.
792
793 2008-06-23  Kristian Rietveld  <kris@imendio.com>
794
795         * gobject/glib-mkenums.in: introduce an ENUMPREFIX substitution.
796
797         * gio/gioenumtypes.h.template: use @ENUMPREFIX@ instead of
798         hard coding "G" as prefix.
799
800 2008-06-22  Stefan Kost  <ensonic@users.sf.net>
801
802         * glib/gurifuncs.c:
803           Fix markup in comment.
804
805 2008-06-21  Johan Dahlin  <jdahlin@async.com.br>
806
807     * *.[ch]: Include "config.h" instead of <config.h>
808     Command used:
809     find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
810     Rubberstamped by Mitch
811
812 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
813
814         Bug 316221 - G_LOCK warns about breaking strict-aliasing rules
815
816         * configure.in:
817         * glib/gthread.h: Revert previous patch as it doesn't improve the
818         situation and results in other warnings.
819
820 2008-06-16  Christian Persch  <chpe@gnome.org>
821
822         Bug 539123 – annotate g_d[n]gettext with G_GNUC_FORMAT
823
824         * glib/gstrfuncs.h:
825         * glib/glib.symbols: Annotate some functions with G_GNUC_FORMAT. 
826
827 2008-06-19  Tor Lillqvist  <tml@novell.com>
828
829         Bug 539074 - Cannot get exit status with g_spawn_command_line_sync()
830
831         * glib/gspawn-win32-helper.c (main): Write also the exit status of
832         the spawned process to the error report pipe. Patch by Hiroyuki
833         Ikezoe.
834
835 2008-06-19  Matthias Clasen  <mclasen@redhat.com>
836
837         Bug 535949 – annotate g_strip_context and g_dpgettext with
838         G_GNUC_FORMAT
839
840         * glib/gstrfuncs.h:
841         * glib/glib.symbols: Annotate some functions with G_GNUC_FORMAT.
842         Patch by Christian Persch
843
844 2008-06-19  Matthias Clasen  <mclasen@redhat.com>
845
846         Bug 539067 – The document g_io_channel_win32_new_fd() says that "Your
847         code should call only g_io_channel_read()." but gio_channel_read() is
848         deprecated
849
850         * glib/giochannel.h: Fix a reference in a comment
851         Patch by Hiroyuki Ikezoe 
852
853 2008-06-18  Matthias Clasen  <mclasen@redhat.com>
854
855         Bug 537635 – Corrections and improvements to
856         g_time_val_from_iso8601()/g_time_val_to_iso8601()
857
858         * glib/gtimer.c (g_time_val_from_iso8601): set tv_usec to 0 rather 
859         than 1 when a fraction of a second is not specified
860         (g_time_val_from_iso8601): calculate a fraction of a second
861         correctly even in case it does not happen to consist of exactly 
862         six digits; do not allow random data after the ISO 8601 string,
863         only whitespace
864         (make g_time_val_to_iso8601): support fractions of a second
865         Patch by Peter Kjellerstedt
866
867         * tests/testglib.c: Update to match
868
869 2008-06-16  Christian Persch  <chpe@gnome.org>
870
871         * glib/gbookmarkfile.c
872         * glib/gconvert.c
873         * glib/gfileutils.c
874         * glib/giochannel.c
875         * glib/giounix.c
876         * glib/giowin32.c
877         * glib/gkeyfile.c
878         * glib/gregex.c
879         * glib/gshell.c
880         * glib/gspawn-win32.c
881         * glib/gutf8.c: Use g_set_error_literal where appropriate. Patch from 
882         bug #535947.
883
884 2008-06-16  Christian Persch  <chpe@gnome.org>
885
886         * docs/reference/glib/glib-sections.txt:
887         * glib/gerror.c:
888         * glib/gerror.h:
889         * glib/glib.symbols: Add g_set_error_literal. Bug #535947.
890
891 2008-06-16  Michael Natterer  <mitch@imendio.com>
892
893         * glib/goption.c (dgettext_swapped): changed return value to
894         const gchar* to fix warning.
895
896 2008-06-14  Matthias Clasen  <mclasen@redhat.com>
897
898         * glib/gtestutils.c: Move docs around
899
900         * glib/gchecksum.h: Add docs.
901
902 2008-06-13  Matthias Clasen  <mclasen@redhat.com>
903
904         Bug 538119 – glib's mainloop leaks a pipe to sub-processes
905
906         * glib/gmain.c (g_main_context_init_pipe): Don't leak the
907         pipes to child processes. Patch by Thiago Macieira.
908
909 2008-06-13  Hans Breuer  <hans@breuer.org>
910
911         * glib/gstrfuncs.c : to get the default translation target on
912         win32 use g_win32_get_locale() instead of setlocale(LS_MESSAGES,NULL)
913         Fixes bug #538044
914
915         * glib/makefile.msc.in gio/makefile.msc : updated
916
917 2008-06-12  Matthias Clasen  <mclasen@redhat.com>
918
919         * configure.in: Bump version
920         
921         * === Released 2.17.2 ===
922
923         * configure.in: Fix LINGUAS conversion
924
925 2008-06-12  Matthias Clasen  <mclasen@redhat.com>
926
927         * configure.in: Bump version
928
929         * === Released 2.17.1 ===
930
931 2008-06-12  Matthias Clasen  <mclasen@redhat.com>
932
933         * glib/gtestutils.c: Documentation fixups
934
935 2008-06-11  Matthias Clasen  <mclasen@redhat.com>
936
937         * glib/glist.c: Tiny doc fix
938
939 2008-06-11  Matthias Clasen  <mclasen@redhat.com>
940
941         * NEWS: Updates
942
943 2008-06-11  Behdad Esfahbod  <behdad@gnome.org>
944
945         Bug 503071 – Application direction changes to right to left even if
946         theres no translation
947
948         * glib/gi18n-lib.h:
949         * glib/glib.symbols:
950         * glib/gstrfuncs.h:
951         * glib/gstrfuncs.c:
952         Add new functions g_dgettext() and g_dngettext().
953
954         * glib/gutils.c (glib_gettext):
955         * glib/gfileutils.c (g_format_size_for_display):
956         * glib/goption.c (dgettext_swapped):
957         Use the new functions.
958
959 2008-06-11  Matthias Clasen  <mclasen@redhat.com>
960
961         Bug 502511 – g_assert_cmphex prints invalid message
962
963         * glib/gtestutils.c (g_assertion_message_cmpnum): Actually print
964         hex numbers in hex. 
965         Pointed out by Tor Lillqvist
966
967 2008-06-11  Matthias Clasen  <mclasen@redhat.com>
968
969         Bug 338162 – [PATCH] Use po/LINGUAS
970
971         * po/LINGUAS: New file
972         * po/Makefile.in.in: Dist LINGUAS
973         * configure.in: Use po/LINUAS
974         Patch by Thomas Andersen
975
976 2008-06-11  Matthias Clasen  <mclasen@redhat.com>
977
978         Bug 314453 – Nautilus crashes in Solaris when browsing the attached
979         file
980
981         * glib/gunicollate.c (g_utf8_collate_key): Handle strfxrm returning
982         -1 a little better. Problem pointed out by Takao Fujiwara
983
984 2008-06-11  Matthias Clasen  <mclasen@redhat.com>
985
986         Bug 529321 – make check fails in glib/pcre
987
988         * glib/pcre/Makefile.am: include Makefile.decl to fix 'make check'.
989         Patch by Hiroyuki Ikezoe
990
991 2008-06-11  Tor Lillqvist  <tml@novell.com>
992
993         * glib/giowin32.c: g_win32_error_message() works fine for the
994         Winsock WSA* error codes, too, so drop the winsock_error_message()
995         function.
996
997 2008-06-11  Matthias Clasen  <mclasen@redhat.com>
998
999         Bug 455215 – g_get_user_special_dir: no reference about
1000         G_USER_DIRECTORY_DOWNLOAD fallback to $HOME/Desktop if 
1001         xdg-user-dirs is not in use
1002
1003         * glib/gutils.c (g_get_user_special_dir): Improve the docs.
1004         Proposed by Luca Ferretti
1005
1006 2008-06-11  Matthias Clasen  <mclasen@redhat.com>
1007
1008         Bug 498732 – g_key_file_to_data cannot fail
1009
1010         * glib/gkeyfile.c (g_key_file_to_data): Improve the docs.
1011         Proposed by Christian Persch
1012
1013 2008-06-11  Ross Burton  <ross@burtonini.com>
1014
1015         Bug 511367 - add g_file_make_directory_with_parents.
1016         
1017         * gio/gfile.c:
1018         * gio/gfile.h:
1019         * gio/gio.symbols: Add g_file_make_directory_with_parents.
1020         
1021 2008-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
1022
1023         Bug 531900 – Use __builtin_offsetof for G_STRUCT_OFFSET if building
1024         with gcc 4.0 or newer
1025
1026         * glib/gmacros.h: Use __builtin_offsetof for G_STRUCT_OFFSET if
1027         building with gcc 4.0 or newer.
1028
1029 2008-06-11  Tor Lillqvist  <tml@novell.com>
1030
1031         * glib/gmain.c
1032         * glib/gspawn.c: Clarify what a "child pid" is in the doc
1033         comments.
1034
1035 2008-06-10  Matthias Clasen  <mclasen@redhat.com>
1036
1037         Bug 536158 – also bump GHashTable version when a node is removed via
1038         g_hash_table_iter_remove()/g_hash_table_iter_steal()
1039
1040         * glib/ghash.c (iter_remove_or_steal): Bump the hash table 
1041         version. Patch by Jean-Yves Lefort
1042
1043 2008-06-07  Tor Lillqvist  <tml@novell.com>
1044
1045         * glib/gstdio.c (g_access): Define X_OK if necessary (MSVC).
1046
1047 2008-06-02  Yevgen Muntyan  <muntyan@tamu.edu>
1048
1049         Bug 531403 – g_utf8_collate broken on Mac.
1050
1051         * glib/gunicollate.c:  (g_utf8_collate): use UCCompareTextDefault;
1052         (collate_key_to_string), (carbon_collate_key_with_collator),
1053         (carbon_collate_key), (carbon_collate_key_for_filename): new
1054         functions using Carbon API to get collate key for g_utf8_collate_key()
1055         and g_utf8_collate_key_for_filename();
1056         (g_utf8_collate_key), (g_utf8_collate_key_for_filename): use those.
1057
1058 2008-05-30  Michael Natterer  <mitch@imendio.com>
1059
1060         Bug 535628 - test/patterntest.c still includes gpattern.h
1061         directly.
1062
1063         * tests/patterntest.c: don't include "glib/gpattern.h" directly.
1064         Patch from Hiroyuki Ikezoe.
1065
1066 2008-05-30  Tor Lillqvist  <tml@novell.com>
1067
1068         Bug 535625 - alias.h:2648: error: 'utime' undeclared here (not in
1069         a function)
1070
1071         * glib/glib.symbols: Move g_utime inside #if !defined(G_OS_UNIX)
1072         || defined(G_STDIO_NO_WRAP_ON_UNIX).
1073
1074 2008-05-30  Tor Lillqvist  <tml@novell.com>
1075
1076         * glib/gstdio.c (g_access) [Win32]: Mask out X_OK to avoid problem
1077         on Vista. X_OK was just ignored by access() in earlier Microsoft C
1078         libraries. (Which is fine as executability has little meaning on
1079         Windows.) The one on Vista returns an error if X_OK is passed.
1080
1081 2008-05-29  Tor Lillqvist  <tml@novell.com>
1082
1083         * glib/gstdio.h
1084         * glib/gstdio.c: Add g_utime(). No need to include <sys/utime.h>
1085         in gstdio.h, just use a forward struct declaration.
1086
1087         * glib/glib.symbols: Add it.
1088
1089 2008-05-29  Tor Lillqvist  <tml@novell.com>
1090
1091         * glib/gnulib/printf-args.c (printf_fetchargs): wint_t is short on
1092         Windows, and gcc warns: "wint_t is promoted to int when passed
1093         through ... (so you should pass int not wint_t to va_arg)." And
1094         indeed g_print("%C", L'a') crashes. So do as gcc says then.
1095
1096 2008-05-28  Michael Natterer  <mitch@imendio.com>
1097
1098         * configure.in: add G_DISABLE_SINGLE_INCLUDES to CPPFLAGS
1099         globally.
1100
1101         * glib/tests/option-context.c
1102         * glib/tests/testing.c
1103         * tests/testingbase64.c: don't include <glib/gtestutils.h>
1104
1105 2008-05-27  Matthias Clasen  <mclasen@redhat.com>
1106
1107         * configure.in: Bump version
1108
1109         * === Released 2.17.0 ===
1110
1111 2008-05-27  Matthias Clasen  <mclasen@redhat.com>
1112
1113         * README.in: Add a note about G_DISABLE_SINGLE_HEADERS.
1114
1115         * NEWS: Updates
1116
1117 2008-05-27  Matthias Clasen  <mclasen@redhat.com>
1118
1119         * tests/casemap.txt:
1120         * tests/casefold.txt: Update for Unicode 5.1
1121
1122 2008-05-27  Matthias Clasen  <mclasen@redhat.com>
1123
1124         * Revert the patch for bug 527214 and related changes. GTimer
1125         is supposed to work without threads.
1126
1127 2008-05-27  simon.zheng  <simon.zheng@sun.com>
1128
1129         * configure.in: Fix #533369. Check whether memeber statvfs.f_basetype 
1130         available or not.
1131
1132 2008-05-27  Matthias Clasen  <mclasen@redhat.com>
1133
1134         * glib/pcre/*: Update to PCRE 7.7
1135
1136 2008-05-26  Matthias Clasen  <mclasen@redhat.com>
1137
1138         * glib/gchecksum.c: Add Since: tag to g_checksum_reset
1139
1140         * glib/glib.symbols: Add g_checksum_reset
1141
1142 2008-05-25  Matthias Clasen  <mclasen@redhat.com>
1143
1144         Bug 534137 – Typo in g_spawn_async_with_pipes doc
1145
1146         * glib/gspawn.c: Fix a typo in the docs, pointed out by Ted Percival.
1147
1148 2008-05-25  Tor Lillqvist  <tml@novell.com>
1149
1150         Bug 534319 - GLib's .pc files could use Libs.private
1151
1152         * glib-2.0-uninstalled.pc.in
1153         * glib-2.0.pc.in
1154         * gmodule-2.0-uninstalled.pc.in
1155         * gmodule-2.0.pc.in
1156         * gmodule-export-2.0.pc.in
1157         * gmodule-no-export-2.0.pc.in: Move ICONV_LIBS and G_MODULE_LIBS
1158         to Libs.private.
1159
1160 2008-05-24  Matthias Clasen  <mclasen@redhat.com>
1161
1162         * glib/gfileutils.c (g_file_open_tmp): Small documention addition.
1163
1164 2008-05-22 10:49:37  Tim Janik  <timj@imendio.com>
1165
1166         * glib/gmacros.h: implement G_STMT_START and G_STMT_END with
1167         do{}while(0), which is believed to be widely portable, fixes:
1168         Bug 519026 - G_STMT_START/G_STMT_END test a non-existent preprocessor symbol
1169
1170 2008-05-20  Behdad Esfahbod  <behdad@gnome.org>
1171
1172         Bug 501651 – Update glib/libcharset
1173
1174         * configure.in:
1175         * glib/libcharset/Makefile.am:
1176         * glib/libcharset/README:
1177         * glib/libcharset/codeset.m4:
1178         * glib/libcharset/config.charset:
1179         * glib/libcharset/glibc21.m4:
1180         * glib/libcharset/libcharset-glib.patch:
1181         * glib/libcharset/libcharset.h:
1182         * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases),
1183         (_g_locale_charset_raw):
1184         * glib/libcharset/localcharset.h:
1185         * glib/libcharset/make-patch.sh:
1186         * glib/libcharset/ref-add.sin:
1187         * glib/libcharset/ref-del.sin:
1188         * glib/libcharset/update.sh:
1189         Update libcharset to the one shipped with libiconv-0.12.
1190
1191 2008-05-20  Behdad Esfahbod  <behdad@gnome.org>
1192
1193         Bug 459905 – Bug in wcwidth data
1194         Bug 534085 – g_unichar_iswide_cjk() has a totally wrong table
1195         * glib/guniprop.c (g_unichar_iswide), (g_unichar_iswide_cjk):
1196         Regenrate wide and wide_cjk tables from Unicode 5.1.0 data directly.
1197         Not using Markus Kuhn's tables anymore.
1198
1199 2008-05-20 14:31:18  Tim Janik  <timj@imendio.com>
1200
1201         * reverted recent unapproved changes by Yair Hershkovitz, regarding:
1202         Bug 503071 – Application direction changes to right to left even if theres no translation.
1203
1204 2008-05-20  Tor Lillqvist  <tml@novell.com>
1205
1206         * configure.in: Don't need memory barriers when using a non-gcc
1207         compiler on Windows either.
1208
1209 2008-05-19  Tor Lillqvist  <tml@novell.com>
1210
1211         * glib/gdir.c: Include the dirent.h and wdirent.c from
1212         ../build/win32/dirent directly here when compiling with MSVC and
1213         without HAVE_DIRENT_H.
1214
1215 2008-05-19  Hans Breuer  <hans@breuer.org>
1216
1217         * glib/makefile.msc : added gi18n.c
1218
1219 2008-05-19  Tor Lillqvist  <tml@novell.com>
1220
1221         * glib/Makefile.am: #define HELPER_CONSOLE in
1222         gspawn-win32-helper-console.c
1223
1224         * glib/gspawn-win32-helper.c: Compile a main() instead of
1225         WinMain() if HELPER_CONSOLE is defined. MSVC insists on a console
1226         application having a main().
1227
1228 2008-05-18  Matthias Clasen  <mclasen@redhat.com>
1229
1230         Bug 527214 – g_timer_elapsed() returns random values.
1231
1232         * glib/gtimer.c (g_timer_new()):
1233         Print warning if g_thread_init() has not been called yet. 
1234         Patch by Mathias Hasselmann
1235
1236 2008-05-12  Jeffrey Stedfast  <fejj@novell.com>
1237
1238         * glib/gchecksum.c (g_checksum_reset): New function to reset the
1239         state of a GChecksum.
1240         (g_checksum_new): Call g_checksum_reset() instead of duplicating
1241         code.
1242
1243 2008-05-17  Matthias Clasen  <mclasen@redhat.com>
1244
1245         Bug 528667 – Typos in testing module documentation
1246
1247         * glib/gtestutils.c: Fix typos in the documentation.
1248
1249 2008-05-17  Tor Lillqvist  <tml@novell.com>
1250
1251         * glib/giowin32.c: Make debugging printout more compact and add
1252         more information to it. No changes to actual functionality.
1253
1254         * glib/gmain.c: Improve debugging printouts. When
1255         G_MAIN_POLL_DEBUG is defined, we check for an environment variable
1256         of the same name to decide whether to print out debugging
1257         information or not. G_MAIN_POLL_DEBUG is always defined on Windows
1258         as there is more often a need to debug this stuff there. On Unix
1259         the definition has to be uncommented (or done on the compile
1260         command line).
1261
1262 2008-05-17  Tor Lillqvist  <tml@novell.com>
1263
1264         * build: Don't include the "build" module with svn:externals any
1265         longer. Instead add the still relevant directories and files from
1266         it for real here in GLib.
1267
1268 2008-05-17  Yair Hershkovitz  <yairhr@gmail.com>
1269
1270         * glib/glib.symbols:
1271         * glib/gi18n.h: Added g_disable_setlocale().
1272
1273         * glib/gi18n.c: Added g_disable_setlocale() API to disable setting
1274         the locale in g_i18n_init(). Dont disable translations if textdomain
1275         was not set before calling g_i18n_init(). Dont disable translations if
1276         the locale is "C".
1277
1278 2008-05-16  Tor Lillqvist  <tml@novell.com>
1279
1280         * config.h.win32.in: Update to match the configure-produced one.
1281
1282 2008-05-14  Michael Natterer  <mitch@imendio.com>
1283
1284         * glib/gatomic.c: #include "config.h" before using G_ATOMIC_ARM.
1285
1286 2008-05-13  Kjartan Maraas  <kmaraas@gnome.org>
1287
1288         * glib/gi18n.c: #include <locale.h> to fix the build.
1289
1290 2008-05-12  Yair Hershkovitz  <yairhr@gmail.com>
1291
1292         * glib/gi18n.c (g_i18n_init): Coding convention fix. Space between
1293         a function name and its opening parenthesis.
1294
1295 2008-05-12  Tor Lillqvist  <tml@novell.com>
1296
1297         * glib/glib.symbols: Add g_i18n_init.
1298
1299 2008-05-12  Tor Lillqvist  <tml@novell.com>
1300
1301         Bug 530457 - G_USER_DIRECTORY_DOWNLOAD folder improperly mapped
1302
1303         * glib/gutils.c (load_user_special_dirs): When running on Vista or
1304         later, use SHGetKnownFolderPath() to get the FOLDERID_Downloads
1305         folder for G_USER_DIRECTORY_DOWNLOAD, and FOLDERID_Public for
1306         G_USER_DIRECTORY_PUBLIC_SHARE.
1307
1308 2008-05-11  Yair Hershkovitz  <yairhr@gmail.com>
1309
1310         Bug 503071 - Application direction changes to right to left even if
1311         theres no translation. 
1312
1313         * glib/gi18n.c: g_i18n_init() for initializing the glib i18n,
1314         checking if a translation is available for the calling app. wrappers for
1315         gettext, dgettext and dpgettext to check first if the application
1316         should be translated.
1317
1318         * glib/gi18n.h: symbol declaration for gettext wrappers.
1319
1320         * glib/gi18n-lib.h: include gi18n.h instead of libintl.h.
1321
1322         * glib/gstrfuncs.c: moved g_dpgettext() to glib/gi18n.c.
1323
1324         * glib/gutils.c: use g_dgettext() instead of dgettext().
1325
1326         * glib/glibintl.h: include gi18n.h.
1327
1328         * glib.symbols: added gettext wrappers.
1329
1330         * glib/Makefile.am: added gi18n.c.
1331
1332 2008-05-05  Michael Natterer  <mitch@imendio.com>
1333
1334         * glib/glib.h: #define __GLIB_H_INSIDE__ around including
1335         everything.
1336
1337         * glib/*.h: check for that define instead of __G_LIB_H__ if
1338         G_DISABLE_SINGLE_INCLUDES is defined.
1339
1340         * glib/gdatasetprivate.h: #include <glib.h> instead of
1341         <glib/gdataset.h>
1342
1343 2008-05-02 13:24:13  Tim Janik  <timj@imendio.com>
1344
1345         * glib/gmain.c: renamed GMainDispatch.dispatching_sources to be more
1346         descriptive and distinguishable within the source file.
1347
1348 2008-04-21  Tor Lillqvist  <tml@novell.com>
1349
1350         Bug 528752 - Win32 build and SSL not working
1351
1352         This bug report against libsoup points out an issue with the use
1353         of bitfields in the GIOChannel struct that should really be taken
1354         care of here in GLib.
1355
1356         * configure.in: Add Autoconf variable GLIB_EXTRA_CFLAGS which will
1357         contain the -mms-bitfields flag on Windows.
1358         
1359         * glib-2.0.pc.in: Add it to Cflags.
1360
1361 2008-04-21  Tor Lillqvist  <tml@novell.com>
1362
1363         * configure.in
1364         * */Makefile.am: More work on enabling static building on
1365         Windows. When building statically: Also define
1366         GOBJECT_STATIC_COMPILATION in glibconfig.h so that also the
1367         variables in gparamspecs.h get declared without any
1368         dllimport/dllexport decorations. Don't install .def files which
1369         obviously have no meaning for static libraries. Don't create MS
1370         import libraries. Don't do any resource object files.
1371
1372 2008-04-18 17:40:58  Tim Janik  <timj@imendio.com>
1373
1374         * tests/testglib.c: fixed gstdio.h include.
1375
1376         * tests/Makefile.am: properly list testglib.c SOURCES.
1377
1378 2008-04-17  Emmanuele Bassi  <ebassi@gnome.org>
1379
1380         * glib/gchecksum.c:
1381         (sha_byte_reverse): Use the macro GLib provides for byte-swapping
1382         as it can be optimized.
1383         
1384         (g_checksum_update): Fix a compiler warning.
1385
1386 2008-04-15  Mukund Sivaraman  <muks@mukund.org>
1387
1388         * gio/gfile.c: Fixed typos in gtk-doc comments.
1389
1390 2008-04-10  Mathias Hasselmann  <mathias@openismus.com>
1391
1392         Bug 519137 – g_slice_dup macro needs cast for 64-bit platform
1393
1394         * glib/gslice.h (g_slice_copy): Apply type casts needed
1395           for proper compilation on 64-bit platforms.
1396
1397 2008-04-09  Federico Mena Quintero  <federico@novell.com>
1398
1399         * glib/gbookmarkfile.c (bookmark_metadata_free): Don't leak
1400         the apps_by_name hash table if the applications list is empty.
1401
1402 2008-04-08  Behdad Esfahbod  <behdad@gnome.org>
1403
1404         * glib/gunicode.h: Add ISO 15924 code comments for new scripts.
1405
1406 2008-04-07  Matthias Clasen  <mclasen@redhat.com>
1407
1408         Bug 491554 – Update to Unicode 5.1.0
1409
1410         * glib/gunichartables.h:
1411         * glib/gunicode.h:
1412         * glib/gunibreak.h:
1413         * glib/gmirroringtable.h:
1414         * glib/gscripttable.h:
1415         * glib/gen-script-table.pl: Update to Unicode 5.1.0. Patch by
1416         Behdad Esfahbod
1417
1418 2008-04-07  Matthias Clasen  <mclasen@redhat.com>
1419
1420         Bug 526619 – make test-report crash
1421
1422         * glib/gtester.c: Allocate enough space for argv. Patch by
1423          Hiroyuki Ikezoe
1424
1425 2008-04-04  Matthias Clasen  <mclasen@redhat.com>
1426
1427         * glib/gmain.c: Make the fix for bug 448943 work.
1428
1429 2008-04-04  Tor Lillqvist  <tml@novell.com>
1430
1431         * configure.in: Make sure we don't build both shared and static at
1432         the same time on Windows. Put a #define for
1433         GLIB_STATIC_COMPILATION into glibconfig.h in the static case, so
1434         that the use of variables from libglib gets the GLIB_VAR macro in
1435         gtypes.h automatically correct. This means that a shared and
1436         static build of GLib can't be installed in the same prefix on
1437         Windows, which sucks a bit. But with variables in the GLib API,
1438         there isn't much we can do otherwise. The alternative would be to
1439         force the developer who compiles against a statically built GLib
1440         to use -DGLIB_STATIC_COMPILATION.
1441
1442         * glibconfig.h.win32.in: Define GLIB_STATIC_COMPILATION here also,
1443         if needed.
1444
1445 2008-04-03  Tor Lillqvist  <tml@novell.com>
1446
1447         * configure.in: Don't enforce shared library build only on
1448         Windows. It might well make sense to build static libraries in
1449         some use cases.
1450
1451         * glib/gutils.c: Don't compile the DllMain if building libglib
1452         statically. Also in that case don't return NULL from
1453         _glib_get_installation_directory(), but return the installation
1454         directory of the program's .exe file.
1455
1456 2008-04-03  Tor Lillqvist  <tml@novell.com>
1457
1458         Bug 525972 - UCS-4 not in the new win_iconv implementation
1459
1460         * glib/win_iconv.c: Add UCS-4. Also add spelling of UCS-2 without
1461         the hyphen.
1462
1463 2008-04-03  Matthias Clasen  <mclasen@redhat.com>
1464
1465         Bug 448943 – g_timeout_add_seconds() problems
1466
1467         * glib/gmain.c (g_timeout_set_expiration): Prevent expiration
1468         time going negative. Reported by Cody Russell, analyzed by
1469         Olivier Crete, patch by Sjoerd Simons.
1470
1471 2008-04-03  Matthias Clasen  <mclasen@redhat.com>
1472
1473         Bug 525674 – A typo in gmarkup.c
1474
1475         * glib/gmarkup.c (g_markup_parse_context_get_element_stack): Fix
1476         the docs, reported by Hiroyuki Ikezoe
1477
1478 2008-04-03  Matthias Clasen  <mclasen@redhat.com>
1479
1480         Bug 525732 – Error in documentation for g_list_first
1481
1482         * glib/glist.c (g_list_first): Fix the docs, reported by 
1483         Salvatore Iovene
1484
1485 2008-04-02  Tor Lillqvist  <tml@novell.com>
1486
1487         Bug 524314 - g_convert() on Win32 implicitly converts full width
1488         alphanumerics into half width
1489         
1490         * glib/win_iconv.c: Update from Yukihiro Nakadaira. Use
1491         WC_NO_BEST_FIT_CHARS flag for WideCharToMultiByte() unless the
1492         //translit flag was suffixed to the codeset name.
1493
1494         * glib/gconvert.c: Include win_iconv.c earlier so that its
1495         definition of WINVER before it includes <windows.h> is used.
1496
1497 2008-03-31  Tor Lillqvist  <tml@novell.com>
1498
1499         * glib/gmain.c (g_poll): Improve fix for #525192 below: Use
1500         SleepEx() so that the sleep is alertable. Thanks to John
1501         Ehresman.
1502
1503 2008-03-31  Tor Lillqvist  <tml@novell.com>
1504
1505         * glib/gwin32.c
1506         (g_win32_get_package_installation_directory_of_module): Fix Cygwin
1507         breakage. Patch by Lieven van der Heide.
1508
1509 2008-03-31 10:39:17  Tim Janik  <timj@imendio.com>
1510
1511         * glib/gutils.h: reapply inlining fix from r6333 to fix:
1512         Bug 522292 – Gives warnings in glib/gutils.h with GCC in C99 mode
1513         and again:
1514         Bug 315437 – extern inline -> static inline
1515
1516 2008-03-31  Tor Lillqvist  <tml@novell.com>
1517
1518         Bug 525192 - 100% CPU if run main loop with no IO sources
1519
1520         * glib/gmain.c (g_poll) [Win32]: Patch by Neil Roberts.
1521
1522 2008-03-30  Matthias Clasen  <mclasen@redhat.com>
1523
1524         * glib/gtester.c: Don't use ARG_MAX.  (#522335, patch by 
1525         Samuel Thibault, adapted by Sebastian Dröge)
1526
1527 2008-03-30  Matthias Clasen  <mclasen@redhat.com>
1528
1529         * glib/gmacros.h: Add macros wrapping the gcc alloc_size 
1530         function attribute.  (#523019, Rodrigo Moya)
1531
1532         * glib/gmem.h: 
1533         * glib/gslice.h:
1534         * glib/gstrfuncs.h: Use the new attribute where appropriate.
1535
1536 2008-03-30  Matthias Clasen  <mclasen@redhat.com>
1537
1538         * glib/glibintl.h:
1539         * glib/gstrfuncs.c:
1540         * glib/gutils.c: Simple fixes to help building GLib on 
1541         embedded systems without NLS.  (#524350, Peter Kjellerstedt)
1542
1543 2008-03-30  Matthias Clasen  <mclasen@redhat.com>
1544
1545         * glib/ghash.c: Fix the build with -DG_DISABLE_ASSERT.
1546         (#525060, Arfrever Frehtes Taifersar Arahesis)
1547
1548 2008-03-30  Matthias Clasen  <mclasen@redhat.com>
1549         
1550         * glib/gthread.h: Replace occurrances of G_GNUC_PRETTY_FUNCTION
1551         by G_STRFUNC.  (#524344, Peter Kjellerstedt)
1552
1553 2008-03-30  Matthias Clasen  <mclasen@redhat.com>
1554
1555         * glib/gtestutils.c: Fix a doc typo. (#524742, Hiroyuki Ikezoe)
1556
1557 2008-03-22  Claudio Saavedra  <csaavedra@gnome.org>
1558
1559         Bug 523877 – gbookmarkfile: avoid using g_string_append_printf() and
1560         other optimizations
1561
1562         * glib/gbookmarkfile.c: (bookmark_metadata_dump),
1563         (bookmark_item_dump), (g_bookmark_file_dump), (expand_exec_line):
1564         Replace all calls to g_string_append_printf with g_strconcat () or
1565         g_string_append () where appropriate, to reduce the file creation time.
1566         Also, use g_string_sized_new () with an appropriate buffer size instead
1567         of g_string_new (NULL), to reduce time spent in memory reallocation.
1568         (#523877, Claudio Saavedra, Emmanuele Bassi)
1569
1570 2008-03-22  Emmanuele Bassi  <ebassi@gnome.org>
1571
1572         Bug 518160 - replace two g_strdup_printf calls in GBookmarkFile
1573
1574         * glib/gbookmarkfile.c (is_element_full): Compare the fragments
1575         instead of building two strings; this avoids two g_strdup_printf()
1576         per namespaced element enountered. (#518160, Felix Riemann)
1577
1578 2008-03-20  Alexander Larsson  <alexl@redhat.com>
1579
1580         * configure.in:
1581         Final fixes for struct statfs.f_fstypename checks (OpenBSD). (#521045)
1582         Patch from ephraim_owns@hotmail.com
1583
1584 2008-03-19  Tor Lillqvist  <tml@novell.com>
1585
1586         Bug 523298 - win_iconv can't convert from UTF-8 to GB18030 (or vice versa)
1587
1588         * glib/win_iconv.c: Fixes for code page 54936 (GB18030)
1589         (mbtowc_flags): New function. Check if a code page is one of those
1590         for which the dwFlags parameter to MultiByteToWideChar() must be
1591         zero. Return 0 or MB_ERR_INVALID_CHARS.
1592         (mbcs_mblen): New function for multi-byte (more than two bytes for
1593         some characters) code pages. Only handles 54936 for now.
1594         (make_csconv): Use it for 54936.
1595         (kernel_mbtowc): Use mbtowc_flags().
1596
1597 2008-03-18  Sebastian Dröge  <slomo@circular-chaos.org>
1598
1599         Bug 522292 - Gives warnings in glib/gutils.h with GCC in C99 mode
1600
1601         * glib/gutils.h: Use "__attribute__ ((__gnu_inline__))" for inlining
1602         if either __GNUC_STDC_INLINE__ or __GNUC_GNU_INLINE__ are defined. In
1603         gcc version prior to 4.3 no correct C99-inline was implemented which
1604         has semantic differences to GNU inline.
1605
1606 2008-03-16  Tor Lillqvist  <tml@novell.com>
1607
1608         * configure.in: Don't bother defining Autoconf variables for
1609         glib.def, gmodule.def, gobject.def and gthread.def when this can
1610         be handled easily in */Makefile.am which are the only files that
1611         use them. Remove also TESTGMODULE_EXP which isn't used at all.
1612
1613         * glib/Makefile.am: Corrsponding change.
1614         
1615 2008-03-14  Michael Natterer  <mitch@imendio.com>
1616
1617         * glib/*.h: make it possible to disable single-file includes by
1618         defining G_DISABLE_SINGLE_INCLUDES when building against GLib.
1619         Approved by Tim Janik.
1620
1621         * glib/glib.h: include <glib/gslice.h>.
1622
1623         * glib/gi18n.h
1624         * glib/gi18n-lib.h
1625         * glib/gprintf.h: include <glib.h> so the above works when these
1626         files are included without including <glib.h> first.
1627
1628 2008-03-14  Alexander Larsson  <alexl@redhat.com>
1629
1630         * configure.in:
1631         Add required includes for f_fstypename member check.
1632
1633 2008-03-14  Alexander Larsson  <alexl@redhat.com>
1634
1635         * configure.in:
1636         Added checks for FEN (Solaris  File Event Notification)
1637
1638 2008-03-13  Tor Lillqvist  <tml@novell.com>
1639
1640         * glib-zip.in: Add lib/gio-2.0.lib and lib/gio-2.0.def.
1641
1642 2008-03-12  Tor Lillqvist  <tml@novell.com>
1643
1644         * configure.in: Expand gio/win32/Makefile.
1645
1646 2008-03-12  Matthias Clasen <mclasen@redhat.com>
1647
1648         * configure.in: Bump version to 2.17.0
1649
1650         * ChangeLog.pre-2-16: rotate ChangeLog
1651         
1652         * === branch for 2.16 ===