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