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