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