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