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