Move string join/split/free routines from libgnome/gnome-string, rename,
[platform/upstream/glib.git] / ChangeLog.pre-2-4
index c21990f..2223719 100644 (file)
@@ -1,7 +1,695 @@
+1998-10-20  Elliot Lee  <sopwith@redhat.com>
+
+       * glib.h, gstrfuncs.c: Move string join/split/free routines from
+       libgnome/gnome-string, rename, and add g_str_chug.
+
+1998-10-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * configure.in: made the check for needed _ in module's func-names
+       work on solaris. (G_MODULE_NEED_USCORE must be set outside
+       AC_CACHE_VAL, dlopen(0,0) refused to work on solaris).
+
+Tue Oct 20 03:32:58 PDT 1998 Manish Singh <yosh@gimp.org>
+
+       * configure.in
+       * acconfig.h: added test for endianness
+
+       * glib.h: #define endian macros for system and some conversions
+       between byte order
+
+Thu Oct  8 06:47:27 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h:
+       * gdataset.c: removed functions g_dataset_id_set_destroy and
+       g_datalist_id_set_destroy and macros g_dataset_set_destroy and
+       g_datalist_set_destroy.
+       added new functions g_dataset_id_remove_no_notify and
+       g_datalist_id_remove_no_notify plus associated macros
+       g_dataset_remove_no_notify and g_datalist_remove_no_notify, which
+       will remove a certain data portion without invokation of its destroy
+       notifier, this should only be used in very controled circumstances.
+
+Wed Oct  7 05:31:24 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h:
+       removed the #pragma } statement after extern "C" {. use
+       (c-set-offset 'inextern-lang 0) to fixup emacs cc-mode indentation.
+
+       * glib.h:
+       * ghook.c: API and code cleanups. changed the G_HOOK_ACTIVE and
+       G_HOOK_IN_CALL enum vals to G_HOOK_FLAG_ACTIVE and G_HOOK_FLAG_IN_CALL.
+       changed the G_HOOK_IS_ACTIVE() and G_HOOK_IS_IN_CALL() macros to
+       G_HOOK_ACTIVE() and G_HOOK_IN_CALL().
+       fixed the g_hook_find* functions, so they iterate over non-active
+       hooks as well.
+       (g_hook_first_valid):
+       (g_hook_next_valid): added an extra argument gboolean may_be_in_call,
+       which indicates whether G_HOOK_IN_CALL() hooks are considered valid
+       or not. these two functions are meant as iterators for the hook list
+       invocation, so they need to a) provide functionality to implement
+       may_recurse bahaviour and b) only walk active hooks.
+
+Tue Oct  6 14:29:47 1998  Tim Janik  <timj@gtk.org>
+
+       * gmem.c (g_malloc0): fixed memory offsett when ENABLE_MEM_CHECK is
+       defined and ENABLE_MEM_PROFILE is not (patch from Martin Pool
+       <mbp@wistful.humbug.org.au>).
+
+Sat Oct  3 01:18:10 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h:
+       * ghook.c:
+       (g_hook_list_invoke):
+       (g_hook_list_invoke):
+       (g_hook_list_marshal): properly handle the first valid hook to call,
+       it maybe IN_CALL already.
+       (g_hook_list_marshal): minor name change.
+
+Fri Oct  2 23:21:21 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h:
+       * ghook.c: renamed GHook.id to GHook.hook_id so we don't get troubles
+       with ObjC which reserves "id" as a keyword (Raja R Harinath
+       <harinath@cs.umn.edu>).
+
+Wed Sep 30 10:53:03 1998  Tim Janik  <timj@gtk.org>
+
+       * Makefile.am: added ghook.c.
+
+       * glib.h:
+       * ghook.c: generic callback maintenance functions.
+
+       * glib.h: define G_GNUC_UNUSED.
+
+Fri Sep 25 00:04:37 1998  Tim Janik  <timj@gtk.org>
+
+       * configure.in: version bump to 1.1.4, binary age 0, interface age 0.
+
+       * glib.h (struct _GScanner): dumped peeked_char and text_len in favour
+       of *text_end and *buffer for buffered read()s.
+
+       * gscanner.c: changed peeking and retrival of next character so we
+       have buffered reads. fixed minor bug with number parsing error
+       reporting. made some static!!! variables local ones (why did we use
+       static temporary variables in the lowlevel tokenization code anyways?).
+
+Mon Sep 21 23:23:10 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
+
+       * Released GLib 1.1.3
+
+Mon Sep 21 07:43:13 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h: added g_renew() which works as g_new() for g_realloc().
+
+Mon Sep 21 02:22:12 1998  Tim Janik  <timj@gtk.org>
+
+       * NEWS file update for upcoming release of GLib + GModule
+       version 1.1.3, binary age 0, interface age 0. (GModule uses
+       the same version numbers as GLib.)
+
+       * glib.h: swap the inclusion of of float.h and limits.h to work
+       around a egcs 1.1 oddity on Solaris 2.5.1 (fix provided by
+       Per Abrahamsen  <abraham@dina.kvl.dk>).
+
+       * glib.h:
+       * gscanner.c: renamed the GValue union to GTokenValue, this should
+       not affect source compatibility in most cases.
+
+       * ghash.c: added some g_return_if_fail() statements. make
+       g_hash_table_lookup_node() an inline function so we save an extra
+       function invokation on lookups.
+
+Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * ltconfig.sh: Patch to libtool-1.2b to make --disable-static
+       work.
+
+Sun Sep 20 02:09:44 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
+
+       * glib.h: New function g_hash_table_foreach_remove is similar to
+       g_hash_table_foreach, but the callback's return value indicates
+       whether to remove the element (if TRUE) or not (if FALSE).  
+       Returns the number of elements deleted.
+
+Fri Sep 18 11:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
+
+       * glib.h
+       * gstrfuncs.c: added g_memdup implementation
+
+Fri Sep 18 18:46:14 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h:
+       * gdataset.c: make the datalists a safe type (not using a generic
+       gpointer) by expecting a GData* argument in the g_datalist functions.
+       provide g_dataset_foreach() and g_datalist_foreach() functions that
+       allow a GDataForeachFunc function to walk the data lists.
+       (g_dataset_destroy_internal): made this function truely reentrant (i.e.
+       can be called from within destroy notifiers as well).
+       the *_foreach functions are _not_ reentrant (unless all the other
+       dataset and datalist functions).
+
+Fri Sep 18 03:41:20 1998  Tim Janik  <timj@gtk.org>
+
+       * gtree.c (g_tree_new): check for key_compare_func != NULL (reported
+       by Michal Kara).
+
+Thu Sep 17 18:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
+
+       * config.h.in: removed from repository
+
+       * install-sh
+       * missing
+       * mkinstalldirs: updated to latest automake version
+
+Thu Sep 17 06:36:25 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h:
+       * gdataset.c: implemented g_datalist_* along the lines of g_dataset,
+       but operates on an opaque gpointer *datalist; pointer, e.g. for the
+       implementation of GtkObject named data.
+       we cache a certain portion of the already freed data entries now, to
+       gain a slight performance improve with data reallocation.
+
+Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * Makefile.am glib-config.in l*: Update to libtool-1.2b,
+       change library versioning scheme to drop LT_RELEASE
+       from the -l line, while keeping it in the soname.
+
+Fri Sep 11 02:11:46 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h: explicitely include the prototypes for inline functions
+       to cure gcc warnings for -Wmissing-prototypes.
+
+Wed Sep  9 02:52:04 PDT 1998 Manish Singh <yosh@gimp.org>
+
+       * configure.in: added -posix check for NeXTStep
+
+Tue Sep  8 05:04:06 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h: abandon the use of ATEXIT(), we keep the fallback
+       macros for backwards compatibility. people ought to use g_atexit().
+
+       * gutils.c (g_atexit): new function to take over the implementation
+       of ATEXIT. this function is guarranteed to succeed, similar to
+       g_malloc().
+
+Mon Sep  7 20:07:38 PDT 1998 Manish Singh <yosh@gimp.org>
+
+       * configure.in: comment the -std1 check and save LIBS properly
+
+Mon Sep  7 07:53:21 1998  Tim Janik  <timj@gtk.org>
+
+       * configure.in: check for all three inline keywords individually.
+
+       * glib.h: inlining hassle. for compilers that don't allow the `inline'
+       keyword, mostly because of strict ANSI C compliance or dumbness, we try
+       to fall back to either `__inline__' or `__inline'. 
+       we define G_CAN_INLINE, if the compiler seems to be actually *capable*
+       to do function inlining, in which case inline function bodys do make
+       sense. we also define G_INLINE_FUNC to properly export the function
+       prototypes if no inlinig can be performed. we special case most of the
+       stuff, so inline functions can have a normal implementation by defining
+       G_INLINE_FUNC to extern and G_CAN_INLINE to 1.
+
+       * ltconfig: (compiler PIC flag test): special case linux for non
+       aout systems to honour lcc's position independant code (cases
+       "linux*aout)" and "linux*)" got added). (this needs to go into
+       libtool which does an advanced test, checking for __LCC__).
+
+       * autogen.sh: take $CC=lcc into account by invoking automake with
+       --include-deps so lcc isn't scared by gcc's auto-dependancy
+       generation code. care about $ACLOCAL_FLAGS. optionally feature
+       autoheader.
+
+       * minor fixups in other places to cure some of lcc's warnings.
+
+Sun Sep  6 19:08:53 PDT 1998 Manish Singh <yosh@gimp.org>
+
+       * configure.in: added -std1 check for ANSI compliance (from gtk)
+
+Sun Sep  6 12:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
+
+       * glib.h: provide proper ATEXIT behavior on NeXTStep by !atexit
+
+Sat Sep  5 18:03:36 1998  Tom Tromey  <tromey@cygnus.com>
+
+       * gutils.c (GLIB_INLINE): Define.
+       * glib.h (GLIB_INLINE): New define.
+       (g_bit_nth_msf): Use it.  Also, add prototype.
+       (g_bit_storage): Likewise.
+       (g_bit_storage): Likewise.
+
+Sat Sep  5 04:40:02 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h: 
+       (g_chunk_new0): use g_mem_chunk_alloc0() to allocate the memchunk,
+       so the correct size of the memchunk is allocated with 0's and not
+       a memory portion of the size of the desired type.
+
+       * gmem.c: new function g_mem_chunk_alloc0() which will initialize
+       a memory area allocated with g_mem_chunk_alloc() with 0's.
+
+Wed Sep  2 19:13:28 1998  Owen Taylor  <otaylor@redhat.com>
+
+       * garray.c glib.h (g_array_[ap/pre]pend_vals): make
+       data argument const.
+
+Wed Aug 26 06:32:40 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h:
+       * gstrfuncs.c: new function g_strnfill() to return a new string
+       of specified length, filled with a specific character.
+
+Tue Sep  1 23:46:31 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
+
+       * testglib.c (main): Update the array tests.  Reduce the number of
+       iterations for the prepend test from 10000 to 100 since it is
+       O(n^2) and was taking longer than I would like to wait.
+
+       * garray.c: I've worked on the GArray interface, mostly.  It was
+       seriously broken before and I hate to do it, but this is going to
+       break some code.  It is important to do this now, because more and
+       more people are starting to use glib and the interface was both
+       broken and inconsistent.  First, rename the _truncate functions of
+       both the GArray and GPtrArray classes to _set_size, since this
+       function can also be used to extend the arrays.  GArray now
+       accepts two more initialization arguments: clear and element_size.
+       Instead of providing the type to each access function, the array
+       now stores the element size.  Clear, if set, causes the library to
+       zero element's memory as the array expands.  The major broken-ness
+       here was that array->len was in bytes, not elements.  Now, since
+       the array knows its element size, array->len is correct and I have
+       removed the g_array_length macro.  The only macro which now
+       accepts the type as an argument is g_array_index, which casts the
+       element to the right type--this interface does not change.  The
+       append and prepend functions simply need the types removed.
+       g_ptr_array_remove_index now returns the removed element.
+
+       * gprimes.c (g_spaced_primes_closest): Move this function out of
+       ghash.c and rename it from g_hash_closest_prime.  Fix the primes
+       so that they are actually prime (they weren't all -- isn't that
+       nice?).
+
+Mon Aug 24 02:08:56 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h:
+       * gstring.c:
+       * gstrfuncs.c:
+       (g_vsprintf): removed this function which was not publically
+       exported in glib.h. to export it, it should have been named
+       differently in the first place, since its semantics differ from
+       vsprintf(). apart from that, it was a possible cause for
+       problems since it worked on a previously allocated memory area and
+       was used in a lot places of glib. exporting it would have been a
+       guararant for problems with threaded programs.
+       (g_printf_string_upper_bound): exported this function to return
+       a string size, guarranteed to be big enough to hold the fully
+       expanded format+args string. added 'q', 'L' and 'll' flag handling.
+       in fact, the newly allocated area is in most cases much bigger than
+       required.
+       (g_strdup_vprintf()): new function returning a newly allocated string
+       containing the contents of *format and associated args (size is
+       calculated with g_printf_string_upper_bound()).
+       (g_strdup_printf): new function which wraps g_strdup_vprintf().
+
+       * configure.in: check for va_copy() or __va_copy() alternatively.
+       check whether va_lists can be copyied by value.
+
+       * glib.h: provide a definition for G_VA_COPY.
+
+       * glib.h:
+       * gmessages.c:
+       (g_logv):
+       (g_vsnprintf):
+       pass va_lists by value, not by reference, since this causes problems
+       on platforms that implement va_list as as arrays. internaly, use
+       G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second
+       va_list variable, if multiple passes are required. changed all
+       callers.
+
+       * glib.h:
+       * gerror.h:
+       renamed g_debug() to g_on_error_query(), cleaned up a bit.
+       renamed g_stack_trace() to g_on_error_stack_trace() since both
+       functions cluttered different namespaces.
+       there is an appropriate comment in glib.h now that explains the
+       unix and gdb specific dependencies of both functions.
+       removed g_attach_process().
+       g_on_error_stack_trace() should probably be handled with caution,
+       i've seem several different linux versions (2.0.x) become unstable
+       after invokation of this function.
+
+1998-08-18: Elliot Lee <sopwith@redhat.com>
+
+       * In gmem.c, add the ability to exclude memory chunks from the
+         memory profiling information.
+
+Tue Aug 18 18:23:09 PDT 1998 Manish Singh <yosh@gimp.org>
+
+       * glib.h
+       * gstrfuncs.c: added g_strndup
+
+Tue Aug 18 04:40:17 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h:
+       * gmessages.c: new function g_log_set_always_fatal() to set an
+       additional fatal_mask for log levels that are considered to be fatal
+       globally (required by gtk). since this mask is not domain-associated,
+       it is restricted to the log levels, introduced by glib itself.
+
+       * gmem.c:
+       * grel.c:
+       * gtree.c (g_tree_node_check):
+       don't use g_print() calls for informational/debugging output,
+       but log all this stuff through g_log() with G_LOG_LEVEL_INFO.
+       libraries shouldn't use printf(), g_print() or g_printerr() at all.
+
+Tue Aug 18 02:46:44 1998  Tim Janik  <timj@gtk.org>
+
+
+       * glib.h (__STRICT_ANSI__): if __STRICT_ANSI__ is defined, make
+       `inline' a noop, since strict ANSI rules don't permit `inline'.
+
+Mon Aug 17 15:21:42 1998  Tim Janik  <timj@gtk.org>
+
+       * grel.c: made private functions static.
+
+Sun Aug 16 23:23:46 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
+
+       * gmodule/Makefile.am: added gmodule-dl.c and gmodule-dld.c to
+         EXTRA_DIST
+       * glib.spec: version = 1.1.3
+
+Mon Aug 17 01:46:14 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.m4: feature an extra MODULES parameter, so glib-config can
+       be invoked with the "gmodule" argument.
+
+       * glib.h: changed the log level to G_LOG_LEVEL_CRITICAL for all
+       g_return*_if_fail statements, and made them issue a message
+       like "assertion `%s' failed".
+
+       * gmessages.c (g_logv): ugh, don't pass log_domain as NULL to
+       g_log_find_domain.
+
+Sun Aug 16 20:28:27 1998  Tim Janik  <timj@gtk.org>
+
+        * version bump to 1.1.3, binary age 0, interface age 0.
+
+       * glib.h: be nice to platforms that don't have gint64 and don't
+       issue #warning on every compilation. since glib doesn't require
+       gint64 itself, packages that need gint64 should test for this
+       themselves.
+
+       * glib.h:
+       * gutils.c: added a new function g_vsnprintf().
+
+Sun Aug 16 Elliot Lee
+
+       glib.h: #error out if we don't recognize the SIZEOF_VOID_P
+               #warning if no gint64
+
+Fri Aug 14 16:41:53 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h: added static inline functions for bit mask tests:
+       g_bit_nth_lsf, g_bit_nth_msf and g_bit_storage.
+
+Fri Aug 13 14:23:37 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h:
+       * gmessages.c:
+       revised the message handling system, which is now based on a new
+       mechanism g_log*. most of the assertment macros got adapted to
+       feature the new g_log() call with an additional specification of
+       the log level in a preprocessor macro G_LOG_DOMAIN. if G_LOG_DOMAIN
+       is undefined upon the includion of glib.h, it'll be defined with a
+       value of (NULL) and thus preserves the original bahaviour for
+       warning and error messages. the message handler setting functions
+       for g_warning, g_error and g_message are only provided for backwards
+       compatibility and might get removed somewhen.
+
+       * Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
+       to "GLib" upon compilation. we currently have to add this definition
+       to the DEFS variable.
+       * testglib.c: we need an ugly #undef G_LOG_DOMAIN at the start
+       of this file currently, since automake doesn't support per target
+       _CFLAGS yet.
+
+       * glib.h: changed some gints to gbooleans, made a few const corrections,
+       removed some superfluous G_STMT_START{}G_STMT_END wrappers, added some
+       in other required places.
+
+       * gnode.c:
+       (g_node_prepend):
+       (g_node_insert_before):
+       (g_node_insert):
+       (g_node_append_data):
+       (g_node_prepend_data):
+       (g_node_insert_data_before):
+       (g_node_insert_data):
+       (g_node_append):
+       return (node), so these macros/functions can be usefully chained with
+       g_node_new().
+
+Mon Aug 10 17:56:11 PDT 1998 Manish Singh <yosh@gimp.org>
+
+       * glib.h: it's GTime now, and it's back!
+
+Mon Aug 10 02:17:19 1998  Tim Janik  <timj@gtk.org>
+
+       * Makefile.am: minor hack to cause SUBDIRS (gmodule) to be build
+       last. we do this by making all-recursive-am depend on all-am.
+
+Sun Aug  9 15:56:11 1998  Tim Janik  <timj@gtk.org>
+
+       * configure.in: added GModule checks. generate files in gmodule/.
+       * glib-config.in: support library specifications `glib' and `gmodule'.
+       * Makefile.am: feature the gmodule/ subdir.
+
+Wed Aug  5 10:04:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
+
+       * Released GLib 1.1.2
+
+Wed Aug 05 01:15:36 1998  George Lebl  <jirka@5z.com>
+
+       * testglib.c: fix 64-bitness in g_prints, sizeof doesn't
+         seem to return int so I cast it for printing, probably
+         just cosmetic
+
+Tue Aug  4 19:54:06 PDT 1998 Shawn T. Amundson <amundson@gkt.org>
+
+       * Released GLib 1.1.1
+
+Tue Aug  4 15:17:54 1998  Tim Janik  <timj@gtk.org>
+
+       * configure.in: version bump to 1.1.1, binary age 1, interface age 0.
+       * NEWS: updates.
+       * README: updates.
+       * INSTALL: updates and fixes.
+       * COPYING: include the GNU LGPL, rather than shipping an empty file.
+       * AUTHORS: listed original authors here, and added people who made
+       significant improvements to glib.
+
+       * glib.h:
+       * gutils.c: implement g_get_current_dir() which returns a newly
+       allocated string, instead of a g_getcwd() variant that operates
+       on a static buffer.
+       export glib_interface_age and glib_binary_age.
+       as a convenience, macro definitions have been added for
+       g_node_insert_data, g_node_insert_data_before, g_node_append_data and
+       g_node_prepend_data.
+
+       * testglib.c: minor cleanups, print current dir.
+
+Mon Aug  3 16:02:26 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h:
+       * gnode.c: change order of gpointer data; field in struct _GNode to
+       be partly binary compatible with GList and GSList.
+
+1998-08-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * garray.c (g_ptr_array_remove_index): bugfix: index check for
+       array has been wrong.
+
+Fri Jul 31 22:17:05 1998  Tim Janik  <timj@gtk.org>
+
+       * testglib.c (g_node_test): added a GNode test.
+
+Fri Jul 31 09:08:16 1998  Tim Janik  <timj@gtk.org>
+
+       * Makefile.am: compile gnode.c.
+
+       * glib.h:
+       * gnode.c: added implementation of n-way trees.
+
+       * gtree.c (g_tree_traverse): added a warning to the switch() statement
+       which says that G_LEVEL_ORDER is not implemented.
+
+Mon Jul 27 00:17:30 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
+
+       * Released GLib 1.1.0
+
+Mon Jul 27 01:02:27 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h: #if 0'ed out the GTime definition, until it is definitively
+       needed. #if 0'ed out the g_getcwd() version, because it is the wrong
+       implementation.
+
+Sat Jul 25 16:09:00 1998  Mark Crichton <crichton@expert.cc.purdue.edu>
+
+       * glib.h: gtime changed to g_time.  gtime is used in
+       /usr/include/time.h in NetBSD, causing multiple headaches.
+       If this isn't the right way of fixing it.... ;)
+
+Thu Jul 23 00:29:14 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h:
+       * gscanner.c: new functions to make a scanner scope sensitive wrt
+       symbol lookups.
+       g_scanner_scope_foreach_symbol, g_scanner_scope_lookup_symbol,
+       g_scanner_scope_remove_symbol, g_scanner_scope_add_symbol and
+       g_scanner_set_scope.
+       g_scanner_add_symbol, g_scanner_remove_symbol and
+       g_scanner_foreach_symbol are now aliases for scope 0.
+
+Mon Jul 20 23:05:34 1998  George Lebl  <jirka@5z.com>
+
+       * glib.h: typo fixed for alphas for gint64
+
+Tue Jul 14 09:05:18 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h:
+       * gutils.c: new fuction g_dirname() which returns a newlly
+       allocated string.
+
+Fri Jul 10 06:33:43 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h:
+       * gutils.h: added a bunch of utility/wrapper functions:
+       g_basename(), g_getcwd(), g_get_user_name(), g_get_real_name(),
+       g_get_home_dir(), g_get_tmp_dir(), g_get_prgname() and g_set_prgname().
+
+       * gutils.c: removed all g_str* functions.
+       * gstrfuncs.c: moved the bunch g_str* functions from gutils.c in this
+       place. this file shall never include <unistd.h> to avoid clashes for
+       some of the g_str* functions on some OSes.
+
+Fri Jul 10 00:29:03 EEST 1998 Lauri Alanko <nether@gimp.org>
+
+       * glib.h:
+       * ghash.c: Renamed g_hash_table_lookup_full to
+       g_hash_table_lookup_extended to conform with naming conventions.
+
+Tue Jul  7 03:18:58 EEST 1998 Lauri Alanko <nether@gimp.org>
+
+       * glib.h:
+       * ghash.c: Generic cleanup, added a function:
+       (g_hash_table_lookup_full): Return whether the lookup succeeded,
+       and also retrieve the key and value. This allows one to
+       distinguish between failed lookup and finding a NULL, and also
+       allows one to free a key in the hash.
+
+Mon Jul  6 10:12:05 PDT 1998 Manish Singh <yosh@gimp.org>
+
+       * ltconfig: fix for properly detecting shared lib support on
+       SunPro cc (taken from libtool 1.2.a)
+
+Sat Jul  4 13:38:52 PDT 1998 Manish Singh <yosh@gimp.org>
+
+       * glib.h: added g_array_length
+
+Tue Jun 30 11:58:25 1998  Tim Janik  <timj@gtk.org>
+
+       * gscanner.c (g_scanner_unexp_token): take symbol_2_token into
+       account. react on valid/invalid string pairs.
+
+Sat Jun 27 21:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
+
+       * glib.m4: ftp.glib.org -> ftp.gtk.org, since glib.org isn't
+       ours. ;)
+
+Fri Jun 19 03:11:02 1998  Tim Janik  <timj@gtk.org>
+
+       * gdataset.c: removed g_dataset_try_key, g_dataset_force_id and
+       g_dataset_retrive_key in favour of GQuarks.
+       a GQuark is an numeric id wich is associated with a certain string.
+       (g_quark_try_string): try to get the quark associated with this string,
+       if the lookup failed return 0.
+       (g_quark_from_string): get the associated quark for a string, if there
+       isn't currently a GQuark associated with this string, then allocate a
+       new quark and return that.
+       (g_quark_from_static_string): like the above function, but the string
+       isn't strdup()ed to save memory.
+       (g_quark_to_string): get the string that is associated with a certain
+       GQuark.
+
+       * gdataset.c (g_dataset_id_set_data_full): invoke the destroy function
+       _after_ the new data has been setup.
+
+Thu Jun 18 02:35:21 1998  Owen Taylor  <otaylor@gtk.org>
+
+       * glib.h: Changed messages for g_return_[val]_if_fail to
+       be somewhat more clear: assertion "blah" failed.
+
+1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
+
+       * testglib.c (main): Use GINT_TO_POINTER casts to remove compiler
+       warnings.
+
+       * grel.c: #include <string.h>
+
+Fri Jun 12 15:39:06 1998  Tim Janik  <timj@gtk.org>
+
+       * glib.h (GScanner): cleanups of the structure fields (binary
+       incompatible).
+
+Fri Jun 12 00:39:28 1998  Josh MacDonald  <jmacd@icw.EECS.Berkeley.EDU>
+
+       * glib.h: add new hash and equal functions g_int_*.  complement
+       g_direct_hash with g_direct_equal.
+
+       * grel.c: new file, GRelations implement tuples of N-N mappings.
+       A comment in glib.h briefly describes the interface.
+
+       * ghash.c: new function, g_hash_table_size
+
+       * glib.h: new typedefs, gsize, gssize, gtime.
+
+       * garray.c: new functions implementing a simplified GArray.  This
+       GPtrArray is an array of gpointers and has functions to add and
+       remove elements, much like java.lang.Vector.
+
+       * garray.c: new functions for the single-byte special case of
+       GArray.  The functions g_byte_array* operate on arrays of bytes.
+       Internally, a GArray is used.
+
+       * testglib.c: tests for g_ptr_array, g_byte_array, and g_relation...
+
+1998-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
+
+       * gdataset.c: #include <string.h>
+
+Thu Jun 11 04:15:31 1998  Tim Janik  <timj@gtk.org>
+
+        * glib.h:
+        * gdataset.c: new function g_dataset_retrive_key. adjusted prealloc
+        sizes, to take up less space on initial allocation.
+
+1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
+
+       * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
+       the version from which glib's libtool forked.  Needed for people
+       who use post-1.2 alphas of libtool.
+       * configure.in (enable_mem_check, enable_mem_profile): Replace
+       `echo -n' with AC_MSG_CHECKING.
+       (fd_set): Explain test for `fd_set' better.
+
 Wed Jun 10 19:29:51 1998  Owen Taylor  <otaylor@gtk.org>
 
        * Makefile.am glib.m4 configure.in:
