Set an error in all failure cases. (#324332, Tim-Philipp Müller)
[platform/upstream/glib.git] / ChangeLog.pre-2-10
index f20033e..0805b47 100644 (file)
@@ -1,5 +1,555 @@
+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):
+       Return a g_strdup()ed copy of the value stored in the hash table,
+       so that it can be g_free()d without leaving a dangling pointer in
+       the hash table. (#319232)
+
+2005-10-06  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/gunicollate.c (g_utf8_collate_key_for_filename): Handle
+       all-zero sequences correctly.  (#317930, Sebastien Bacher)
+
 2005-10-05  Matthias Clasen  <mclasen@redhat.com>
 
+       * glib/gmarkup.c (g_markup_escape_text): Doc addition
+
        * Makefile.am: Add Collation tests.
 
        * tests/collate/*: Inputs and expected outputs for collation tests.