+Mon Dec 5 15:53:20 2005 Tim Janik <timj@imendio.com>
+
+ * glib/gslice.c: implement chain walking for arbitrary ->next pointer
+ offsets in g_slice_free_chain_with_offset() based on a patch by behdad
+ in bug 323178. moved time consuming logic from g_slice_free() out of
+ the inner loop, so g_slice_free_chain_with_offset() provides a real
+ performance benefit over g_slice_free1() now.
+
+ * glib/gslice.h: renamed g_slice_free_chain() to
+ g_slice_free_chain_with_offset(). implemented g_slice_free_chain() as
+ a type-safe macro as suggested in bug 323178.
+ simplified the macro implementation of g_slice_free() and implemented
+ it in a type safe manner for all compliers as suggested by Morten
+ Welinder <mortenw@gnome.org>.
+
+ * glib/gmain.c:
+ * glib/glist.c:
+ * glib/gslist.c:
+ * glib/glib.symbols: s/g_slice_free_chain/g_slice_free_chain_with_offset/
+
+2005-12-05 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gasyncqueue.c: Add some docs.
+
+ * tests/libmoduletestplugin_a.c: Fix compiler warnings.
+
+ * glib/gatomic.c: In the ia64 implementation, use
+ __sync builtin without _si or _di suffix. (#321229,
+ Stanislav Brabec, patch by Andreas Schwab)
+
+2005-12-04 Behdad Esfahbod <behdad@gnome.org>
+
+ * glib/gslice.h: Remove comma at the end of enum.
+
+2005-12-04 Matthias Clasen <mclasen@redhat.com>
+
+ Handle multiple user names with the same UID better.
+ (#319535, Laszlo Peter)
+
+ * glib/gutils.c (g_get_any_init_do): When determining user
+ data, first look up $LOGNAME. If the UID doesn't match
+ getuid(), fall back to the current behaviour of looking
+ up the user data based on getuid().
+
+2005-12-04 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gmacros.h (G_GNUC_WARN_UNUSED_RESULT): Add a macro
+ to make gcc warn if a function result is ignored. (#145466,
+ Arjan van de Ven, Alex Larsson)
+
+ * glib/gmem.h: Add the new attribute to g_realloc and
+ g_try_realloc.
+
+2005-12-03 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/glib.symbols:
+ * glib/gcache.h: Deprecate g_cache_value_foreach. (#322956,
+ Nicolas Caniart)
+
+ * glib/gmappedfile.c: Make mapping of empty files
+ work. (#321530)
+
+ * glib/gfileutils.c: Don't fork a new process just to
+ fix the permissions of the created temp file. (#321318,
+ Alexis S. L. Carvalho)
+
+2005-12-02 Matthias Clasen <mclasen@redhat.com>
+
+ * README.in: Add a note about Solaris threads.
+
+ * glib/gspawn.c:
+ * configure.in: Remove support for Solaris threads.
+ (#136971, Sebastian Wilhelmi, patch by Andrew Paprocki)
+
+2005-12-02 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Define G_GUINT64_CONSTANT in analogy to
+ G_GINT64_CONSTANT. (#322568, Andrew Paprocki)
+
+2005-12-02 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gslice.c: Win32 portability fixes and C99ism removal,
+ pointed out by Kazuki Iwamoto. (#323052)
+
+2005-12-02 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gatomic.c (g_atomic_int_add): Add a missing volatile for
+ the IA64 implementation.
+
+Fri Dec 2 16:18:09 2005 Tim Janik <timj@imendio.com>
+
+ * glib/gslice.c: some naming and type size fixups.
+
+Fri Dec 2 13:08:58 2005 Tim Janik <timj@gtk.org>
+
+ * glib/gslice.h (g_slice_free): reworked GCC-specific type-safe macro
+ variant into something less verbose, but digestible for gcc-3.4.
+
+Fri Dec 2 10:55:07 2005 Tim Janik <timj@imendio.com>
+
+ * tests/slice-test.c: extended to perform the benchmarking on the old
+ memchunk code if 'O' is selected.
+
+ * tests/memchunks.c: new file which contains the old GLib mem chunks
+ implementation with prefix old_mem_chunk_.
+
+ * tests/Makefile.am: added memchunks.c
+
+Fri Dec 2 00:16:59 2005 Tim Janik <timj@imendio.com>
+
+ * glib/gslice.c: improved gettimeofday() timer resolution by maintaining
+ acceptable load distribution of the syscall.
+ (allocator_get_magazine_threshold): reduce minimum/single-thread magazine
+ sizes to approximately page_size/2.5 to avoid excessive startup allocations.
+
+2005-12-01 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/gobject/ifacecheck.c (test_iface_base_init): Don't
+ double-free base interface members.
+
+ * tests/Makefile.am: Remove duplicate variable.
+
+Thu Dec 1 17:32:46 2005 Tim Janik <timj@imendio.com>
+
+ * glib/gslice.[hc]: new slice allocator implementation.
+
+ * tests/slice-test.c: added random slice allocation test.
+
+ * glib/gthread.[hc]: removed newly added private thread mem API.
+
+ * glib/gthreadinit.h:
+ * glib/gmessages.c:
+ * glib/gthread.c:
+ * glib/gmem.c: divided glib threading initialisation into three phases,
+ initialisation where private keys and messaging are not available (only
+ needed by gmem.c), initialisation without messaging but private keys
+ available (gslice.c, gmessage.c), and full fledged initialisers that
+ server the rest of glib. initialisation functions got renamed to reflect
+ the limitations of their corresponding phases.
+
+ * glib/gmem.c: removed memchunk code, defer allocations to
+ g_slice_* instead.
+
+ * glib/gmem.[hc]: removed g_slice_* skeletons.
+
+ * glib/glib.symbols: added g_slice_* symbols.
+
+ * configure.in: check for availability of posix_memalign(3), memalign(3)
+ and valloc(3).
+
+ * glib/Makefile.am: added gslice.[hc].
+
+2005-12-01 Tor Lillqvist <tml@novell.com>
+
+ * glib/gstdio.c (g_stat): In the Win32 implementation, strip
+ trailing slash(es) for non-root folders. stat() fails if non-root
+ folders are specified with trailing slashes. It's too much hassle
+ to demand that callers strip such slashes themselves, especially
+ as it is easy to get it wrong and strip the slash of a root
+ folder.
+ (g_rename): On NT-based Windows, use MoveFileEx() with
+ MOVEFILE_REPLACE_EXISTING to better match Unix behaviour.
+
+2005-11-28 Matthias Clasen <mclasen@redhat.com>
+
+ Fix G_STMT_START / G_STMT_END on Solaris. (#321972,
+ Andrew Paprocki)
+
+ * configure.in: Check whether do { } while (0) works.
+
+ * glib/gmacros.h: Use do { } while (0) for G_STMT_START /
+ G_STMT_END if it works.
+
+2005-11-28 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gthread.c (g_static_rw_lock_wait, g_static_rw_lock_signal):
+ * glib/gnode.c (g_node_depth_traverse_level):
+ * glib/gmem.c (g_allocator_new):
+ * glib/ghash.c (g_hash_table_unref, g_hash_table_destroy)
+ (g_hash_table_foreach_remove_or_steal): Silence compiler
+ warnings.
+
+2005-11-27 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gunicollate.c (g_utf8_collate_key_for_filename):
+ Don't read beyond len. (#322520, Christian Persch)
+
+Wed Nov 23 17:34:01 2005 Tim Janik <timj@imendio.com>
+
+ * glib/gdataset.c: access datalist flags via atomic pointer access
+ functions, instead of acquiring the dataset lock. this is faster and
+ also matches the atomic pointer readouts in gdatalistprivate.h and
+ direct pointer modifications required by gobject.c.
+
+Wed Nov 23 13:35:31 2005 Tim Janik <timj@gtk.org>
+
+ * glib/gdataset.c: streamlined initialization code somewhat,
+ removed GData node cache.
+
+2005-11-22 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/ghash.c (g_hash_table_ref):
+ (g_hash_table_unref): Mark these as new API.
+
+ Avoid double locking in g_intern_string (#322133,
+ Benedikt Meurer)
+
+ * glib/gdataset.c (g_quark_from_string_internal): New
+ internal function which factors out common parts of
+ g_quark_from[_static]_string.
+ (g_quark_from_string, g_quark_from_static_string):
+ Use g_quark_from_string_internal.
+ (g_intern_string, g_intern_static_string): Use
+ g_quark_from_string_internal, and only take the
+ lock once.
+ (g_quark_new): Don't store the strings shifted by -1
+ in the g_quarks array.
+ (g_quark_to_string): Adapt to the previous change.
+
+Tue Nov 22 14:04:26 2005 Tim Janik <timj@imendio.com>
+
+ * glib/ghash.h:
+ * glib/ghash.c:
+ g_hash_table_new_full(): create hash tables with a ref count of 1.
+ g_hash_table_ref(): atomically ref_count+=1
+ g_hash_table_unref(): atomically ref_count-=1, destroys hash table
+ when refcount reaches 0.
+ g_hash_table_destroy(): just destroy keys and values, unref by 1.
+ g_hash_table_insert():
+ g_hash_table_replace(): assert ref_count>0.
+
+ * glib/gatomic.h:
+ * glib/gatomic.c: added 'volatile' qualifier to all atomic pointer and
+ integer pointers.
+
+2005-11-20 Behdad Esfahbod <behdad@gnome.org>
+
+ * glib/guniprop.c (g_unichar_get_mirror_char): Remove unused
+ variables. (#321984, Andrew Paprocki)
+
+2005-11-18 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Bump version
+
+2005-11-17 Matthias Clasen <mclasen@redhat.com>
+
+ * === Released 2.9.0 ===
+
+ * glib/glib.symbols: Updates
+
+ * glib/gutf8.c (g_utf8_offset_to_pointer): Add some performance
+ hints to the docs. (Paolo Borelli)
+
+ * NEWS: Updates
+
+ * glib/gthread.c (g_thread_foreach): Mark as new api.
+
+ * README.in: Updates.
+
+ * glib/glib.symbols:
+ * glib/gdate.h:
+ * glib/gdate.c (g_date_set_time_t):
+ (g_date_set_time_val): Add functions to set a date from
+ a time_t and from a GTimeVal.
+ (g_date_set_time): Deprecate. (#314067, Roger Leigh)
+
+ * tests/Makefile.am:
+ * tests/utf8-pointer.c: Unit tests for g_utf8_pointer_to_offset
+ and g_utf8_offset_to_pointer.
+
+ * glib/gutf8.c (g_utf8_pointer_to_offset)
+ (g_utf8_offset_to_pointer): Handle negative offsets, and use
+ "stutter stepping" for going backwards. (#320638, Larry
+ Ewing)
+
+ * glib/gbacktrace.c:
+ * glib/gdate.c:
+ * glib/gthread.c: const correctness fixes, found
+ by Arjan van de Ven and gcc.
+
+2005-11-16 Behdad Esfahbod <behdad@gnome.org>
+
+ * docs/reference/glib/tmpl/unicode.sgml: Correct typo on mentioning
+ @G_UNICODE_BREAK_UNKNOWN that should be #G_UNICODE_BREAK_UNKNOWN.
+
+2005-11-09 Behdad Esfahbod <behdad@gnome.org>
+
+ * glib/guniprop.c: Use bit hacks instead when checking a general
+ category value against multiple values.
+
+ * glib/gutf8.c: Change ISO10646 to Unicode in docs.
+
+2005-11-10 Simos Xenitellis <simos@gnome.org>
+
+ * configure.in: Added tt (Tatar) to ALL_LINGUAS.
+
+2005-11-05 Tor Lillqvist <tml@novell.com>
+
+ * glib/giowin32.c (g_io_win32_set_flags): Don't call g_warning().
+ (#320688) Instead set error and return failure.
+
+2005-11-07 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gmain.c (g_main_dispatch): Don't call cb_funcs->unref
+ while holding the context lock. (#320886, Andy Wingo)
+
+2005-11-07 Billy Biggs <vektor@dumbterm.net>
+
+ * tests/refcount/Makefile.am: Add a missing reference to libglib
+ in the LDADD for this test.
+
+2005-11-07 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gmem.c (g_allocator_new): We need to set n_preallocs to a
+ nonzero value, otherwise GTK+ 2.8 breaks when compiled against
+ GLib 2.9. (#320755, Luca Ferretti)
+
2005-11-04 Matthias Clasen <mclasen@redhat.com>
+ * glib/Makefile.am: Apply a patch from Behdad Esfahbod to
+ use a faster lookup table for g_unichar_get_mirror_char().
+ * glib/gmirroringtable.h: The new table.
+ * glib/gunichartables.h: Remove bidi_mirroring_table.
+ * glib/gen-unicode-tables.pl: Don't generate the mirroring
+ table.
+ * glib/glib-mirroring-tab/*: Sources for the program
+ which generated gmirroringtable.h.
+
+ * glib/glist.c: Avoid some code duplication.
+
* glib/gscanner.h: Include gdataset.h. (#320322)
* glib/gdebug.h: add new GDebugFlag for fatal_criticals