+2005-12-17 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/goption.c (parse_short_option): Set an error in all
+ failure cases. (#324332, Tim-Philipp Müller)
+
+2005-12-17 Sebastian Wilhelmi <seppi@seppi.de>
+
+ * glib/gatomic.c: Fix memory barrier position in g_atomic_int_get
+ and g_atomic_pointer_get. Add g_atomic_int_set and
+ g_atomic_pointer_set implementations for the !DEFINE_WITH_MUTEXES &&
+ G_ATOMIC_OP_MEMORY_BARRIER_NEEDED case, as well as defining them
+ as functions (additionally to the macros in the header) for the
+ !G_ATOMIC_OP_MEMORY_BARRIER_NEEDED case.
+
+2005-12-16 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gmem.c (g_allocator_new): Don't return a pointer to
+ a const struct, since apps expect to be able to modify it.
+ (#324179, J. Ali Harlow)
+
+Tue Dec 13 10:13:32 2005 Tim Janik <timj@imendio.com>
+
+ * glib/gatomic.h: added g_atomic_pointer_set() and g_atomic_int_set()
+ for systems where the initialization of atomic variables requires a
+ write memory barrier.
+
+2005-12-09 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Bump version
+
+ * === Released 2.9.1 ===
+
+2005-12-09 Alexander Larsson <alexl@redhat.com>
+
+ * glib/glist.h:
+ * glib/gslist.h:
+ Use G_GNUC_WARN_UNUSED_RESULT on list functions that return
+ the whole list.
+
+2005-12-08 Matthias Clasen <mclasen@redhat.com>
+
+ * NEWS: Updates
+
+2005-12-07 Martyn Russell <martyn@imendio.com>
+
+ * glib/gasyncqueue.c:
+ - Call g_queue_insert_sorted() instead of duplicating the code.
+ - Call g_queue_sort() instead of duplicating the code.
+ - Invert sort function results to make sure the same sort function
+ gives the same results across glist, gslist, gqueue and
+ gasyncqueue.
+
+ * tests/asyncqueue-test.c:
+ - Updated the sort function to reflect the example in the
+ documentation for gasyncqueue.c.
+
+2005-12-07 Martyn Russell <martyn@imendio.com>
+
+ * docs/reference/glib/glib-sections.txt:
+ * docs/reference/glib/tmpl/linked_lists_double.sgml:
+ * docs/reference/glib/tmpl/linked_lists_single.sgml:
+ * glib/glist.[ch]:
+ * glib/gslist.[ch]:
+ - Added g_list_insert_sorted_with_data () and
+ g_slist_insert_sorted_with_data ().
+ - Removed the extra check in g_list_sort() and g_slist_sort() for
+ GCompareDataFunc vs. GCompareFunc.
+
+2005-12-07 Tor Lillqvist <tml@novell.com>
+
+ * glib-gettextize.in: Look up prefix at run-time on Win32,
+ assuming the standard directory structure with glib-gettextize in
+ $prefix/bin.
+
+2005-12-06 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gmem.h: Exempt GTK+ from the mem chunk deprecation, since
+ we need GTK+ 2.8 to compile against GLib 2.10.
+
+2005-12-05 Manish Singh <yosh@gimp.org>
+
+ * tests/run-collate-test.sh: set LC_COLLATE, not LANG, to be sure
+ to override any user settings.
+
+2005-12-05 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Revert an accidential commit
+
+2005-12-05 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gutf8.c: Documentation updates. (#323291, Morten Welinder)
+
+ * tests/Makefile.am (TESTS_ENVIRONMENT):
+ * tests/gobject/Makefile.am (TESTS_ENVIRONMENT): Set
+ MALLOC_CHECK_ and MALLOC_PERTURB_
+
+ * tests/run-collate-tests.sh: Run the collation tests explicitly
+ in en_US locale. (#320463)
+
+ * glib/gmem.h: Really deprecate GMemChunk.
+
+ * glib/gdate.c:
+ * glib/gutils.c:
+ * glib/gtree.c:
+ * glib/gstring.c:
+ * glib/giochannel.c:
+ * glib/gstrfuncs.c: Add versioned deprecation docs.
+
+2005-12-05 Martyn Russell <martyn@imendio.com>
+
+ * docs/reference/glib/glib-sections.txt:
+ * glib/gasyncqueue.[ch]:
+ - Added support for sorting async queues by with _push_sorted(),
+ _push_sorted_unlocked(), _sort() and _sort_unlocked() (#323047).
+
+ * tests/Makefile.am:
+ * tests/asyncqueue-test.c:
+ - Added test case for gasyncqueue.c
+
+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
+ * glib/gmessages.c: (_g_debug_init): handle G_DEBUG=fatal_criticals,
+ to help find critical warnings in applications. (#320017,
+ Vincent Untz)
+
+2005-11-02 Tor Lillqvist <tml@novell.com>
+
+ * glib/glib.symbols: Remove large amount of trailing whitespace
+ from one line. Remove #ifdef G_UNDEFINED from around
+ g_hash_table_new and g_hash_table_new_full symbols, what was the
+ purpose of that? Add the g_slice functions.
+
+Tue Nov 1 16:24:20 2005 Tim Janik <timj@imendio.com>
+
+ * glib/gmem.[hc]: prepared deprecation of GMemChunk and GAllocator.
+ added g_slice_*() API to allocate and cache small bits of memory.
+ an actuall allocator implementation for g_slice_*() is still pending.
+
+ * glib/gthread.[hc]: changes from a patch by Matthias Clasen.
+ changed GRealThread list to use in-structure *next; fields instead
+ of GSList, in order for thread iteration to not depenend on g_slice_*()
+ indirectly.
+ _g_thread_mem_private_get():
+ _g_thread_mem_private_set(): added accessors for private memory,
+ needed because the ordinary GPrivate implementation relies on GArray
+ and GSList and therefore indirectly on working g_slice_*() allocations.
+
+ * glib/gthread.[hc]:
+ g_thread_foreach(): new public API function to loop over all existing threads.
+
+ * glib/gdataset.c:
+ * glib/gstring.c:
+ * glib/gcache.c:
+ * glib/garray.c:
+ * glib/gqueue.c:
+ * glib/gslist.c:
+ * glib/glist.c:
+ * glib/ghash.c:
+ * glib/gtree.c:
+ * glib/ghook.c:
+ * glib/gmain.c:
+ * glib/gnode.c:
+ removed GAllocator and free list usages and accompanying locks.
+ use g_slice_*() API to allocate and cache small bits of memory.
+
+ * glib/ghook.h: removed GMemChunk field from public API.
+
+ * glib/gslist.h:
+ * glib/glist.h: deprecate allocator API, provide _free1() for consistency.
+
+ * glib/gnode.h: deprecate allocator API.
+
+ * glib/gmain.c: reordered GPollRec fields so g_slice_free_chain() can
+ be used for poll rec lists.
+
+ * glib/grel.c: removed mem chunk usage, and allocated tuples via g_slice_*().
+ g_relation_destroy(): free all tuples from the all_tuples hash table,
+ this effectively maintains the life time track keeping of tuples.
+ g_relation_delete_tuple(): free tuples which are removed from the
+ all_tuples hash table. this fixes a temporary leak that was present
+ in the memchunk code until the destruction of the relation.
+
+2005-10-29 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/convert-test.c: Add some tests for conversions between
+ UTF-8, UCS-4 and UTF-16.
+
+ * glib/gutf8.c (g_utf8_to_ucs4, g_utf8_to_utf16): Fix handling
+ of len == -1, noticed by Morten Welinder.
+
+2005-10-27 Erdal Ronahi <erdal.ronahi@gmail.com>
+
+ * configure.in: Added ku (Kurdish) to ALL_LINGUAS
+
+2005-10-26 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gutf8.c (g_ucs4_to_utf8): Don't set items_read twice
+ in the error case, and add some documentation. (#319806, Morten
+ Welinder)
+
+2005-10-19 Manish Singh <yosh@gimp.org>
+
+ * configure.in: Use AC_CHECK_FUNCS for _NSGetEnviron, to get the
+ config.h symbol automatically. Fixes bug #313731.
+
2005-10-19 Tor Lillqvist <tml@novell.com>
* glib/gwin32.c (g_win32_get_package_installation_directory):