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