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