Add G_GUINT64_CONSTANT.
[platform/upstream/glib.git] / ChangeLog.pre-2-12
1 2006-03-08  Tor Lillqvist  <tml@novell.com>
2
3         * glibconfig.h.win32.in: Add G_GUINT64_CONSTANT.
4
5 2006-03-07  Matthias Clasen  <mclasen@redhat.com>
6
7         * configure.in: Bump version
8
9         * ===  Released 2.10.1 ===
10
11         * NEWS: Updates.
12
13         * glib/gutf8.c (_g_charset_get_aliases): Match the prototype
14         in gconvert.c to fix build problems in NetBSD.  (#333651,
15         Julio M. Merino Vidal)
16
17 2006-03-06  Anders Carlsson  <andersca@imendio.com>
18
19         * configure.in:
20         Make .dylib the shared library suffix on darwin.
21         (#322476, Vladimir Panov)
22         
23 2006-03-06  Anders Carlsson  <andersca@imendio.com>
24
25         * configure.in:
26         Skip checking thread flags on Darwin. Fix suggested by Manish Singh.
27         (#314794, Gregor Riepl)
28         
29 2006-03-01  Tor Lillqvist  <tml@novell.com>
30
31         * glib/gutils.c (g_listenv): Separate implementation on Win32: Use
32         the wide character API on NT-based Windows. Return UTF-8 strings.
33
34         * glib/glib.symbols: Don't mark g_listenv as PRIVATE, as that
35         meant it wasn't present in the import library. PRIVATE is used
36         only for the backwards-compatibility DLL ABI stability hacks.
37
38 2006-02-24  Matthias Clasen  <mclasen@redhat.com>
39
40         * configure.in: Bump version
41
42         * === Released 2.10.0 ===
43
44         * README.in: Mention the slice allocator and GInitiallyUnowned.
45
46         * NEWS: Updates
47
48         * configure.in: Bump version to 2.10.0
49
50         * tests/utf8-pointer.c: Add tests for g_utf8_strlen().
51
52         * glib/gutf8.c: Fix boundary cases in g_utf8_strlen().
53         (#332435)
54
55 2006-02-23  Kjartan Maraas  <kmaraas@gnome.org>
56
57         * tests/completion-test.c: (main): Plug leaks reported by
58         valgrind.
59         * tests/convert-test.c: (test_iconv_state), (test_one_half):
60         Same.
61         * tests/patterntest.c: (test_compilation): Same
62         * tests/shell-test.c: (do_argv_test): Same.
63         * tests/unicode-caseconv.c: (main): Same.
64         * tests/uri-test.c: (run_to_uri_tests): Same.
65         Closes bug #332093.
66
67 2006-02-19  Martyn Russell  <martyn@imendio.com>
68         
69         * tests/asyncqueue-test.c: 
70         * tests/list-test.c: 
71         * tests/slist-test.c: Updated to test _sort, _sort_with_data,
72         _insert_sorted and _insert_sorted_with_data API. 
73
74 2006-02-18  Matthias Clasen  <mclasen@redhat.com>
75
76         * tests/gobject/Makefile.am: Add paramspec-test
77
78         * tests/gobject/paramspec-test.c: Some GParamSpec tests. 
79
80         * tests/gobject/gvalue-test.c: Add more tests.
81
82 2006-02-17  Kang Jeong-Hee  <keizie@gmail.com>
83
84         * glib/gutf8.c (g_utf8_find_prev_char): Correct documentation typo.
85
86 2006-02-15  Sebastian Wilhelmi  <seppi@seppi.de>
87
88         * glib/gthreadpool.c: Fix deadlock when signalling the thread
89         which freed a thread pool (#331110, Chris Wilson).
90
91 Tue Feb 14 17:00:43 2006  Tim Janik  <timj@imendio.com>
92
93         * glib/gslice.c: only define _XOPEN_SOURCE to 600 to get at 
94         posix_memalign() in case we actually are going to use it, because
95         we detected a compliant implementation (#328997).
96
97         * configure.in (enable_included_printf): don't include malloc.h when
98         testing for posix_memalign() funcitonality, since this may break the 
99         test on some systems (#328997).
100
101 2006-02-14  Matthias Clasen  <mclasen@redhat.com>
102
103         * glib/gstrfuncs.c: Improve docs.
104
105 2006-02-11  Matthias Clasen  <mclasen@redhat.com>
106
107         * configure.in: Bump version
108
109 2006-02-10  Matthias Clasen  <mclasen@redhat.com>
110
111         * === Released 2.9.6 ===
112
113         * NEWS: Updates
114
115 2006-01-31  Behdad Esfahbod  <behdad@gnome.org>
116
117         * docs/reference/glib/tmpl/relations.sgml (g_relation_insert): Specify
118         the type of varargs arguments. (bug #317679)
119
120 2006-01-31  Matthias Clasen  <mclasen@redhat.com>
121
122         * autogen.sh: Touch README and INSTALL here to pacify 
123         automake.  (#329124, Kjartan Maraas, Tim Janik)
124         
125 Tue Jan 31 16:45:03 2006  Tim Janik  <timj@imendio.com>
126
127         * glib/gdataset.c: carry out all dtalist pointer accesses atomically,
128         some missing cases where pointed out by Sebastian Wilhelmi.
129
130 Tue Jan 31 12:33:48 2006  Tim Janik  <timj@imendio.com>
131
132         * configure.in: generate build/win32/vs8/Makefile, to fix build breakage.
133
134 2006-01-30  David Schleef  <ds@schleef.org>
135
136         * glib/grand.c: Update URL
137
138 2006-01-29  Sven Herzberg  <herzi@gnome-de.org>
139
140         * docs/reference/gobject/tmpl/param_value_types.sgml: tell how to
141         create container classes which are as flexible as a GValue is
142
143 2006-01-27  Matthias Clasen  <mclasen@redhat.com>
144
145         * configure.in: Bump version
146
147         * === Released 2.9.5 ===
148
149         * glib/glib.symbols: Add g_mem_gc_friendly as an exported
150         variable.
151
152         * NEWS: Updates
153
154 2006-01-26  Matthias Clasen  <mclasen@redhat.com>
155
156         * glib/gmem.c (g_mem_init_nomessage): Fix C99isms.  (#328705, 
157         Kazuki Iwamoto)
158
159 Wed Jan 25 19:16:57 2006  Tim Janik  <timj@imendio.com>
160
161         * fixed buglets reported by Jens Granseuer in #328254.
162
163         * configure.in: free the memory allocated in posix_memalign() tests.
164
165         * glib/gslice.c: spelling fixes.
166
167 Wed Jan 25 16:39:18 2006  Tim Janik  <timj@imendio.com>
168
169         * glib/gslice.c: honour g_mem_gc_friendly settings when freeing
170         slices, make sure g_mem_gc_friendly is properly initialized.
171
172         * gmem.[hc]: ensure g_mem_gc_friendly is initialized from G_DEBUG upon
173         the first allocation. applied some branching optimizations.
174
175         * docs/macros.txt: reflected --enable-gc-friendly change and
176         described ENABLE_GC_FRIENDLY_DEFAULT as well as G_DEBUG=gc-friendly.
177
178         * configure.in: changed --enable-gc-friendly=yes to define
179         ENABLE_GC_FRIENDLY_DEFAULT.
180
181         * glib/garray.c: changed ENABLE_GC_FRIENDLY macro #ifdef-s to
182         if (G_UNLIKELY (g_mem_gc_friendly)).
183
184         * glib/gtree.c:
185         * glib/ghash.c: removed ENABLE_GC_FRIENDLY code which is now taken
186         care of by g_slice_free1().
187
188         * tests/slice-test.c: fixed leaks, reported by Kjartan Maraas.
189
190 Tue Jan 24 17:49:36 2006  Tim Janik  <timj@imendio.com>
191
192         * glib/gslice.c: only use posix_memalign() if it's known to work,
193         revert to memalign() otherwise.
194
195         * configure.in: check for broken posix_memalign() implementations
196         to fix #328254.
197
198 2006-01-24  Matthias Clasen  <mclasen@redhat.com>
199
200         * tests/unicode-encoding.c: Use UTF-16LE as target encoding
201         on all little-endian systems.  (#143380, Marc Moorcroft)
202
203 2006-01-23  Matthias Clasen  <mclasen@redhat.com>
204
205         * configure.in: Change the shared libary extension for hpux-ia64
206         to so.  (#328253, The Written Word)
207
208 Mon Jan 23 17:30:33 2006  Tim Janik  <timj@imendio.com>
209
210         * glib/gutils.c (_g_getenv_nomalloc): wiped out all the wonderfull
211         G_OS_WIN32 code i wrote ;-[) after tml told me windows has getenv()
212         as well.
213
214 Mon Jan 23 16:46:20 2006  Tim Janik  <timj@imendio.com>
215
216         * glib/gslice.c (slice_config_init): initialize GSlice config from
217         G_SLICE environment variable. we support G_SLICE=always-malloc
218         currently, which forces all g_slice_*() allocations to use the system
219         malloc instead.
220
221         * glib/gutils.c: 
222         g_parse_debug_string(): added a note about not using g_malloc() here.
223         _g_getenv_nomalloc(): getenv() variant that doesn't use g_malloc or 
224         g_slice. contains only guesswork in the WIN32 branch.
225
226 2006-01-18  Matthias Clasen  <mclasen@redhat.com>
227
228         * Bump version
229         
230         * === Released 2.9.4 ===
231
232         * NEWS: Updates
233
234 2006-01-17  Matthias Clasen  <mclasen@redhat.com>
235
236         * glib/gkeyfile.c (g_key_file_get_groups): Correct a g_new0()
237         call.  (#327421, Morten Welinder)
238
239 2006-01-17  Sebastian Wilhelmi  <seppi@seppi.de>
240
241         * glib/gthreadpool.c: To avoid deadlocks get rid of the settings
242         G_LOCK. Use the unused_thread_queue lock instead. Change
243         g_thread_pool_thread_proxy such that threads only wait on
244         non-exlusive pools for at most a 1/2 second. Do not reorder tasks
245         due to superfluous tasks. Global tasks wait at most for
246         max-idle-time milliseconds. Make sure, that no task is woken up
247         twice for the same event via a wakeup_serial. This fixes #324228.
248
249         * tests/threadpool-test.c: Adapt test accordingly. Do not pass
250         invalid NULL into the thread pools. This as well fixes #327290.
251
252 2006-01-16  Matthias Clasen  <mclasen@redhat.com>
253
254         * configure.in: Bump version
255
256         * === Released 2.9.3 ===
257
258         * NEWS: Updates
259
260         * glib/gthread.h (g_static_mutex_get_mutex_impl_shortcut): 
261         Rework the strict aliasing fix to not break C++, pointed
262         out by Murray Cumming.
263         
264         * glib/gasyncqueue.c (g_async_queue_push_sorted_unlocked):
265         Signal waiting threads, problem noticed by Christian Kellner.
266
267 2006-01-16  Matthias Clasen  <mclasen@redhat.com>
268
269         Fix bug 326747, Alberto Ruiz:
270         
271         * glib/gconvert.c (make_valid_utf8): Change this function to
272         replace unknown characters by the Unicode replacement character
273         instead of '?', and don't append "(invalid encoding)".
274         (g_filename_display_name, g_filename_display_basename): Document
275         how to determine if the filename was in an invalid encoding.
276
277 2006-01-14  Matthias Clasen  <mclasen@redhat.com>
278
279         * glib/gtree.c: Replace the simple recursive implementation
280         by a nonrecursive, threaded implementation by Maurizio 
281         Monge.  (#169285)
282
283 2006-01-12  Matthias Clasen  <mclasen@redhat.com>
284
285         * tests/asyncqueue-test.c (main): Fix the
286         assert to not always trigger.  (#326558, 
287         Daichi Kawahata)
288
289 2006-01-11  Matthias Clasen  <mclasen@redhat.com>
290
291         * tests/convert-test.c: Don't test items_read and
292         items_written in error cases where it is not set.
293
294         * tests/asyncqueue-test.c: Set error to NULL.
295
296 2006-01-08  Matthias Clasen  <mclasen@redhat.com>
297
298         * glib/gtree.c: Break some long lines.
299
300         * tests/tree-test.c: Add more tests.
301
302         * glib/gslice.c: Include config.h first, pointed out
303         by Bogdan Nicula.
304
305 2005-12-20  Sven Herzberg  <herzi@gnome-de.org>
306
307         * docs/reference/gobject/tmpl/gtype.sgml: explain that
308         G_TYPE_INSTANCE_GET_CLASS() does behave different during
309         initialization
310
311 2006-01-06  Matthias Clasen  <mclasen@redhat.com>
312
313         * glib/gslice.c: Only define _XOPEN_SOURCE if we know
314         that we have posix_memalign().  (#323937, Bogdan Nicula)
315
316 2006-01-05  Matthias Clasen  <mclasen@redhat.com>
317
318         * configure.in: Bump version
319
320         * === Released 2.9.2 ===
321
322 2006-01-05  Hans Breuer  <hans@breuer.org>
323
324         * glib/makefile.msc.in : added gslice.obj
325
326 2006-01-05  Matthias Clasen  <mclasen@redhat.com>
327
328         * NEWS: Updates
329
330         * glib/gmain.c: Clarify the documentation of source ids
331         a bit.  (#325874, Dan Williams)
332
333         * configure.in: Fix another strict aliasing problem.
334
335         * glib/gthreadpool.c: Avoid use of varargs macro.  (#325864,
336         Kazuki IWAMOTO)
337
338 2006-01-04  Manish Singh  <yosh@gimp.org>
339
340         * glib/glib.symbols
341         * glib/gstdio.h: don't macroized g_access, g_chdir, and g_unlink
342         either, since they have the same issue as g_rmdir. (Related to
343         bug #325249)
344
345 Wed Jan  4 13:33:25 2006  Tim Janik  <timj@gtk.org>
346
347         * glib/gslice.c (magazine_cache_pop_magazine): don't reverse chunk 
348         order when creating magazines, so we hand out chunks with ascending
349         adresses.
350
351 2006-01-04  Abel Cheung  <maddog@linuxhall.org>
352
353         * configure.in: Added "ml" "zh_HK" to ALL_LINGUAS.
354
355 2006-01-03  Martyn Russell  <martyn@imendio.com>
356
357         * docs/reference/glib/glib-sections.txt:
358         * glib/glib.symbols:
359         * glib/gthreadpool.[ch]:
360         - Added new API g_thread_pool_get_idle_time() and
361         g_thread_pool_set_idle_time(). (#324228).
362         
363         * tests/threadpool-test.c: 
364         - Updated test case to do thread pool sorting, thread pool with
365         no sorting and a thread pool with idle thread timeouts.
366         
367 2006-01-03  Matthias Clasen  <mclasen@redhat.com>
368         
369         * glib/gmain.h: Add new functions here, too.
370
371         * glib/glib.symbols: Add new functions.
372
373 2005-12-20  Michael Meeks  <michael.meeks@novell.com>
374
375         * glib/gmain.c (g_main_context_is_owner): new method
376         to determine if the current thread is the owner of the
377         context.
378
379 2006-01-02  Matthias Clasen  <mclasen@redhat.com>
380
381         * glib/glib.symbols: 
382         * glib/gstdio.h: 
383         * glib/gstdio.c (g_rmdir): Don't provide g_rmdir() as a macro
384         expanding to rmdir, since rmdir is not declared in a portable
385         system header we can include in gstdio.h.  (#325249, Jani Monoses)
386
387 2006-01-01  Tor Lillqvist  <tml@novell.com>
388
389         * glib/gspawn-win32.c (g_spawn_sync_utf8): Set the GIOChannels for
390         stdout and stderr to unbuffered. Otherwise the giochannel layer
391         will try to read from them regardless whether the
392         g_io_channel_win32_poll() call here has indicated
393         readability or not. (#325310)
394
395 2005-12-29  Matthias Clasen  <mclasen@redhat.com>
396
397         * glib/gutils.c (glib_check_version): Fix a copy-and-paste error
398         in the docs.  (#325273, Declan Naughton)
399
400 2005-12-27  Manish Singh  <yosh@gimp.org>
401
402         * tests/run-collate-tests.sh: use LC_ALL instead of LC_COLLATE, to
403         make sure we really override things.
404
405 2005-12-27  Matthias Clasen  <mclasen@redhat.com>
406         
407         Fix #316221, Michal Benes, Stanislav Brabec;
408
409         * configure.in: Fix a strict aliasing problem in 
410         g_static_mutex_get_mutex(). 
411         * glib/gthread.h: ...and in 
412         g_static_mutex_get_mutex_impl_shortcut().
413
414         * glib/gdatasetprivate.h: Add a cast to silence compiler
415         warnings.  (#321978, Andrew Paprocki)
416
417         Partial fix for bug #323937, Bogdan Nicula.
418
419         * configure.in: Check for malloc.h
420         * glib/gslice.c: Don't include malloc.h unconditionally.
421
422 2005-12-27  Manish Singh  <yosh@gimp.org>
423
424         * tests/run-collate-tests.sh: export LC_COLLATE so it takes.
425         (#324950, Dan Yefimov)
426
427 2005-12-26  Matthias Clasen  <mclasen@redhat.com>
428
429         * glib/gslice.c: On Win32, include process.h  (#325015, Kazuki
430         Iwamoto)
431
432 2005-12-25  Matthias Clasen  <mclasen@redhat.com>
433
434         * AUTHORS: Update my email
435
436         * tests/slice-test.c: Fix C99isms.  (#324950, Dan Yefimov)
437
438 2005-12-21  Matthias Clasen  <mclasen@redhat.com>
439         
440         * README.in: Add some notes on when 'make check' may fail.
441
442 2005-12-20  Matthias Clasen  <mclasen@redhat.com>
443
444         * glib/glib.symbols: 
445         * glib/gthreadpool.h: 
446         * glib/gthreadpool.c (g_thread_pool_set_sort_function): New function
447         to sort tasks pushed into a threadpool.  (#324479, Martyn Russell)
448
449         * tests/threadpool-test.c: Test this.
450
451 Tue Dec 20 18:14:14 2005  Tim Janik  <timj@imendio.com>
452
453         * glib/gslice.[hc]: added mem_error() and mem_assert() to test and 
454         handle  errors without depending on gmessage.c which might not be
455         setup when the error occours.
456         removed G_SLICE_CONFIG_ALWAYS_FREE config option, fixed the code so
457         always freeing can be achieved by adjusting the working set time to
458         0 with G_SLICE_CONFIG_WORKING_SET_MSECS.
459         added G_SLICE_CONFIG_COLOR_INCREMENT to test different color increments
460         (mainly 0 and 1). reduced the minimum block size to 128 bytes, to
461         minimize wastage if small amounts of differently sized structrues are
462         allocated, this does come at a performance cost of roughly 5% though.
463         fixed up block alignment calculation, so it works for varying
464         block sizes. only use strerror() not g_strerror() since the latter
465         depends on working GQuark and GSlice.
466         mem_error(): implemented in terms of fprintf and vfprintf.
467
468         * tests/slice-color.c: new program to test cache colorization effects.
469
470         * tests/slice-test.c: trade G_SLICE_CONFIG_ALWAYS_FREE for 0 duration
471         G_SLICE_CONFIG_WORKING_SET_MSECS.
472
473 2005-12-17  Matthias Clasen  <mclasen@redhat.com>
474
475         * glib/goption.c (parse_short_option): Set an error in all
476         failure cases.  (#324332, Tim-Philipp Müller) 
477
478 2005-12-17  Sebastian Wilhelmi  <seppi@seppi.de>
479
480         * glib/gatomic.c: Fix memory barrier position in g_atomic_int_get
481         and g_atomic_pointer_get. Add g_atomic_int_set and
482         g_atomic_pointer_set implementations for the !DEFINE_WITH_MUTEXES &&
483         G_ATOMIC_OP_MEMORY_BARRIER_NEEDED case, as well as defining them
484         as functions (additionally to the macros in the header) for the 
485         !G_ATOMIC_OP_MEMORY_BARRIER_NEEDED case.
486
487 2005-12-16  Matthias Clasen  <mclasen@redhat.com>
488
489         *  glib/gmem.c (g_allocator_new): Don't return a pointer to
490         a const struct, since apps expect to be able to modify it. 
491         (#324179, J. Ali Harlow)
492
493 Tue Dec 13 10:13:32 2005  Tim Janik  <timj@imendio.com>
494
495         * glib/gatomic.h: added g_atomic_pointer_set() and g_atomic_int_set()
496         for systems where the initialization of atomic variables requires a
497         write memory barrier.
498
499 2005-12-09  Matthias Clasen  <mclasen@redhat.com>
500
501         * configure.in: Bump version
502
503         * === Released 2.9.1 ===
504
505 2005-12-09  Alexander Larsson  <alexl@redhat.com>
506
507         * glib/glist.h: 
508         * glib/gslist.h:
509         Use G_GNUC_WARN_UNUSED_RESULT on list functions that return
510         the whole list.
511
512 2005-12-08  Matthias Clasen  <mclasen@redhat.com>
513
514         * NEWS: Updates
515
516 2005-12-07  Martyn Russell  <martyn@imendio.com>
517
518         * glib/gasyncqueue.c:
519         - Call g_queue_insert_sorted() instead of duplicating the code.
520         - Call g_queue_sort() instead of duplicating the code.
521         - Invert sort function results to make sure the same sort function
522         gives the same results across glist, gslist, gqueue and
523         gasyncqueue.
524
525         * tests/asyncqueue-test.c:
526         - Updated the sort function to reflect the example in the
527         documentation for gasyncqueue.c.
528
529 2005-12-07  Martyn Russell  <martyn@imendio.com>
530
531         * docs/reference/glib/glib-sections.txt:
532         * docs/reference/glib/tmpl/linked_lists_double.sgml:
533         * docs/reference/glib/tmpl/linked_lists_single.sgml:
534         * glib/glist.[ch]: 
535         * glib/gslist.[ch]: 
536         - Added g_list_insert_sorted_with_data () and
537         g_slist_insert_sorted_with_data ().
538         - Removed the extra check in g_list_sort() and g_slist_sort() for
539         GCompareDataFunc vs. GCompareFunc.
540         
541 2005-12-07  Tor Lillqvist  <tml@novell.com>
542
543         * glib-gettextize.in: Look up prefix at run-time on Win32,
544         assuming the standard directory structure with glib-gettextize in
545         $prefix/bin.
546
547 2005-12-06  Matthias Clasen  <mclasen@redhat.com>
548
549         * glib/gmem.h: Exempt GTK+ from the mem chunk deprecation, since
550         we need GTK+ 2.8 to compile against GLib 2.10.
551
552 2005-12-05  Manish Singh  <yosh@gimp.org>
553
554         * tests/run-collate-test.sh: set LC_COLLATE, not LANG, to be sure
555         to override any user settings.
556
557 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
558
559         * configure.in: Revert an accidential commit
560
561 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
562
563         * glib/gutf8.c: Documentation updates.  (#323291, Morten Welinder)
564
565         * tests/Makefile.am (TESTS_ENVIRONMENT): 
566         * tests/gobject/Makefile.am (TESTS_ENVIRONMENT): Set
567         MALLOC_CHECK_ and MALLOC_PERTURB_
568
569         * tests/run-collate-tests.sh: Run the collation tests explicitly 
570         in en_US locale. (#320463)
571
572         * glib/gmem.h: Really deprecate GMemChunk.
573
574         * glib/gdate.c: 
575         * glib/gutils.c: 
576         * glib/gtree.c: 
577         * glib/gstring.c: 
578         * glib/giochannel.c: 
579         * glib/gstrfuncs.c: Add versioned deprecation docs. 
580
581 2005-12-05  Martyn Russell  <martyn@imendio.com>
582
583         * docs/reference/glib/glib-sections.txt:
584         * glib/gasyncqueue.[ch]:
585         - Added support for sorting async queues by with _push_sorted(),
586         _push_sorted_unlocked(), _sort() and _sort_unlocked() (#323047).
587         
588         * tests/Makefile.am:
589         * tests/asyncqueue-test.c:
590         - Added test case for gasyncqueue.c
591
592 Mon Dec  5 15:53:20 2005  Tim Janik  <timj@imendio.com>
593
594         * glib/gslice.c: implement chain walking for arbitrary ->next pointer
595         offsets in g_slice_free_chain_with_offset() based on a patch by behdad
596         in bug 323178. moved time consuming logic from g_slice_free() out of
597         the inner loop, so g_slice_free_chain_with_offset() provides a real
598         performance benefit over g_slice_free1() now.
599         
600         * glib/gslice.h: renamed g_slice_free_chain() to
601         g_slice_free_chain_with_offset(). implemented g_slice_free_chain() as
602         a type-safe macro as suggested in bug 323178.
603         simplified the macro implementation of g_slice_free() and implemented
604         it in a type safe manner for all compliers as suggested by Morten
605         Welinder <mortenw@gnome.org>.
606
607         * glib/gmain.c:
608         * glib/glist.c:
609         * glib/gslist.c:
610         * glib/glib.symbols: s/g_slice_free_chain/g_slice_free_chain_with_offset/
611
612 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
613
614         * glib/gasyncqueue.c: Add some docs.
615
616         * tests/libmoduletestplugin_a.c: Fix compiler warnings.
617
618         * glib/gatomic.c: In the ia64 implementation, use
619         __sync builtin without _si or _di suffix.  (#321229,
620         Stanislav Brabec, patch by Andreas Schwab)
621
622 2005-12-04  Behdad Esfahbod  <behdad@gnome.org>
623
624         * glib/gslice.h: Remove comma at the end of enum.
625
626 2005-12-04  Matthias Clasen  <mclasen@redhat.com>
627
628         Handle multiple user names with the same UID better.
629         (#319535, Laszlo Peter)
630         
631         * glib/gutils.c (g_get_any_init_do): When determining user
632         data, first look up $LOGNAME. If the UID doesn't match
633         getuid(), fall back to the current behaviour of looking
634         up the user data based on getuid().
635
636 2005-12-04  Matthias Clasen  <mclasen@redhat.com>
637
638         * glib/gmacros.h (G_GNUC_WARN_UNUSED_RESULT): Add a macro
639         to make gcc warn if a function result is ignored.  (#145466,
640         Arjan van de Ven, Alex Larsson)
641
642         * glib/gmem.h: Add the new attribute to g_realloc and 
643         g_try_realloc.
644
645 2005-12-03  Matthias Clasen  <mclasen@redhat.com>
646
647         * glib/glib.symbols: 
648         * glib/gcache.h: Deprecate g_cache_value_foreach. (#322956,
649         Nicolas Caniart)
650
651         * glib/gmappedfile.c: Make mapping of empty files
652         work.  (#321530)
653         
654         * glib/gfileutils.c: Don't fork a new process just to 
655         fix the permissions of the created temp file.  (#321318,
656         Alexis S. L. Carvalho)
657
658 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
659
660         * README.in: Add a note about Solaris threads.
661
662         * glib/gspawn.c:
663         * configure.in: Remove support for Solaris threads. 
664         (#136971, Sebastian Wilhelmi, patch by Andrew Paprocki)
665
666 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
667
668         * configure.in: Define G_GUINT64_CONSTANT in analogy to
669         G_GINT64_CONSTANT.  (#322568, Andrew Paprocki)
670
671 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
672
673         * glib/gslice.c: Win32 portability fixes and C99ism removal,
674         pointed out by Kazuki Iwamoto.  (#323052)
675         
676 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
677
678         * glib/gatomic.c (g_atomic_int_add): Add a missing volatile for
679         the IA64 implementation.
680
681 Fri Dec  2 16:18:09 2005  Tim Janik  <timj@imendio.com>
682
683         * glib/gslice.c: some naming and type size fixups.
684
685 Fri Dec  2 13:08:58 2005  Tim Janik  <timj@gtk.org>
686
687         * glib/gslice.h (g_slice_free): reworked GCC-specific type-safe macro
688         variant into something less verbose, but digestible for gcc-3.4.
689
690 Fri Dec  2 10:55:07 2005  Tim Janik  <timj@imendio.com>
691
692         * tests/slice-test.c: extended to perform the benchmarking on the old
693         memchunk code if 'O' is selected.
694
695         * tests/memchunks.c: new file which contains the old GLib mem chunks
696         implementation with prefix old_mem_chunk_.
697
698         * tests/Makefile.am: added memchunks.c
699
700 Fri Dec  2 00:16:59 2005  Tim Janik  <timj@imendio.com>
701
702         * glib/gslice.c: improved gettimeofday() timer resolution by maintaining
703         acceptable load distribution of the syscall.
704         (allocator_get_magazine_threshold): reduce minimum/single-thread magazine
705         sizes to approximately page_size/2.5 to avoid excessive startup allocations.
706
707 2005-12-01  Matthias Clasen  <mclasen@redhat.com>
708
709         * tests/gobject/ifacecheck.c (test_iface_base_init): Don't
710         double-free base interface members.
711
712         * tests/Makefile.am: Remove duplicate variable.
713
714 Thu Dec  1 17:32:46 2005  Tim Janik  <timj@imendio.com>
715
716         * glib/gslice.[hc]: new slice allocator implementation.
717
718         * tests/slice-test.c: added random slice allocation test.
719
720         * glib/gthread.[hc]: removed newly added private thread mem API.
721
722         * glib/gthreadinit.h:
723         * glib/gmessages.c:
724         * glib/gthread.c:
725         * glib/gmem.c: divided glib threading initialisation into three phases,
726         initialisation where private keys and messaging are not available (only
727         needed by gmem.c), initialisation without messaging but private keys
728         available (gslice.c, gmessage.c), and full fledged initialisers that
729         server the rest of glib. initialisation functions got renamed to reflect
730         the limitations of their corresponding phases.
731
732         * glib/gmem.c: removed memchunk code, defer allocations to 
733         g_slice_* instead.
734
735         * glib/gmem.[hc]: removed g_slice_* skeletons.
736
737         * glib/glib.symbols: added g_slice_* symbols.
738
739         * configure.in: check for availability of posix_memalign(3), memalign(3)
740         and valloc(3). 
741
742         * glib/Makefile.am: added gslice.[hc].
743
744 2005-12-01  Tor Lillqvist  <tml@novell.com>
745
746         * glib/gstdio.c (g_stat): In the Win32 implementation, strip
747         trailing slash(es) for non-root folders. stat() fails if non-root
748         folders are specified with trailing slashes. It's too much hassle
749         to demand that callers strip such slashes themselves, especially
750         as it is easy to get it wrong and strip the slash of a root
751         folder.
752         (g_rename): On NT-based Windows, use MoveFileEx() with
753         MOVEFILE_REPLACE_EXISTING to better match Unix behaviour.
754
755 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
756
757         Fix G_STMT_START / G_STMT_END on Solaris.  (#321972,
758         Andrew Paprocki)
759         
760         * configure.in: Check whether do { } while (0) works.
761
762         * glib/gmacros.h: Use do { } while (0) for G_STMT_START / 
763         G_STMT_END if it works.
764         
765 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
766
767         * glib/gthread.c (g_static_rw_lock_wait, g_static_rw_lock_signal): 
768         * glib/gnode.c (g_node_depth_traverse_level): 
769         * glib/gmem.c (g_allocator_new): 
770         * glib/ghash.c (g_hash_table_unref, g_hash_table_destroy) 
771         (g_hash_table_foreach_remove_or_steal): Silence compiler
772         warnings.
773
774 2005-11-27  Matthias Clasen  <mclasen@redhat.com>
775
776         * glib/gunicollate.c (g_utf8_collate_key_for_filename): 
777         Don't read beyond len.  (#322520, Christian Persch)
778
779 Wed Nov 23 17:34:01 2005  Tim Janik  <timj@imendio.com>
780
781         * glib/gdataset.c: access datalist flags via atomic pointer access
782         functions, instead of acquiring the dataset lock. this is faster and
783         also matches the atomic pointer readouts in gdatalistprivate.h and
784         direct pointer modifications required by gobject.c.
785
786 Wed Nov 23 13:35:31 2005  Tim Janik  <timj@gtk.org>
787
788         * glib/gdataset.c: streamlined initialization code somewhat,
789         removed GData node cache.
790
791 2005-11-22  Matthias Clasen  <mclasen@redhat.com>
792
793         * glib/ghash.c (g_hash_table_ref): 
794         (g_hash_table_unref): Mark these as new API.
795
796         Avoid double locking in g_intern_string (#322133,
797         Benedikt Meurer)
798
799         * glib/gdataset.c (g_quark_from_string_internal): New 
800         internal function which factors out common parts of 
801         g_quark_from[_static]_string.
802         (g_quark_from_string, g_quark_from_static_string):
803         Use g_quark_from_string_internal.
804         (g_intern_string, g_intern_static_string): Use
805         g_quark_from_string_internal, and only take the
806         lock once.
807         (g_quark_new): Don't store the strings shifted by -1
808         in the g_quarks array.
809         (g_quark_to_string): Adapt to the previous change.
810
811 Tue Nov 22 14:04:26 2005  Tim Janik  <timj@imendio.com>
812
813         * glib/ghash.h: 
814         * glib/ghash.c: 
815         g_hash_table_new_full(): create hash tables with a ref count of 1.
816         g_hash_table_ref(): atomically ref_count+=1
817         g_hash_table_unref(): atomically ref_count-=1, destroys hash table
818         when refcount reaches 0.
819         g_hash_table_destroy(): just destroy keys and values, unref by 1.
820         g_hash_table_insert(): 
821         g_hash_table_replace(): assert ref_count>0.
822
823         * glib/gatomic.h: 
824         * glib/gatomic.c: added 'volatile' qualifier to all atomic pointer and
825         integer pointers.
826
827 2005-11-20  Behdad Esfahbod  <behdad@gnome.org>
828
829         * glib/guniprop.c (g_unichar_get_mirror_char): Remove unused
830         variables. (#321984, Andrew Paprocki)
831
832 2005-11-18  Matthias Clasen  <mclasen@redhat.com>
833
834         * configure.in: Bump version
835
836 2005-11-17  Matthias Clasen  <mclasen@redhat.com>
837
838         * === Released 2.9.0 ===
839
840         * glib/glib.symbols: Updates
841
842         * glib/gutf8.c (g_utf8_offset_to_pointer): Add some performance
843         hints to the docs. (Paolo Borelli)
844         
845         * NEWS: Updates
846
847         * glib/gthread.c (g_thread_foreach): Mark as new api.
848
849         * README.in: Updates.
850
851         * glib/glib.symbols: 
852         * glib/gdate.h: 
853         * glib/gdate.c (g_date_set_time_t): 
854         (g_date_set_time_val): Add functions to set a date from
855         a time_t and from a GTimeVal.
856         (g_date_set_time): Deprecate.  (#314067, Roger Leigh)
857         
858         * tests/Makefile.am:
859         * tests/utf8-pointer.c: Unit tests for g_utf8_pointer_to_offset
860         and g_utf8_offset_to_pointer.
861
862         * glib/gutf8.c (g_utf8_pointer_to_offset) 
863         (g_utf8_offset_to_pointer): Handle negative offsets, and use
864         "stutter stepping" for going backwards. (#320638, Larry
865         Ewing)
866
867         * glib/gbacktrace.c:
868         * glib/gdate.c:
869         * glib/gthread.c: const correctness fixes, found
870         by Arjan van de Ven and gcc.
871         
872 2005-11-16  Behdad Esfahbod  <behdad@gnome.org>
873
874         * docs/reference/glib/tmpl/unicode.sgml: Correct typo on mentioning
875         @G_UNICODE_BREAK_UNKNOWN that should be #G_UNICODE_BREAK_UNKNOWN.
876
877 2005-11-09  Behdad Esfahbod  <behdad@gnome.org>
878
879         * glib/guniprop.c: Use bit hacks instead when checking a general
880         category value against multiple values.
881
882         * glib/gutf8.c: Change ISO10646 to Unicode in docs.
883
884 2005-11-10  Simos Xenitellis  <simos@gnome.org>
885
886         * configure.in: Added tt (Tatar) to ALL_LINGUAS.
887
888 2005-11-05  Tor Lillqvist  <tml@novell.com>
889
890         * glib/giowin32.c (g_io_win32_set_flags): Don't call g_warning().
891         (#320688) Instead set error and return failure.
892
893 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
894
895         * glib/gmain.c (g_main_dispatch): Don't call cb_funcs->unref
896         while holding the context lock.  (#320886, Andy Wingo)
897
898 2005-11-07  Billy Biggs <vektor@dumbterm.net>
899
900         * tests/refcount/Makefile.am: Add a missing reference to libglib
901         in the LDADD for this test.
902
903 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
904
905         * glib/gmem.c (g_allocator_new): We need to set n_preallocs to a
906         nonzero value, otherwise GTK+ 2.8 breaks when compiled against
907         GLib 2.9.  (#320755, Luca Ferretti)
908
909 2005-11-04  Matthias Clasen  <mclasen@redhat.com>
910
911         * glib/Makefile.am: Apply a patch from Behdad Esfahbod to 
912         use a faster lookup table for g_unichar_get_mirror_char().
913         * glib/gmirroringtable.h: The new table.
914         * glib/gunichartables.h: Remove bidi_mirroring_table.
915         * glib/gen-unicode-tables.pl: Don't generate the mirroring
916         table.
917         * glib/glib-mirroring-tab/*: Sources for the program
918         which generated gmirroringtable.h.
919
920         * glib/glist.c: Avoid some code duplication.
921
922         * glib/gscanner.h: Include gdataset.h.  (#320322)
923
924         * glib/gdebug.h: add new GDebugFlag for fatal_criticals
925         * glib/gmessages.c: (_g_debug_init): handle G_DEBUG=fatal_criticals,
926         to help find critical warnings in applications.  (#320017,
927         Vincent Untz)
928
929 2005-11-02  Tor Lillqvist  <tml@novell.com>
930
931         * glib/glib.symbols: Remove large amount of trailing whitespace
932         from one line. Remove #ifdef G_UNDEFINED from around
933         g_hash_table_new and g_hash_table_new_full symbols, what was the
934         purpose of that? Add the g_slice functions.
935
936 Tue Nov  1 16:24:20 2005  Tim Janik  <timj@imendio.com>
937
938         * glib/gmem.[hc]: prepared deprecation of GMemChunk and GAllocator.
939         added g_slice_*() API to allocate and cache small bits of memory.
940         an actuall allocator implementation for g_slice_*() is still pending.
941
942         * glib/gthread.[hc]: changes from a patch by Matthias Clasen.
943         changed GRealThread list to use in-structure *next; fields instead
944         of GSList, in order for thread iteration to not depenend on g_slice_*()
945         indirectly.
946         _g_thread_mem_private_get():
947         _g_thread_mem_private_set(): added accessors for private memory,
948         needed because the ordinary GPrivate implementation relies on GArray
949         and GSList and therefore indirectly on working g_slice_*() allocations.
950
951         * glib/gthread.[hc]:
952         g_thread_foreach(): new public API function to loop over all existing threads.
953
954         * glib/gdataset.c:
955         * glib/gstring.c:
956         * glib/gcache.c:
957         * glib/garray.c: 
958         * glib/gqueue.c:
959         * glib/gslist.c:
960         * glib/glist.c:
961         * glib/ghash.c:
962         * glib/gtree.c:
963         * glib/ghook.c:
964         * glib/gmain.c:
965         * glib/gnode.c:
966         removed GAllocator and free list usages and accompanying locks.
967         use g_slice_*() API to allocate and cache small bits of memory.
968
969         * glib/ghook.h: removed GMemChunk field from public API.
970
971         * glib/gslist.h:
972         * glib/glist.h: deprecate allocator API, provide _free1() for consistency.
973
974         * glib/gnode.h: deprecate allocator API.
975
976         * glib/gmain.c: reordered GPollRec fields so g_slice_free_chain() can
977         be used for poll rec lists.
978
979         * glib/grel.c: removed mem chunk usage, and allocated tuples via g_slice_*().
980         g_relation_destroy(): free all tuples from the all_tuples hash table,
981         this effectively maintains the life time track keeping of tuples.
982         g_relation_delete_tuple(): free tuples which are removed from the
983         all_tuples hash table. this fixes a temporary leak that was present
984         in the memchunk code until the destruction of the relation.
985
986 2005-10-29  Matthias Clasen  <mclasen@redhat.com>
987
988         * tests/convert-test.c: Add some tests for conversions between
989         UTF-8, UCS-4 and UTF-16.
990
991         * glib/gutf8.c (g_utf8_to_ucs4, g_utf8_to_utf16): Fix handling
992         of len == -1, noticed by Morten Welinder.
993
994 2005-10-27  Erdal Ronahi  <erdal.ronahi@gmail.com>
995
996         * configure.in: Added ku (Kurdish) to ALL_LINGUAS
997
998 2005-10-26  Matthias Clasen  <mclasen@redhat.com>
999
1000         * glib/gutf8.c (g_ucs4_to_utf8): Don't set items_read twice
1001         in the error case, and add some documentation.  (#319806, Morten
1002         Welinder)
1003
1004 2005-10-19  Manish Singh  <yosh@gimp.org>
1005
1006         * configure.in: Use AC_CHECK_FUNCS for _NSGetEnviron, to get the
1007         config.h symbol automatically. Fixes bug #313731.
1008
1009 2005-10-19  Tor Lillqvist  <tml@novell.com>
1010
1011         * glib/gwin32.c (g_win32_get_package_installation_directory):
1012         Return a g_strdup()ed copy of the value stored in the hash table,
1013         so that it can be g_free()d without leaving a dangling pointer in
1014         the hash table. (#319232)
1015
1016 2005-10-06  Matthias Clasen  <mclasen@redhat.com>
1017
1018         * glib/gunicollate.c (g_utf8_collate_key_for_filename): Handle
1019         all-zero sequences correctly.  (#317930, Sebastien Bacher)
1020
1021 2005-10-05  Matthias Clasen  <mclasen@redhat.com>
1022
1023         * glib/gmarkup.c (g_markup_escape_text): Doc addition
1024
1025         * Makefile.am: Add Collation tests.
1026
1027         * tests/collate/*: Inputs and expected outputs for collation tests.
1028
1029         * tests/run-collate-tests.sh: Script to run collation tests.
1030
1031         * tests/unicode-collate.c (main): Rework slightly to make
1032         it usable in unit tests. Also test g_utf8_collate_key_for_filename().
1033
1034 2005-10-01  Behdad Esfahbod  <behdad@gnome.org>
1035
1036         * docs/reference/glib/tmpl/unicode.sgml:
1037         * glib/gen-unicode-tables.pl:
1038         * glib/gunibreak.h:
1039         * glib/gunichartables.h:
1040         * glib/gunicode.h:
1041         * tests/casefold.txt:
1042         * tests/casemap.txt: Updated to Unicode 4.1.  There are five new
1043         GUnicodeBreakType types.  That may break some applications, like
1044         Pango <= 1.10.
1045
1046 2005-09-26  Matthias Clasen  <mclasen@redhat.com>
1047
1048         * glib/gstrfuncs.c (g_ascii_strtoull): Add details to the 
1049         docs.  (#314393, Matthew F. Barnes)
1050
1051         * glib/glib.symbols:
1052         * glib/gprintf.h: Remove g_snprintf() and g_vsnprintf(), since
1053         they are already declared in glib.h. This doesn't break documented
1054         use of gprintf.h, but should probably be pointed out in the 
1055         release notes for 2.10. (#314232, Behdad Esfahbod)
1056
1057 Tue Sep 20 13:16:04 2005  Tim Janik  <timj@imendio.com>
1058
1059         * glib/gpattern.c (g_pattern_ph_match): applied significant recursion
1060         complexity optimization, based on a patch from Matthias Clasen.
1061
1062         * tests/patterntest.c: more tests, mostly from matthias.
1063
1064 2005-09-20  Matthias Clasen  <mclasen@redhat.com>
1065
1066         * glib/gqueue.c (g_queue_insert_sorted): Correct the docs.
1067         (#316703, Mark Drago)
1068
1069 Mon Sep 19 17:23:23 2005  Tim Janik  <timj@imendio.com>
1070
1071         * glib/gpattern.c: applied a patch from matthias which checks on the
1072         upper bound of GPatternSpec length to optimize matches.
1073         cosmetic fixups.
1074
1075         * tests/patterntest.c: added more match cases.
1076
1077 2005-09-16  Tor Lillqvist  <tml@novell.com>
1078
1079         * glib/gstrfuncs.c (g_ascii_strcasecmp, g_ascii_strncasecmp): Add
1080         warning to doc comment that these functions should not be used on
1081         encodings like CP932.
1082
1083 2005-09-14  Matthias Clasen  <mclasen@redhat.com>
1084
1085         * tests/keyfile-test.c: Add a test for grup names of length 1.
1086
1087         * glib/gkeyfile.c (g_key_file_line_is_group): Accept group names
1088         of length 1.  (#316309)
1089         
1090 2005-09-12  Matthias Clasen  <mclasen@redhat.com>
1091
1092         * glib/gmarkup.c (g_markup_escape_text): Clarify docs.
1093
1094 2005-09-11  Sebastian Wilhelmi  <seppi@seppi.de>
1095
1096         * tests/refcount/Makefile.am (INCLUDES): Link the the refcount
1097         tests to the system thread library $(G_THREAD_LIBS). Fixes #313744
1098         and #314217.
1099
1100 2005-09-11  Kjartan Maraas  <kmaraas@gnome.org>
1101
1102         * glib/gmain.c: (g_child_watch_prepare), (g_child_watch_check),
1103         (child_watch_helper_thread): Remove some dead code. Closes
1104         bug #315278.
1105
1106 2005-09-07  Tor Lillqvist  <tml@novell.com>
1107
1108         * glib/Makefile.am: Create also a console version of the
1109         gspawn-win32-helper program, gspawn-win32-helper-console.exe.
1110         It's otherwise identical to gspawn-win32-helper.exe, except marked
1111         as a console application (linked without the -mwindows option).
1112         
1113         * glib/gspawn-win32.c (do_spawn_directly, do_spawn_with_pipes):
1114         Drop the dont_wait parameter. Its truth value correlated 100% with
1115         the NULLness of the exit_status parameter anyway, so it's enough
1116         to check whether exit_status is NULL. Invert the sense of the
1117         dont_return_handle parameter and rename it to do_return_handle, to
1118         make the code easier to read by avoiding double negations.
1119
1120         (g_spawn_sync_utf8, g_spawn_async_with_pipes_utf8): Modify calls
1121         to do_spawn_with_pipes() accordingly.
1122
1123         (do_spawn_with_pipes): If we have a console, use the console
1124         version of the helper program, otherwise use the GUI one. This
1125         avoids extra console windows opening up in some situations. (In
1126         case a console application uses the GUI gspawn-win32-helper.exe to
1127         spawn another console application we would get a separate console
1128         for the spawned console application).
1129
1130         * glib-zip.in: Distribute also gspawn-win32-helper-console.exe.
1131
1132 2005-09-05  Matthias Clasen  <mclasen@redhat.com>
1133
1134         * glib/gmappedfile.c (g_mapped_file_new): Report an error
1135         if the file is too large.  (#315275, Kjartan Maraas)
1136
1137         * glib/gkeyfile.c (g_key_file_load_from_fd): The return value
1138         of read() is signed.  (#315273, Kjartan Maraas)
1139         
1140 2005-08-31  Tor Lillqvist  <tml@novell.com>
1141
1142         * glib/gutils.h: Wrapping atexit() is a bad idea on Windows, where
1143         the EXE and each DLL have their own atexit function chains.
1144
1145         #define g_atexit as atexit instead. This means it has a
1146         better chance of doing what the caller wants. For instance,
1147         gtkhtml calls g_atexit() registering a function in gtkhtml
1148         itself. This caused a crash when g_atexit() was implemented as a
1149         function in the GLib DLL. The gtkhtml DLL was already unloaded by
1150         the time the GLib DLL got unloaded.
1151
1152         * glib/gutils.c: #undef the #define mentioned above, to also get a
1153         real g_atexit() into the DLL for backward compatibility. Document
1154         the Windows behaviour of g_atexit(), and document the varying ways
1155         atexit() can behave in the context of dynamically loaded modules
1156         on Unix.
1157
1158 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
1159
1160         * glib/glib.symbols: 
1161         * glib/gquark.h: 
1162         * glib/gdataset.c: Add string interning functions.
1163
1164 2005-08-28  Matthias Clasen  <mclasen@redhat.com>
1165
1166         * glib/giochannel.c: Unify some near-duplicate strings. (#314654,
1167         Clytie Siddall)
1168         
1169 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
1170
1171         * configure.in: Bump version to 2.9.0
1172
1173 2005-08-25  Tor Lillqvist  <tml@novell.com>
1174
1175         Make also the g_spawn*() functions take parameters in the GLib
1176         file name encoding, i.e. UTF-8, on Windows. Has no impact on Unix
1177         API or ABI. Like the other GLib API that was earlier changed to
1178         use UTF-8 on Windows, the names of the functions that take UTF-8
1179         have _utf8 suffixes added by using preprocessor macros in the
1180         header file. The old names are kept for functions with the old
1181         behaviour, taking parameters in the system codepage, for DLL ABI
1182         stability.
1183         
1184         * glib/gspawn.h: On Win32 add the suffix _utf8 to the names of the
1185         g_spawn*() functions.
1186         
1187         * glib/gspawn-win32.c: Use wide-char API on NT-based
1188         Windows. Convert parameters from UTF-8 to wide chars (NT) or
1189         system codepage (Win9x) and call the C library _wspawn*() or
1190         spawn*() functions respectvely. Add DLL ABI stability versions
1191         that take parameters in the system codepage.
1192
1193         * glib/gspawn-win32-helper.c: On NT-based Windows use the
1194         wide-char versions of argv and envp, and use wide-char API to
1195         change directory and spawn the program to run. Remove the verbose
1196         debugging output, it was too complex to modify for the wide-char
1197         features. (Just add temporary debugging printouts if needed, no
1198         need to have them permanently in the source.)
1199
1200         * glib/gspawn.c: Corresponding documentation updates.
1201
1202         * glib/glib.symbols: Corresponding changes: Mark the ABI stability
1203         symbols as PRIVATE, add the new _utf8-suffixed ones.
1204
1205 2005-08-24  Stepan Kasal  <kasal@ucw.cz>
1206
1207         * glib/gtypes.h (G_MININT64): Cast the constant to gint64; it is
1208         guint64 otherwise and that can produce warnings about comparison
1209         between signed and unsigned.
1210
1211 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
1212
1213         * glib/gutils.c: Fix the crt_externs.h include.
1214
1215 2005-08-23  Stepan Kasal  <kasal@ucw.cz>
1216
1217         * NEWS: Fix spelling of my first name.
1218
1219 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
1220
1221         * Bump version
1222
1223         * === Released 2.8.1 ===
1224
1225         * NEWS: Updates
1226
1227 2005-08-20  Hans Breuer  <hans@breuer.org>
1228
1229         * glib/makefile.msc.in : link with ws2_32.lib
1230
1231 2005-08-18  Tor Lillqvist  <tml@novell.com>
1232
1233         * configure.in: Check for <sys/wait.h>
1234
1235         * glib/gbacktrace.c: Include <sys/wait.h> on if HAVE_SYS_WAIT_H.
1236
1237 2005-08-18  Ross Burton  <ross@burtonini.com>
1238
1239         * glib/gstring.c:
1240         Optimise single-character insertions.
1241         
1242         * glib/gutf8.c:
1243         Note copied code.
1244         
1245         * tests/string-test.c:
1246         Add tests for new optimisation, and fix a leak.
1247
1248 2005-08-17  Matthias Clasen  <mclasen@redhat.com>
1249
1250         * configure.in: Check for crt_externs.h and _NSGetEnviron.
1251
1252         * glib/gutils.c: On Darwin, include crt-externs.h and
1253         define environ using _NSGetEnviron().  (#313731)
1254
1255 2005-08-16  Stepan Kasal  <kasal@ucw.cz>
1256
1257         * glib/gutils.c (g_get_any_init): Move the body of the big if...
1258         (g_get_any_init_do): ... to this new function.
1259         (g_get_any_init): Declare as inline.
1260         (g_get_any_init_locked): New inline function, does the locking.
1261         Make use of these two throughout the code.
1262
1263 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
1264
1265         * glib/gbacktrace.c (g_on_error_stack_trace): Wait for
1266         the child process and then simply return. This makes 
1267         The "S" option work as documented in g_on_error_query().
1268         (#313125, Matthew F. Barnes)
1269
1270         * glib/gunicode.h: Update the link to Unicode category
1271         values.  (#313369, Behnam Esfahbod)
1272
1273         * glib/gqueue.c (g_queue_find_custom): Clarify docs
1274         a little.  (#311727, Tristan van Berkom)
1275
1276         * glib/abicheck.sh, gobject/abicheck.sh: Make the 
1277         check work on ia64 too, where some symbols ended up 
1278         in yet another section.
1279