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