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