-       
+
        Moved out from GTK+; added AM_PATH_GLIB macro.
 
 Wed Jun 10 12:56:07 1998  Owen Taylor  <otaylor@gtk.org>
@@ -16,7 +704,7 @@ Sat May 23 19:00:01 1998  Owen Taylor  <otaylor@gtk.org>
   [ Combination of:
      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
-       
+
        * glib.h ghash.c gstring.c gdataset.c gutils.c:
        - Added new typedef g_const_pointer; expunged all incorrect
          uses of 'const gpointer'.
@@ -38,7 +726,7 @@ Sat Jun  6 14:09:22 PDT 1998 Manish Singh <yosh@gimp.org>
 
 Wed Jun  3 06:19:42 1998  Tim Janik  <timj@gtk.org>
 
-       * glib.h (g_chunk_new0): convenience macro, for allocating small chunks 
+       * glib.h (g_chunk_new0): convenience macro, for allocating small chunks
        like g_chunk_new() with additional 0 initialization.
 
 Mon Jun  1 04:43:27 1998  Tim Janik  <timj@gtk.org>
@@ -56,7 +744,7 @@ Tue May 26 18:30:06 1998  Tim Janik  <timj@gtk.org>
 
 Mon May 18 22:14:39 1998  Owen Taylor  <otaylor@gtk.org>
 (Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp> : gtk-joke-980517-0.patch)
-       
+
        * gutils.c: Restored a missing prototype for g_vsprintf.
 
 Wed May 20 05:02:26 1998  Tim Janik  <timj@gtk.org>
@@ -66,7 +754,7 @@ Wed May 20 05:02:26 1998  Tim Janik  <timj@gtk.org>
         g_mem_chunk_new().
         (g_chunk_free): new convenience macro to be consistent with g_chunk_new.
 
-Tue, 19 May 1998 09:00:02 +0200  ยงPaolo Molaro <lupus@debian.org>
+Tue, 19 May 1998 09:00:02 +0200  Paolo Molaro <lupus@debian.org>
 
        * gcompletion.c: generic functions for com<TAB>pletion...
 
@@ -81,8 +769,8 @@ Sun May 17 10:48:27 1998  Tim Janik  <timj@gtk.org>
 Fri May 15 22:31:49 1998  Tim Janik  <timj@gtk.org>
 
        * gscanner.c (g_scanner_unexp_token): removed spurious va_end(args)
-       that for some reason didn't produce a compiler wrning on my machine
-       (is va_end undefined for i386?).
+       that for some reason didn't produce a compiler warning on my machine
+       (is va_end defined to nothing for i386?).
 
 Fri May 15 12:32:08 1998  rodo  <doulik@karlin.mff.cuni.cz>
 
@@ -111,15 +799,15 @@ Tue May 12 19:22:58 1998  Owen Taylor  <otaylor@gtk.org>
 
        * glib/glib.h: Added macros G[U]INT_TO_POINTER() and
        GPOINTER_TO_[U]INT for storing small integers integers
-       inside pointers. 
-       
+       inside pointers.
+
        * glib/testglib.c: Print sizeof() results
        as g_print("%ld", (glong)sizeof(foo)), to deal with
        size_t being long on Alpha's.
 
 Tue May 12 16:54:15 1998  Owen Taylor  <otaylor@gtk.org>
        (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
-       
+
        * glib.h gstring.c gmessages.c: Added some missing
        const to arguments.
 
@@ -216,8 +904,8 @@ Fri May  1 16:36:08 1998  Owen Taylor  <otaylor@gtk.org>
 
 Thu Apr 30 21:41:30 1998  Owen Taylor  <otaylor@gtk.org>
 
-       * gstring.c : Check arguments more carefully, 
-       (gtk-draco-980423-1.patch; ramsey@rhrk.uni-kl.de) 
+       * gstring.c : Check arguments more carefully,
+       (gtk-draco-980423-1.patch; ramsey@rhrk.uni-kl.de)
 
 Tue Apr  7 19:36:48 1998  Owen Taylor  <owt1@cornell.edu>
 
@@ -243,7 +931,7 @@ Fri Apr  3 18:05:45 1998  Owen Taylor  <owt1@cornell.edu>
 
        * testglib.c: Removed literal german from strings
        to appease SGI compiler.
-       
+
 Thu Mar 26 20:47:21 1998  Owen Taylor  <owt1@cornell.edu>
 
        * configure.in glib glibconfig.h.in: Add test for atexit/on_exit -
@@ -294,7 +982,7 @@ Mon Mar  2 17:51:18 1998  Owen Taylor  <owt1@cornell.edu>
          to take gchar* not guchar*
 
        * testglib.c: Remove trailing ; after functions
-       
+
 Sun Mar  1 19:04:40 1998  Owen Taylor  <owt1@cornell.edu>
 
        * glib.h gstring.c: Added g_string_insert[_c]()
@@ -366,7 +1054,7 @@ Sat Jan 17 23:52:40 1998  Owen Taylor  <owt1@cornell.edu>
           renamed g_string_equal => g_str_equal
           renamed g_string_hash => g_str_hash
          And const corrected. Old functions left in for now.
-       
+
 Fri Jan  9 20:03:46 1998  Tim Janik  <timj@psynet.net>
 
        * gutils.c (g_strerror): changed message for EAGAIN from
@@ -394,8 +1082,8 @@ Sat Jan  3 20:23:25 1998  Owen Taylor  <owt1@cornell.edu>
 
 Fri Jan  2 23:52 PST 1998 Jay Painter <jpaint@serv.net>
 
-       * glib_pre1.h: 
-       * glib_pre2.h: 
+       * glib_pre1.h:
+       * glib_pre2.h:
        * glib.h: reverted glibconfig.h and glib.h files back to the
        way they were before my ugly hack.
 
@@ -427,8 +1115,8 @@ Mon Dec 15 19:33:58 1997  Tim Janik  <timj@psynet.net>
 
 Wed Dec 10 23:27:20 1997  Tim Janik  <timj@psynet.net>
 
-       * glib_pre1.h: 
-       * glib_pre2.h: 
+       * glib_pre1.h:
+       * glib_pre2.h:
        * glib.h: this file now gets concatenated by makeglib_h from
        glib_pre1.h and glib_pre2.h to merge in glibconfig.h wich got
        created by configure (done by Jay Painter).
@@ -436,7 +1124,7 @@ Wed Dec 10 23:27:20 1997  Tim Janik  <timj@psynet.net>
        * glib_pre2.h: the g_assert*() and g_return_*_fail() macros
        are wrapped by G_STMT_START and G_STMT_END now, to avoid conflicts
        when used within if (...) g_macro(); else ... conditionals.
-       
+
 Tue Dec 17 13:14:07 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
 
        * glib.h: Changed 'g_return_if_fail' and 'g_return_val_if_fail' to