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