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