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