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