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