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