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