+2005-08-12 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Bump version
+
+ * === Released 2.8.0 ===
+
+ * NEWS: Updates
+
+2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
+
+ * gobject/genums.c: (g_flags_get_first_value): Special-case flag
+ value of 0. Instead of returning the first random GFlagsValue
+ we come across, return the GFlagsValue for 0 if it exists or
+ NULL if it does not exist. Never return the GFlagsValue for 0
+ if the requested flags value is nonzero.
+
+2005-08-12 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Bump version to 2.8.0
+
+2005-08-11 Tor Lillqvist <tml@novell.com>
+
+ * glib/gutils.c (g_get_any_init): Use "localhost" as fallback for
+ g_get_host_name(), not "unknown".
+
+2005-08-10 Stepan Kasal <kasal@ucw.cz>
+
+ Fix typos: Invokation --> Invocation (in various places)
+
+2005-08-10 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gfileutils.c (g_build_path_va, g_build_pathname_va):
+ Take a va_list*, not a va_list, to avoid compiler warnings
+ about uninitialized variables.
+
+2005-08-09 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/gobject/Makefile.am (test_programs): Add it here.
+
+ * tests/gobject/gvalue-test.c: Beginning of a test suite
+ for GValue.
+
+ * NEWS: Updates
+
+2005-08-08 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gutils.c (_g_compute_locale_variants): Initialize
+ variables to not make gcc nervous.
+
+2005-08-08 Manish Singh <yosh@gimp.org>
+
+ * glib/abicheck.sh: remove stray -V option to grep so it actually
+ works.
+
+2005-08-08 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/convert-test.c: Enable the endianness test.
+
+ * glib/gconvert.c: Make the caching of iconv descriptors
+ optional.
+
+ * configure.in: Add an --enable-iconv-cache option, and
+ default to disabling iconv caching on new enough glibc.
+ Somebody with access to Solaris systems will need to test
+ if opening/closing of iconv descriptors is enough of
+ a performance problem to warrant the caching on that
+ platform. Note that the caching is causing correctness
+ problems in some corner cases, thus turning it off
+ is desirable unless it has severe performance implications.
+
+ * tests/convert-test.c: Add a test for
+ endianness handling.
+
+2005-08-08 Sunil Mohan Adapa <sunil@atc.tcs.co.in>
+
+ * configure.in: Added "te" to ALL_LINGUAS.
+
+2005-08-08 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/Makefile.am: Add convert-test here.
+
+ * tests/convert-test.c: Add the beginning of a testsuite
+ for g_convert() and friends.
+
+2005-08-06 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/glib.symbols: Include glib_on_error_halt.
+
+ * glib/abicheck.sh: Also check exported variables.
+
+2005-08-05 Manish Singh <yosh@gimp.org>
+
+ * tests/refcount/closures.c: remove unused n_threads variable.
+
+2005-08-05 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Bump version
+
+ * === Released 2.7.7 ===
+
+ * NEWS: Updates
+
+2005-08-04 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/glib.symbols:
+ * glib/gatomic.[hc]: Always export g_atomic_int_get and
+ g_atomic_pointer_get as functions, even if we have macros,
+ to avoid changing the ABI depending on configuration.
+
+ * glib/gatomic.c: Fix the s390 implementations of
+ g_atomic_pointer_compare_and_exchange.
+
+2005-08-04 Tor Lillqvist <tml@novell.com>
+
+ * glib/gstdio.h: Move the G_BEGIN_DECLS/G_END_DECLS pair outside
+ the #if/#else/#endif block. Otherwise we had G_BEGIN_DECLS without
+ matching G_END_DECLS on Unix, and G_END_DECLS without matching
+ G_BEGIN_DECLS on Win32.
+
+2005-08-03 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Bump version
+
+ * === Released 2.7.6 ===
+
+ * NEWS: Updates
+
+2005-08-03 Ross Burton <ross@burtonini.com>
+
+ * docs/reference/glib/tmpl/windows.sgml:
+ Add a long description, pointing people at Cygwin for a complete
+ Unix library.
+
+ * glib/gutils.c:
+ Document return value of g_get_host_name().
+
+2005-08-03 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gatomic.c: Add native atomic operations
+ for s390.
+
+ * configure.in: ... and use them on s390.
+
+2005-08-03 Ross Burton <ross@burtonini.com>
+
+ * glib/gstdio.c:
+ Fix DocBook tag typo. (#311966)
+
+2005-08-03 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gstdio.h: Add G_BEGIN_DECLS/G_END_DECLS. (#312424)
+
+2005-08-02 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gconvert.c (g_convert_with_iconv): Don't go in an
+ infinite loop if the input text ends in an incomplete multibyte
+ character. (#312402, Sebastien Bacher)
+
+ * Bump version
+
+ * === Released 2.7.5 ===
+
+ * NEWS: Updates
+
+2005-08-02 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gconvert.c (g_convert_with_iconv, g_convert_with_fallback):
+ Cleanup converter state after the conversion. Document streaming
+ conversion pitfalls. (#311337)
+
+2005-08-02 Tor Lillqvist <tml@novell.com>
+
+ * tests/refcount/objects.c
+ * tests/refcount/properties.c
+ * tests/refcount/signals.c: Use g_usleep() instead of sleep() for
+ portability.
+
+Mon Aug 1 23:33:47 2005 Tim Janik <timj@imendio.com>
+
+ * tests/refcount/closures.c: test high contention on closure
+ reference counts to trigger and catch non-atomic updates.
+
+ * tests/refcount/objects.c:
+ * tests/refcount/objects2.c:
+ * tests/refcount/properties.c:
+ * tests/refcount/properties2.c:
+ * tests/refcount/signals.c:
+ fixed up test and threading fundamentals. variables accessed from all
+ threads need to be volatile. context switches are enforced by using
+ g_thread_yield(), not g_usleep(1) which may result in busy waits on
+ some platforms. for testcode, always consider all warnings and
+ critical messages fatal. issue the currently running program on
+ stdout. improved progress indicators.
+
+ * tests/refcount/properties.c:
+ * tests/refcount/objects.c:
+ don't overdo the number of testing threads to keep the testing machine
+ usable, 2 threads can produce as much contention as 20 if executing the
+ same code.
+
+ * tests/refcount/signals.c: only start 1 thread per object. GObject
+ doesn't provide mutually exclusive object access, but only mutually
+ exclusive reference count modification.
+
+ * tests/Makefile.am: added closures test.
+
+2005-08-01 Tor Lillqvist <tml@novell.com>
+
+ * tests/uri-test.c: Make it pass on Win32.
+ (from_uri_tests[]): Take into consideration that on Win32 we don't
+ return "localhost" hostnames.
+ (safe_strcmp_filename): New function that considers slash and
+ backslash equal on Win32.
+ (safe_strcmp_hostname): New function that considers "localhost"
+ equal NULL on Win32.
+ (run_roundtrip_tests): Use safe_strcmp_filename() and
+ safe_strcmp_hostname().
+
+Sun Jul 31 01:50:20 2005 Tim Janik <timj@gtk.org>
+
+ * glib/gdataset.c:
+ moved G_DATALIST_*_POINTER() macros here, because proper use requires
+ the global g_dataset_global mutex to be acquired.
+ g_datalist_id_get_data():
+ g_datalist_unset_flags():
+ g_datalist_set_flags(): properly acquire and release dataset mutex.
+
+ * glib/gdatasetprivate.h: implement G_DATALIST_GET_FLAGS() via atomic
+ pointer access to account for memory barriers. moved all other macros.
+
+2005-07-26 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/goption.c: Include glibintl.h, not gi18n.h, noticed
+ by Dan Winship.
+
+ * configure.in: Try -mt as compiler flag for threads, needed
+ for the HP C compiler on HP-UX. (#163051, Paul Cornett)
+
+ * glib/ghash.c (g_hash_table_foreach): Fix a typo in the
+ docs. (#311569, Ross Burton)
+
+2005-07-21 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Bump version
+
+ * === Released 2.7.4 ===
+
+ * NEWS: Updates
+
+2005-07-20 Manish Singh <yosh@gimp.org>
+
+ * tests/refcount/signals.c: use G_CALLBACK for signal connections.
+
+2005-07-20 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gthreadpool.c (g_thread_pool_free): Don't get
+ stuck in here if immediate is TRUE. (#310954,
+ Hong Jen Yee)
+
+ * tests/threadpool-test.c (main): Test immediate == TRUE.
+
+2005-07-20 Tor Lillqvist <tml@novell.com>
+
+ * glib/gutils.h (g_win32_get_system_data_dirs): Make this an
+ inline function. Define it only if G_CAN_INLINE and not
+ C++. (#173098)
+
+2005-07-19 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gstring.c (g_string_chunk_insert_len): Avoid
+ an unnecessary strlen if len is -1. (#169692,
+ Benoit Dejean)
+
+ * glib/gatomic.c (g_atomic_pointer_compare_and_exchange):
+ Fix g_atomic_pointer_compare_and_exchange on sparc64.
+ (#167572, Gert Doering)
+
+2005-07-15 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Bump version
+
+ * === Released 2.7.3 ===
+
+2005-07-15 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/Makefile.am (SUBDIRS): Add tests/refcount
+
+ * configure.in: Add tests/refcount
+
+ * tests/refcount/properties.c: Test property changes
+ from multiple threads.
+
+ * tests/refcount/signals.c: Test signal emission from
+ multiple threads.
+
+ * tests/refcount/objects.c: Test refcounting from
+ multiple threads.
+
+ * tests/refcount/objects2.c:
+ * tests/refcount/properties2.c: Tests to measure the
+ overhead of threadsafe refcounting.
+
+ * glib/giochannel.c (g_io_channel_ref, g_io_channel_unref):
+ Use atomic operations to make refcounting
+ threadsafe. (#166020, Wim Taymans)
+
+ * NEWS: Updates
+
+2005-07-14 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/spawn-test.c:
+ * tests/uri-test.c:
+ * tests/thread-test.c:
+ * tests/queue-test.c:
+ * tests/mainloop-test.c:
+ * tests/iochannel-test.c:
+ * tests/gio-test.c:
+ * tests/child-test.c: Make the tests silent on success.
+
+2005-07-13 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gfileutils.c (g_mkdir_with_parents): Fix a
+ typo. (#310243, Richard Laager)
+
+ * glib/goption.c (g_option_group_add_entries): Warn if a
+ short name is not acceptable.
+
+2005-07-12 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/goption.h (G_OPTION_FLAG_NOALIAS):
+ * glib/goption.c: Add and implement a new flag
+ to turn off the automatic <groupname>- prefixing
+ for conflict resolution of long option names. (#171840,
+ Adam McLaurin)
+
+ All optional callback arguments (#308886, Pawel
+ Sliwowski)
+
+ * glib/goption.h (G_OPTION_FLAG_OPTIONAL_ARG):
+ * glib/goption.c: Add and implement a new flag
+ to indicate that a callback *optionally* takes another
+ argument.
+
+ * tests/option-test.c: Add tests for optional arguments.
+
+2005-07-12 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gthread.c (g_static_rec_mutex_lock_full): Don't lock
+ if depth is zero. (#310148, Wim Taymans)
+
+2005-07-10 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gutils.c (g_listenv): Ignore anomalous environment
+ entries which are not of the form variable=value. (#309859,
+ Morten Welinder)
+
+2005-07-09 Tor Lillqvist <tml@novell.com>
+
+ * glib/giowin32.c: Totally rewritten socket channel
+ implementation. See discussion in bug #147392.
+
+ * configure.in: Don't use autoconf variables for the resource
+ object files on Win32 any longer. Instead handle that in the
+ Makefile.am files. Check for windres.
+
+ * glibconfig.h.win32.in: Minor tuning to match the
+ configure-produced glibconfig.h closely.
+
+ * glib/Makefile.am: Don't use the scripts in build/win32 to
+ compile glib.rc into a resource object file. (This means we lose
+ the build number increment magic, but I doubt it was that useful
+ anyway.) Instead use windres directly. To pass the normal .o file
+ produced by windres through libtool, which wants .lo files, pass
+ it directly to the linker using a -Wl option.
+
+ * glib/glib.rc.in: Thus replace BUILDNUMBER with 0.
+
+2005-07-08 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Bump version
+
+ * === Released 2.7.2 ===
+
+ * NEWS: Updates
+
+2005-07-07 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Make the size_t size detection work on AIX.
+ (#309725)
+
+2005-07-06 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Require a newer gtk-doc.
+
+2005-07-01 Hans Breuer <hans@breuer.org>
+
+ * glib/gmessages.c : include <process.h> for getpid()
+ * glib/gmappedfile.c : include <io.h> for close() etc.
+ * glib/makefile.msc.in : add gmappedfile.obj
+
+2005-07-01 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gkeyfile.c (g_key_file_get_key_comment):
+ (g_key_file_get_top_comment): Don't reverse the order of multiline
+ comments.
+ (g_key_file_get_group_comment): Actually get the group comment.
+
+ * tests/keyfile-test.c (test_comments): Test that comments are
+ handled properly. (#309263, Mikael Magnusson)
+
+2005-06-30 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Bump version
+
+ * === Released 2.7.1 ===
+
+2005-06-30 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gstring.c (g_str_hash): Fix portability issues.
+ (#307064, Morten Welinder)
+
+ Apply a patch which may make GLib work on BeOS again.
+ (#309157, Kian Duffy)
+
+ * glib/gmain.c: Update the BeOS includes.
+
+ * glib/gstdio.c:
+ * glib/gutils.c (g_find_program_in_path):
+ * glib/gbacktrace.c (g_on_error_stack_trace): Use the UNIX
+ implementation on BeOS, as well.
+
+ * configure.in: Don't put glib 1.0 into G_MODULE_LIBS, even
+ on BeOS.
+
+ * NEWS: Updates
+
+2005-06-26 Tor Lillqvist <tml@novell.com>
+
+ * glib/Makefile.am: libtool installs/uninstalls the import
+ library, no need to do it ourselves. Do still install/uninstall
+ the .def file, though.
+
+ * glib/gmappedfile.c: Add Win32 implementation.
+ (g_mapped_file_free): Don't mention writable shared mappings in
+ the doc comment. Free the GMappedFile struct.
+
+ * tests/mapping-test.c (main): No kill() or SIGUSR1 on Win32, use
+ a flag file instead to stop the child. Use g_usleep() instead of
+ sleep().
+
+2005-06-24 Matthias Clasen <mclasen@redhat.com>
+
+ Add an mmap() wrapper called GMappedFile. (#148218,
+ David Schleef, Behdad Esfahbod)
+
+ * glib/gmappedfile.[hc]: New files.
+
+ * configure.in: Check for mmap.
+
+ * glib/Makefile.am: Add new files.
+
+ * glib/glib.symbols: Add new functions.
+
+ * glib/glib.h: Include gmappedfile.h
+
+ * tests/mapping-test.c: Tests for GMappedFile.
+
+ * tests/Makefile.am: Add new file.
+
+ * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Add --enable-man.
+
+2005-06-24 Tor Lillqvist <tml@novell.com>
+
+ * glib/Makefile.am (install-libtool-import-lib): Current GNU tools
+ do understand the PRIVATE keyword.
+
+ * glib/gfileutils.c (g_mkdir_with_parents): Return error with
+ EINVAL also for empty pathnames.
+ (g_build_pathname_va): Fix typo.
+
+Thu Jun 23 15:52:08 2005 Manish Singh <yosh@gimp.org>
+
+ * glib/gfileutils.c: g_build_filename_va is only use in the G_OS_WIN32
+ case, so compile it conditionally.
+
+2005-06-23 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/keyfile-test.c (test_group_remove): Don't leak
+ memory here.
+
+ * glib/gkeyfile.c (g_key_file_load_from_data_dirs): Don't
+ leak output_path. (#308546, Kjartan Maraas)
+
+ * glib/glib.symbols:
+ * glib/gfileutils.h:
+ * glib/gfileutils.c (g_build_pathv, g_build_filenamev):
+ Variants of g_build_path() and g_build_filename()
+ which take a string array instead of varargs.
+ (#149092, Todd A. Fisher)
+
+ * tests/strfunc-test.c: Add tests for g_build_pathv()
+ and g_build_filenamev().
+
+2005-06-22 Tor Lillqvist <tml@novell.com>
+
+ * glib/gfileutils.c
+ * glib/gfileutils.h
+ * glib/glib.symbols
+ * tests/testglib.c: Rename g_makepath() to g_mkdir_with_parents().
+
+2005-06-22 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/goption.c (parse_short_option, parse_long_option):
+ Pass the option name also in the NO_ARG case. (#308602,
+ Masatake YAMATO)
+ (parse_arg): Properly store changes for arrays. (#308528,
+ Roger Leigh)
+
+2005-06-22 Tor Lillqvist <tml@novell.com>
+
+ * glib/gfileutils.c (g_makepath): New function. Creates a
+ directory including intermediate parent directories as
+ needed. (#60509)
+
+ * glib/gfileutils.h: Declare it.
+
+ * glib/gutils.c (g_get_host_name): New function. Returns the
+ machine's name, or one of its names. Document that it is
+ best-effort only, and not guaranteed to be unique or anything.
+ (g_get_any_init): Get the host name here. On Unix use
+ gethostname(), on Windows use GetComputerName(). (#5200)
+
+ * glib/gutils.h: Declare it.
+
+ * glib/glib.symbols: Add new functions.
+
+ * tests/testglib.c: Test g_makepath() and g_get_host_name().
+
+2005-06-18 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/goption.h:
+ * glib/goption.c: Add G_OPTION_FLAG_NO_ARG and
+ G_OPTION_FLAG_FILENAME to allow greater control of
+ G_OPTION_ARG_CALLBACK options. (#302632, Dan Winship)
+
+ * tests/option-test.c: test callback args
+
+2005-06-14 Theppitak Karoonboonyanan <thep@linux.thai.net>
+
+ * configure.in: Added 'th' (Thai) to ALL_LINGUAS.
+
+2005-06-10 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Bump version
+
+ * === Released 2.7.0 ===
+
+ * NEWS: Updates
+
+2005-06-09 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gkeyfile.c (g_key_file_parse_value_as_integer): Better
+ error checking. (#306389, Morten Welinder)
+
+ * glib/goption.c (parse_int): Set errno to 0 before calling
+ strtol. (#306388, Morten Welinder)
+
+2005-06-09 Tor Lillqvist <tml@novell.com>
+
+ * glib/gstdio.h
+ * glib/gstdio.c
+ * glib/glib.symbols: Add a chdir() wrapper, too.
+
+ * glib/glib.symbols: Add g_win32_locale_filename_from_utf8().
+
+ * glib/gwin32.c (g_win32_locale_filename_from_utf8): Clarify doc
+ comment.
+
+2005-06-08 Tor Lillqvist <tml@novell.com>
+
+ * glib/gutils.c (get_windows_directory_root): New helper function
+ on Win32, returns the root of the drive (or possibly share) where
+ the Windows directory is. (In the case of Terminal Server sessions
+ the Windows directory is a per-user folder.)
+ (g_get_any_init): Use get_windows_directory_root() as last resort
+ for both temp directory and home directory. g_get_home_dir() now
+ never returns NULL on Win32. Don't look at HOMEDRIVE and
+ HOMEPATH. HOME, USERPROFILE, CSIDL_PROFILE and Windows directory
+ drive root should be enough.
+
+2005-06-08 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/glib.symbols:
+ * glib/gunicode.h:
+ * glib/gunicollate.c (g_utf8_collate_key_for_filename):
+ New function to calculate collation keys which are more
+ suitable for sorting filenames. (#172690, Ole Laursen)
+
+Fri May 27 17:18:00 2005 Manish Singh <yosh@gimp.org>
+
+ * glib/goption.c (parse_short_option): initialize option_name
+ before using it.
+
+2005-05-27 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/goption.c (parse_short_option, parse_long_option):
+ Return an error if an option is missing its argument. (#305576,
+ Björn Lindqvist)
+
+ * tests/option-test.c (missing_arg_test): Add a testcase.
+
+Wed May 25 15:33:51 2005 Manish Singh <yosh@gimp.org>
+
+ * glib/goption.c (print_help): rest_description should be const.
+
+2005-05-25 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gunidecomp.c (combine_hangul): Don't eat Hangul
+ when normalizing. (#301742, reported by Christian Biere,
+ patch by Noah Levitt)
+
+2005-05-24 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/goption.c (print_help): If the remaining argument
+ has an arg_description, display the synopsis as
+ PROGNAME [OPTION...] REST (#305346, Noah Levitt)
+
+2005-05-20 Federico Mena Quintero <federico@ximian.com>
+
+ Merged from glib-2-6:
+
+ * glib/gspawn.c (g_spawn_command_line_sync): Clarify the meaning
+ of exit_status(); it's not the return code from the child, but
+ rather the waitpid() status.
+
+2005-05-18 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gunidecomp.c: Correct the end of the Hangul
+ Syllables range, from 0xd7af to 0xd7a3, in several
+ places. (#301984, Changwoo Ryu)
+
+2005-05-17 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/tree-test.c (main): Check the return values of
+ g_tree_remove().
+
+ * glib/gtree.c (g_tree_remove, g_tree_steal): Return
+ a boolean indicating wether the key was found. (#302545,
+ Matthew F. Barnes)
+
+2005-05-06 Brian Cameron <brian.cameron@sun.com>
+
+ * configure.in, gmodule-no-export-2.0-uninstalled.pc.in,
+ Makefile.am: Added gmodule-no-export-2.0-uninstalled.pc.in
+ to allow building of other libraries like pango when
+ glib is uninstalled.
+
+2005-05-06 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/option-test.c: Add a testcase.
+
+ * glib/goption.c (g_option_context_parse): Treat '-'
+ on its own as a non-option argument. (#168008, Tim Musson,
+ Thomas Leonard and others)
+
+2005-05-05 Owen Taylor <otaylor@redhat.com>
+
+ * glib/gdataset.[ch] glib/gdatasetprivate.h: Add
+ g_datalist_set/unset_flags(), g_datalist_get_flags() functions
+ to squeeze some bits into a GDataSet... this is needed for
+ efficient implementation of toggle references in GObject.
+
+ * tests/gobject/references.c tests/gobject/Makefile.am:
+ Add a test case for weak and toggle references.
+
+ * glib/gfileutils.[ch]: Rename g_file_replace() back
+ to g_file_set_contents().
+
+ * glib/glib.symbols: Update.
+
+2005-05-02 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gstring.c (g_str_equal, g_str_hash): Move docs
+ inline.
+
+2005-05-01 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/ghash.h: Rename some parameters to make gtk-doc
+ happy.
+
+ * glib/gutils.c:
+ * glib/gwin32.c:
+ * glib/gstdio.c: Fix some typos, mark new API as "Since 2.8".
+
+2005-04-29 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gtree.c: Clarify some docs. (#302062, Matthew F. Barnes)
+
+2005-04-28 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gstrfuncs.c (g_strcompress): Warn and don't crash
+ when meeting a trailing \\. (#301373, Benjamin Otte)
+
+2005-04-27 Tor Lillqvist <tml@novell.com>
+
+ * glib/gconvert.c (open_converter, g_convert_with_iconv): Don't
+ call g_set_error() unless the GError pointer is non-NULL. This
+ avoids infinite recursion problems in certain rare situations on
+ Windows, when g_locale_from_utf8() is called from
+ _glib_get_locale_dir() after the change below. It's the
+ _glib_gettext() calls to translate error messages that are
+ parameters to g_set_error() that cause the recursion, not
+ g_set_error() itself.
+
+ * glib/gwin32.c (g_win32_locale_filename_from_utf8): New
+ function. Converts a filename to the system codepage, and if a
+ straight conversion isn't possible (because the filename contains
+ characters not in the system codepage), try looking up the
+ filename (which should refer to an existing file for this to
+ succeed) with short (8.3) pathname components.
+
+ * glib/gutils.c (_glib_get_locale_dir): No need to cache the
+ result, this function is normally called only once. Return the
+ path to the locale directory in system codepage, not UTF-8. The
+ path is passed to bindtextdomain(), which doesn't use UTF-8 file
+ names. Use g_win32_locale_filename_from_utf8(). (#301772)
+
+ Don't do run-time lookup of message catalog directory on
+ Cygwin. Cygwin is supposed to look and feel like Unix, and on Unix
+ we use paths fixed at configure time.
+
+2005-04-19 Tor Lillqvist <tml@novell.com>
+
+ * glib/gutils.h: Minor comment improvement.
+
+2005-04-18 Tor Lillqvist <tml@novell.com>
+
+ * glib/gfileutils.c: No <sys/wait.h> on Win32. Definition of
+ save_errno was missing in one place.
+
+Sat Apr 16 20:15:44 2005 Soeren Sandmann <sandmann@redhat.com>
+
+ * glib/gfileutils.c (g_file_replace): Save the errno in various
+ places
+
+ * glib/gfileutils.c (set_umask_permissions): Fork a child and do
+ chmod() to the umask() permissions there.
+
+2005-04-10 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gmessages.h (g_debug): Use G_LOG_LEVEL_DEBUG in
+ both definitions. (#300071, Tommi Komulainen)
+
+2005-04-09 Tor Lillqvist <tml@novell.com>
+
+ * glib/gutils.c: Include <process.h> on Win32 for getpid(). (#173094)
+
+2005-04-08 Tor Lillqvist <tml@novell.com>
+
+ * glib/gstdio.h
+ * glib/gstdio.c
+ * glib/glib.symbols (g_access, g_chmod, g_creat): Wrap also
+ access(), chmod() and creat(). (#169623, #171285)
+
+2005-04-08 Tor Lillqvist <tml@novell.com>
+
+ Improve g_get_system_data_dirs() on Windows. A library that calls
+ g_get_system_data_dirs() might be installed in a different
+ top-level prefix than GLib or the application being run.
+
+ * glib/gutils.h (g_win32_get_system_data_dirs): New static
+ function defined in this header. Calls
+ g_win32_get_system_data_dirs_for_module() passing the address of
+ itself as parameter. g_get_system_data_dirs() is #defined as this
+ function.
+
+ * glib/gutils.c (g_win32_get_system_data_dirs_for_module): New
+ function. If the address parameter is non-NULL, the corresponding
+ module's installation location is used for one of the returned
+ path names, in addition to the COMMON_APPDATA, COMMON_DOCUMENTS,
+ glib top-level and application top-level folders.
+ (g_get_system_data_dirs): Now just for backward compatibility on
+ Win32. Just call g_win32_get_system_data_dirs_for_module(NULL).
+
+ * glib/glib.symbols: Add g_win32_get_system_data_dirs_for_module.
+
+ * glib/gutils.c (read_aliases): Not used on Windows.
+ (unalias_lang): Don't do anything on Windows, there is no
+ /usr/share/locale/locale.alias file..
+
+Thu Apr 7 22:51:15 2005 <yosh@gimp.org>
+
+ * glib/gutils.c (g_get_system_data_dirs): Declare glib_top_share_dir
+ and exe_top_share_dir only in G_OS_WIN32.
+
+2005-04-08 Tor Lillqvist <tml@novell.com>
+
+ * glib/gutils.c (g_get_system_data_dirs): After investigating more
+ closely the actual use cases of this function, I understand better
+ what it needs to do on Windows. In addition to the Windows
+ COMMON_APPDATA and COMMON_DOCUMENTS folders, also return the
+ "share" subfolders of GLib's installation location and the
+ application .exe's installation location, hoping that either
+ matches what the function's caller is looking for.
+
+ * glib/gutils.h (G_WIN32_DLLMAIN_FOR_DLL_NAME): Use wide char API
+ if available, and store dll name in UTF-8.
+
+2005-04-05 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gfileutils.c (get_contents_stdio): Avoid memory
+ leaks in borderline cases. (#172612, Morten Welinder)
+
+2005-04-04 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gconvert.c: Clarify docs in some places. (#172404,
+ Morten Welinder)
+
+2005-04-03 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gutils.h: Undef G_CAN_INLINE if G_IMPLEMENT_INLINES is
+ defined. This was the pre-2.6 behaviour, and without it,
+ G_IMPLEMENT_INLINES cannot be used in multiple .c files
+ at all. (#165852, Dave Benson)
+
+2005-04-01 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gmain.c (g_child_watch_source_new): Add a note regarding
+ waitpid(-1).
+ (g_child_watch_source_init_multi_threaded):
+ (g_child_watch_source_init_single): Don't use SA_RESTART,
+ since it causes problems on at least one platform. (#168352)
+
+2005-03-30 Steve Murphy <murf@e-tools.com>
+
+ * configure.in: Added "rw" to ALL_LINGUAS.
+
+2005-03-30 Sven Neumann <sven@gimp.org>
+
+ * glib/gfileutils.c (get_contents_stdio): handle the unlikely case
+ that no bytes are read from the file and allocate an empty string.
+
+2005-03-30 Tor Lillqvist <tml@novell.com>
+
+ * glib/giowin32.c (g_io_win32_fd_get_flags_internal): Always claim
+ file descriptors open to devices are readable, since we can't
+ know. fstat() doesn't give any useful information. (#145326)
+
+2005-03-29 Tor Lillqvist <tml@novell.com>
+
+ * glib/gmain.c (g_poll): [Win32] If the event fired, assign
+ f->revents=f->events. We can't know whether the upper layer using
+ the event actually is readable, writeable or what, so say that all
+ the conditions hold. Remove the ResetEvent() call that has been
+ ifdeffed out anyway for a long time. Remove an "#ifdef 1" and
+ #endif pair of lines, that code is not optional.
+ (g_get_current_time): [Win32] Use GetSystemTimeAsFileTime()
+ instead of time() and GetTickCount(). Much simpler.
+
+2005-03-28 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/date-test.c:
+ * tests/testgdate.c: Add tests for
+ g_date_get_iso8601_week_of_year().
+
+ * glib/gdate.c (g_date_get_iso8601_week_of_year):
+ Fix the calculation. (#169858, Jon-Kare Hellan)
+
+2005-03-27 Tor Lillqvist <tml@novell.com>
+
+ * configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
+ after all, and in fact necessary with HEAD libtool.
+
+2005-03-23 Tor Lillqvist <tml@novell.com>
+
+ * glib/gutils.c (g_getenv): [Win32] Fix corner case bug when
+ environment variable value is exactly one character.
+
+2005-03-21 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/glib.symbols: Add g_try_malloc0
+
+ * glib/gmem.h: Add g_try_new, g_try_new0, g_try_renew and
+ g_try_malloc0. (#169611, Stefan Kost)
+
+ * glib/gmem.c: Implement g_try_malloc0.
+
+2005-03-20 Tor Lillqvist <tml@novell.com>
+
+ * glib/gspawn-win32.c (do_spawn_with_pipes): Close the process
+ handle if the caller doesn't want it also in the case without a
+ helper process.
+ (g_spawn_sync): Don't ask for a child pid which we don't need.
+
+ * glib/gtimer.c: On Win32, use GetSystemTimeAsFileTime() instead
+ of GetTickCount(). (#159507)
+
+ * glib/gmessages.c (g_log_default_handler)
+ * glib/gutils.c (g_get_prgname): Move the Win32 code that asks the
+ program name from the system to g_get_prgname(). Do output the pid
+ also on Win32 (useful in case there are several instances of the
+ same program running).
+
+ * tests/testglib.c (main): Print more detailled output from the
+ timer tests. Don't print home directory twice. Test
+ g_win32_error_message().
+
+ * tests/spawn-test.c (run_tests): On Win32, run netstat instead of
+ ipconfig. On Windows XP collecting output from ipconfig doesn't
+ seem to work for some reason.
+
+2005-03-18 Hans Breuer <hans@breuer.org>
+
+ * glib/makefile.msc.in : handle galiasdef.c (although completely
+ useless for msvc build)
+
+ * glib/gbacktrace.c glib/gmessage.c : need at least _WIN_VER 0x0401
+ for IsDebuggerPresent()
+
+2005-03-17 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gkeyfile.c: Update the documentation, reflecting the
+ fact that the special case for !group_name --> start_group
+ got removed. (#170566, Tim-Philipp Müller)
+
+2005-03-15 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/goption.c (g_option_context_set_main_group): Warn
+ if there already is a main group. (#170445, Jeff Franks)
+
+Sun Mar 13 22:01:17 2005 Manish Singh <yosh@gimp.org>
+
+ * tests/array-test.c: delete a bunch of dead code.
+
+Sun Mar 13 21:28:47 2005 Manish Singh <yosh@gimp.org>
+
+ * glib/gdataset.c: remove spurious IA prefix from g_quark_try_string.
+
+2005-03-13 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gatomic.c:
+ * glib/gcache.c: Small fixes to the previous commit.
+
+2005-03-13 Matthias Clasen <mclasen@redhat.com>
+
+ Make PLT-reduction work with gcc4, and don't include
+ everything in galias.h:
+
+ * glib/glib.symbols: Group symbols by header and source file.
+ * glib/makegalias.pl: Protect definitions by the same
+ preprocessor symbols used to guard the headers. Move
+ the alias declarations to a separate file which is
+ produced when calling makegalias.pl -def
+ * glib/Makefile.am (galiasdef.c): Add a rule to generate this
+ file.
+ * glib/*.c: Include galias.h after the other GLib headers,
+ include galiasdef.c at the bottom.
+
+ * glib/glib.symbols: Add g_listenv and g_file_replace.
+
+Fri Mar 11 23:51:12 2005 Soeren Sandmann <sandmann@redhat.com>
+
+ * glib/gfileutils.c (write_to_temp_file): Don't try and generate
+ a dotfile from the name -- it doesn't work with absolute
+ paths. Also make documentation indicate that symlinks will be
+ overwritten. Both pointed out by Alexis S. L. Carvalho.
+
+2005-03-11 Matthias Clasen <mclasen@redhat.com>
+
+ * m4macros/glib-gettext.m4: Avoid stupid compiler complaints
+ about precision loss.
+
+2005-03-10 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gdate.c: Remove a lot of pointless g_return_if_fail()
+ checks. (#169859, Morten Welinder)
+
+2005-03-10 Sven Neumann <sven@gimp.org>
+
+ * tests/file-test.c: include <gstdio.h>.
+
+2005-03-10 Sven Neumann <sven@gimp.org>
+
+ * glib/gfileutils.c (get_contents_stdio): delay memory allocation
+ until after the first read. Saves a bunch of reallocs. Also
+ increased the buffer size to 4096 bytes. (bug #165954)
+
+ * tests/file-test.c (test_get_contents): added a (very basic) test
+ for g_file_get_contents().
+
+Wed Mar 9 19:06:45 2005 Manish Singh <yosh@gimp.org>
+
+ * glib/glib.symbols: Add g_file_replace.
+
+2005-03-09 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Bump version
+
+2005-03-09 Sven Neumann <sven@gimp.org>
+
+ * glib/gfileutils.c (g_file_replace): avoid unnecessary filename
+ conversions.
+
+2005-03-09 Tor Lillqvist <tml@novell.com>
+
+ * glib/gutils.c (g_get_user_data_dir, g_get_user_config_dir,
+ g_get_user_cache_dir, g_get_system_data_dirs,
+ g_get_system_config_dirs): [Win32] Don't leak return value from
+ get_special_folder(). (#169348, Daniel Atallah) Guard against
+ g_home_dir being NULL, use g_tmp_dir/g_user_name in that case.
+
+Tue Mar 8 15:46:54 2005 Søren Sandmann <sandmann@redhat.com>
+
+ * glib/gfileutils.c (g_file_replace): New API. A function to
+ atomically create a file.
+
+2005-03-08 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/glib.symbols: Add the new attributes here too.
+
+ * glib/gmacros.h: Define G_GNUC_NULL_TERMINATED.
+ (#164706, Marc Meissner)
+
+ * glib/gstrfuncs.h:
+ * glib/gfileutils.h: Use G_GNUC_NULL_TERMINATED where
+ appropriate.
+
+ * glib/goption.c (parse_int): Fix an error message.
+ (#168751, Hazael Maldonado Torres)
+
+2005-03-07 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gdebug.h: Small cleanup (use G_BEGIN/END_DECLS).
+ (#168474, Fabricio Barros Cabral)
+
+2005-03-07 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gutils.c (g_find_program_in_path): Mark the last
+ paragraph of the docs as Windows-specific. (#169433)
+
+2005-03-06 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gmarkup.c: Add G_GNUC_PRINTF attribute
+ to set_error.
+ (g_markup_parse_context_end_parse): Fix an
+ error message, noticed by Tim Janik.
+
+2005-02-24 Tor Lillqvist <tml@novell.com>
+
+ * glib/Makefile.am (BUILT_EXTRA_DIST): Don't distribute
+ glib.def. (#167496, J. Ali Harlow)
+
+ * glib/gfileutils.c (get_contents_win32): Use g_fopen(). (#168341,
+ Daniel Atallah)
+
+2005-02-23 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Don't forget to set G_THREAD_LIBS_FOR_GTHREAD
+ on non-linux platforms. (#168177, Michael Banck)
+
+ * tests/keyfile-test.c (test_locale_string): Set LANGUAGE
+ instead of LC_ALL to shield against LANGUAGE being set in
+ the environment. (#168311, Suren A. Chilingaryan)
+
+Tue Feb 22 22:03:38 2005 Manish Singh <yosh@gimp.org>
+
+ * glib/gstdio.h: On G_OS_UNIX, simple #define g_open and co. as
+ aliases for their respective C library functions, instead of
+ using the function wrappers. This avoids library users having to
+ care about matching large file support with whatever glib has been
+ built with. Fixes bug #167942.
+
+ * glib/gstdio.c
+ * glib/abicheck.sh
+ * glib/glib.symbols
+ * glib/makegalias.pl: Logic to make the gstdio wrappers still
+ available for compatibility, but not used in new code.
+
+Tue Feb 22 18:33:07 2005 Manish Singh <yosh@gimp.org>
+
+ * glib/gtimer.c (g_usleep): Simplify the loop for the fix below.
+
+2005-02-20 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gqueue.c (g_queue_new): Use a memchunk for
+ sizeof(GQueue)-sized chunks. (#167984, Fabrício Barros Cabral)
+
+ * glib/gtimer.c (g_usleep): Fix usage of
+ nanosleep(). (#163039, Bastien Nocera)
+
+2005-02-16 Adi Attar <aattar@cvs.gnome.org>
+
+ * configure.in: Added "xh" to ALL_LINGUAS.
+
+2005-02-11 Tor Lillqvist <tml@novell.com>
+
+ * glib/giowin32.c: Include winsock2.h before windows.h, to avoid
+ compilation errors with MSVC. (#167105)
+
+2005-02-10 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/goption.c (print_help): Take main group options into
+ account when calculating column size. (#166921)
+ (g_option_context_parse): Accept -? as documented. (#166977)
+
+2005-02-09 Matthias Clasen <mclasen@redhat.com>
+ * glib/gkeyfile.c (find_file_in_data_dirs): Don't leak path
+ here. (#166801, Kjartan Maraas)
+
+2005-02-08 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gkeyfile.c (g_key_file_parse_value_as_string): Don't
+ write out of bounds.
+
+ * glib/goption.c (g_option_context_parse): Fix a
+ one-too-short memory allocation. (#166609, Nicolas Laurent)
+
+ * tests/Makefile.am (TESTS_ENVIRONMENT): Add tests with
+ MALLOC_CHECK_.
+
+ * tests/option-test.c: Add a test for unkown short options.
+
+2005-02-07 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/glib.symbols:
+ * glib/gutils.h:
+ * glib/gutils.c (g_listenv): New function to list all
+ environment variables. (#166327, Hans Petter Jansson)
+
+2005-02-07 Tor Lillqvist <tml@novell.com>
+
+ * glib-zip.in: Add gmodule-no-export-2.0.pc.
+
+Sun Feb 6 21:59:09 2005 Manish Singh <yosh@gimp.org>
+
+ * glib/abicheck.sh: feed the contents of config.h and glibconfig.h
+ into the preprocessor, since glib.symbols could need #defines
+ from them.
+
+Sun Feb 6 12:09:55 2005 Manish Singh <yosh@gimp.org>
+
+ * glib/gatomic.c: Don't use matching constraints for asm mem
+ parameters. This makes the code match with current glibc, and
+ quiets some warnings with gcc 3.4.
+
+2005-02-05 Tor Lillqvist <tml@novell.com>
+
+ * configure.in (G_LIBS_EXTRA)
+ * glib/giowin32.c: I think we can include <winsock2.h> and link
+ with -lws2_32. Only Windows 95 originally didn't have Winsock 2,
+ and it's available as an update for it. Not that we use any actual
+ Winsock 2 -only features, but still, simpler to link directly with
+ ws2_32.dll instead of going through wsock32.dll.
+
+ * glib/gfileutils.c (g_file_get_contents): In the Win32 ABI
+ stability version, call g_file_get_contents_utf8(), not
+ itself. (#166386, Bill Skaggs)
+
+2005-02-04 Matthias Clasen <mclasen@redhat.com>
+
+ * configure.in: Remove the --enable-ansi option (#160469)
+
+ * configure.in: Define a HAVE_GNUC_VISIBILITY automake
+ conditional.
+
+ * glib/Makefile.am (TESTS): Only check the abi if
+ the compiler supports visibility, otherwise we
+ know there will be (harmless) extra symbols.
+ (#166181, Ed Avis)
+
+2005-02-02 Tor Lillqvist <tml@novell.com>
+
+ * glib/gwin32.h: Remove unnecessary MSVC-only typedef for
+ pid_t. (#165910) GLib does not pretend to be a POSIX emulation
+ library.
+
+ * glib/gstdio.c: In the Win32 part of all functions, handle
+ invalid UTF-8 more robustly. Don't pass the resulting NULL
+ wide-char or codepage strings on to C library functions, but bail
+ out early. (#166084)
+
+ * glib/gfileutils.c: Don't use potentially incorrect errno in
+ several places. (#165951)
+ (g_mkstemp): Set errno appropriately.
+
+2005-02-02 Matthias Clasen <mclasen@redhat.com>
+
+ * glib/gutils.c: Move doc comments inline.
+
+ * glib/ghash.h: Adjust some argument names.
+
+ * configure.in: Give meaningful names to g_memmove()
+ arguments.
+
+2005-02-01 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/keyfile-test.c (test_key_remove): Add test case for
+ key removal.
+
+ * glib/gkeyfile.c (g_key_file_remove_key): Actually remove
+ the key from the list of pairs. (#165980, David Hoover)
+
+ * glib/gkeyfile.c: Doc clarifications. (#165907, Vincent Untz)
+
+ * tests/keyfile-test.c (test_group_remove): Add test case for
+ group removal.
+
+ * glib/gkeyfile.c (g_key_file_remove_group): Don't segfault
+ if the group doesn't exist. (#165887, Mathias Hasselmann)
+
+2005-01-30 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/keyfile-test.c: Some more unit tests.
+
+2005-01-28 Christian Rose <menthos@menthos.com>
+
+ * configure.in: Added "tl" to ALL_LINGUAS.
+
+2005-01-24 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/run-markup-tests.sh: Let $srcdir default to .
+
+ * tests/markups/fail-40.gmarkup: Add a test with a long entity
+ name.
+
+ * glib/gmarkup.c (unescape_text_state_inside_entity_name): Don't
+ copy the entity name into a short buffer of fixed length. Instead,
+ compare it in place with strncmp(), and do a full strdup() in the
+ error path. (#165100, Simon Budig)
+
+2005-01-22 Tor Lillqvist <tml@novell.com>
+
+ * glib/gdate.c (g_date_set_time): Don't g_assert that localtime()
+ returns non-NULL. It does return NULL at least on Win32 if you
+ pass it a negative time_t, which although wrong, shouldn't cause
+ an application to abort. Instead return 2000-01-01 as a default
+ date. Print a warning unless G_DISABLE_CHECKS. (#164622)
+
2005-01-20 Matthias Clasen <mclasen@redhat.com>
+ * glib/gkeyfile.c (g_key_file_parse_value_as_integer): Don't
+ interpret leading zeros as octal. The specification requires
+ %f parsing, and %f doesn't allow octal.
+
* tests/keyfile-test.c: Add some more tests.
* glib/gkeyfile.c (g_key_file_get_keys): Return keys in