Cygwin support contributed by Stefan Ondrejicka <ondrej@idata.sk>.
[platform/upstream/glib.git] / ChangeLog.pre-2-0
index 265d42d..f26665c 100644 (file)
@@ -1,3 +1,957 @@
+2001-03-09  Hans Breuer  <hans@breuer.org>
+
+       * gobject/gobject.def : updated
+
+2001-03-08  Tor Lillqvist  <tml@iki.fi>
+
+       * glib.def
+       * gobject/gobject.def
+       * gobject/makefile.mingw.in: Update.
+
+2001-03-08  Sven Neumann  <sven@gimp.org>
+
+       * gtree.[ch]: 
+       * docs/reference/glib/tmpl/trees-binary.sgml: added new function 
+       g_tree_lookup_extended().
+
+Thu Mar  8 16:23:34 2001  Tim Janik  <timj@gtk.org>
+
+       * ghook.[hc]: destruction cleanup. there's one
+       ->finalize_hook member in the hooklist now that gets
+       called when a hook should be destroyed, that's it.
+       that function is guarranteed to be called only when
+       all ref_counts to the hook vanished, thus also when
+       the hook is not in call.
+
+2001-03-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * configure.in (FLAG_DOES_NOT_WORK): Fix typo and thus bug #51862.
+
+Wed Mar  7 09:32:06 2001  Tim Janik  <timj@gtk.org>
+
+       * glib-object.h: add gvaluearray.h.
+
+       * gstring.[hc]: fixup naming of g_string_sprint*.
+       
+       * gtypes.h: fixed GCompareDataFunc naming.
+
+2001-03-07  Christian Meyer  <chrisime@gnome.org>
+
+       * configure.in: Added de (German) to ALL_LINGUAS.
+
+2001-03-02  Christophe Merlet  <redfox@eikonex.org>
+
+       * configure.in: Added fr (French) to ALL_LINGUAS.
+
+2001-03-01  Tor Lillqvist  <tml@iki.fi>
+
+       * gutils.c (g_path_is_absolute): (Win32) Remove test for initial
+       double backslash (UNC path), this will of course be matched by the
+       test for an initial G_DIR_SEPARATOR right up front. Silly me.
+       (g_find_program_in_path): Implement on Win32. Append the
+       executable file name suffixes from PATHEXT in turn while looking
+       for the program.
+       (g_find_program_in_path): If the program we are looking for is a
+       relative path in a subdirectory, don't do any path search.
+       (g_get_any_init): (Win32) Also look for the USERPROFILE env var
+       indicating the home directory equivalent.
+       (g_find_program_in_path): (Win32): Use MAXPATHLEN, not PATH_MAX
+       which isn't defined with MSVC.
+
+       * testglib.c (main): Test g_find_program_in_path() on Win32 by
+       looking for more.com and regedit.
+
+       * glib.def: Add g_find_program_in_path.
+
+2001-02-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * gthreadpool.c (g_thread_pool_thread_proxy): Make
+       max_unused_threads work for -1 as well.
+
+2001-02-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * gthread.h (struct _GThread): Change the order to match the order
+       in g_thread_create().
+
+       * gthread.c (g_static_rec_mutex_lock_full): Also do the right
+       thing (behave like 'depth' calls to g_static_rec_mutex_lock) for a
+       mutex, that is already locked.
+
+Thu Feb 22 10:31:36 2001  Owen Taylor  <otaylor@redhat.com>
+
+       * gmain.c (g_source_remove_poll): Add missing implementation
+       of g_source_remove_poll. (Pointed out by Stefan Westerfeld)
+
+2001-02-21  Tor Lillqvist  <tml@iki.fi>
+
+       * gutils.c (g_find_program_in_path): Implement on Win32.
+
+       Cygwin support contributed by Stefan Ondrejicka
+       <ondrej@idata.sk>. Hopefully I got it all in while simultaneously
+       adding support for auto*/libtool for mingw.
+
+       * Makefile.am: Changes for auto* support on Cygwin and Win32. Do
+       still distribute the hand-written makefiles and *.win32.in files,
+       though. Use GIO, GSPAWN and PLATFORMDEP macros set by configure.
+       Use -no-undefined. Pass -export-symbols glib.def to libtool.
+       
+       * configure.in: Define G_PLATFORM_WIN32 on both pure Win32 (mingw)
+       and Cygwin. Add AC_CYGWIN, AC_EXEEXT and AC_LIBTOOL_WIN32_DLL
+       calls for Cygwin and mingw support.  Check for %I64u guint64
+       format (in MS C library). Set G_MODULE_IMPL on mingw and
+       Cygwin. Use ac_object and ac_exeext.  Set GIO, GSPAWN, PLATFORMDEP
+       and G_LIBS_EXTRA. Compile timeloop only on Unix. Define OS_WIN32
+       automake conditional on Win32.
+       
+       * glib.h: Include gwin32.h also on Cygwin.
+
+       * gfileutils.c (get_contents_posix): Use O_BINARY (defined as 0 on
+       Unix) for Cygwin's sake.
+
+       * gtimer.c (GETTIME): Reduce #ifdefs, use a macro GETTIME().
+
+       * gconvert.c
+       * gthread.c
+       * gutf8.c
+       * gutils.c: For code needed both on Cygwin and native Win32,
+       test for G_PLATFORM_WIN32.
+
+       * gtypes.h: Refine GLIB_VAR definition. Also check for DLL_EXPORT
+       in case compiling a static library on Win32 or Cygwin.
+
+       * gwin32.c: No <direct.h> on Cygwin. No need for ftruncate() or
+       dirent emulation on Cygwin.
+       (get_package_directory_from_module) Convert return value from
+       GetModuleFileName() to POSIX path on Cygwin.
+
+       * tests/Makefile.am (progs_LDADD): Link with libglib, libgthread
+       and libgmodule as appropriate. Use -no-undefined.
+
+       * gbacktrace.c: Move #ifdefs around a bit on Win32.
+
+2001-02-21  Tor Lillqvist  <tml@iki.fi>
+
+       * gshell.c (unquote_string_inplace): Make static.
+
+       * gthread.h: Include gtypes.h to be sure to get GLIB_VAR
+       definition, remove definition from here.
+
+       * gunicode.h: Remove duplicate GLIB_VAR definition from here, too.
+
+       * gutils.c: (Win32) Use USERPROFILE as home dir if present. On
+       Win2k, HOMEDRIVE and HOMEPATH aren't reliable.
+       
+       * Makefile.am (INCLUDES): Add -DGLIB_COMPILATION.
+
+       * makefile.mingw.in: Remove install target, Windows isn't Unix.
+       (DEFINES): Add -DDLL_EXPORT.
+
+       * testgdate.c
+       * testgdateparser.c
+       * testglib.c: Undefine GLIB_COMPILATION.
+
+       * testglib.c: Make some vars static. Add Cygwin path tests.
+
+       * glib.def: Updates.
+
+       * .cvsignore
+       * */.cvsignore: Ignore also .obj, .dll, .lib and .exe files.
+
+2001-02-19  Hans Breuer <hans@breuer.org>
+
+       * glib/glib.def, gobject/gobject.def : added nissing symbols
+
+       * gobject/makefile.msc : updated
+
+       * glib/gmessages.c : call the "debug interrupt" before exiting the
+       program, if build with msvc as debug version. Which gives the opportunity
+       to see the callstack, etc.
+
+       * glib/gthread.c : thread->pid is only defined #ifdef
+       G_THREAD_USE_PID_SURROGATE
+
+Mon Feb 19 07:32:38 2001  Tim Janik  <timj@gtk.org>
+
+       * glib-config-2.0.in (lib_glib): my name is glib-config-2.0!
+       don't exit with errorcode!=0 for --help or -h.
+       
+       * Makefile.am:
+       * configure.in: build glib-config-2.0.
+
+2001-02-17  Havoc Pennington  <hp@pobox.com>
+
+       * gthread.c: include string.h
+
+        Applied patch from Soeren Sandmann:
+       
+       * testglib.c: const fixes
+
+       * gwin32.h: format cleanups
+
+       * gutils.c (g_atexit): constify a variable
+       (g_find_program_in_path): constification
+       (g_basename): G_CONST_RETURN
+       (g_path_skip_root): G_CONST_RETURN
+       (g_getenv): G_CONST_RETURN
+       (g_get_user_name): G_CONST_RETURN
+       (g_get_real_name): G_CONST_RETURN
+       (g_get_home_dir): G_CONST_RETURN
+       (g_get_tmp_dir): G_CONST_RETURN
+       (g_get_prgname): G_CONST_RETURN
+       (_glib_gettext): G_CONST_RETURN
+
+       * gunicode.h: formatting cleanups
+
+       * gstrfuncs.c (g_strerror): G_CONST_RETURN
+       (g_strsignal): G_CONST_RETURN
+
+       * gspawn.c (g_execute): const on variables
+
+       * gmessages.c (printf_string_upper_bound): fix const on a variable
+
+       * gmem.c (g_mem_chunk_new): make the "name" arg const
+       (struct _GRealMemChunk): make the "name" field const
+
+       * gfileutils.c (g_file_open_tmp): store const return in a const
+       gchar* variable
+
+       * gdataset.c (g_quark_to_string): G_CONST_RETURN
+
+Sat Feb 17 07:26:33 2001  Tim Janik  <timj@gtk.org>
+
+       * configure.in (G_MODULE_HAVE_DLERROR): add check for broken RTLD_GLOBAL
+       (on OSF1 V5.0).
+
+2001-02-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * acconfig.h, configure.in: Reverted the changes necessary to
+       enlarge the system thread for G_THREAD_USE_PID_SURROGATE.
+
+       * gthread.c: Now implement G_THREAD_USE_PID_SURROGATE in gthread.c
+       instead of gthread/gthread-posix.c. While the latter has the
+       advantage, that it is conceptually cleaner, it makes
+       g_thread_self_posix_impl _very_ slow and that hurts
+       GStaticRecMutex and other things. So the new version is less
+       clean, but faster.
+
+2001-02-09  Havoc Pennington  <hp@redhat.com>
+
+       * gconvert.c (g_convert): don't overwrite errors
+
+       * gerror.c (g_set_error): improve warning message if an error is
+       overwritten     
+       (g_propagate_error): ditto
+
+2001-02-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * gthread.c, gthread.h: Added functions g_static_rec_mutex_init,
+       g_static_rec_mutex_free, g_static_private_init,
+       g_static_private_free, g_static_rw_lock_init to allow the usage of
+       all those types dynamically. (g_static_rw_lock_free already
+       existed). Aditionally freed static_private indeces are reused
+       now. Untill now the array would just grow if you would use more
+       and more static_private. That required adding a slist of all
+       running threads, which could potentially be of good use later. It
+       is not exported however. Renamed a LOCK and small indentation
+       fixes.
+
+       * tests/thread-test.c: Test the new static_private index freing
+       and reusing feature.
+       
+Mon Feb 12 15:01:09 2001  Owen Taylor  <otaylor@redhat.com>
+
+       * configure.in (gtk_doc_min_version): Add check for gtk-doc version.
+
+2001-02-10  Tor Lillqvist  <tml@iki.fi>
+
+       * gtypes.h
+       * gutils.h: Move GLIB_VAR definition from gutils.h to gtypes.h
+
+       * glib.def
+       * gmem.h: Mark glib_mem_profiler_table for export.
+
+       * gwin32.c (get_package_directory_from_module): Don't store
+       address of local variable in hashtable.
+
+2001-02-08  Fatih Demir        <kabalak@kabalak.net>
+
+       * configure.in: Added "tr" to ALL_LINGUAS.
+
+2001-02-04  Tor Lillqvist  <tml@iki.fi>
+
+       * gwin32.c (g_win32_getlocale): Use "nn" for Nynorsk, as nn.po
+       files are appearing now. If the sublanguage starts with '@', don't
+       use a '_' separator. South Africa is 'ZA', not 'SA'.
+
+Sun Feb  4 07:38:32 2001  Tim Janik  <timj@gtk.org>
+
+       * docs/debugging.txt: s/glib_trap_/g_trap_/. add comments on
+       g_trap_instance_signals, g_trace_instance_signals and
+       GRUNTIME_DEBUG.
+
+       * gmem.c: s/glib_trap_/g_trap_/.
+       
+2001-02-04  Tor Lillqvist  <tml@iki.fi>
+
+       * tests/Makefile.am (thread_LDADD): Change order of libs,
+       put progs_LDADD last. Needed for cygwin, says jbdoll@kepri.re.kr.
+
+2001-02-02  Tor Lillqvist  <tml@iki.fi>
+
+       * giochannel.h
+       * giowin32.c
+       * gmain.c: Stylistic cleanups. Use G_STRLOC in g_warning() calls.
+
+       * glib.def: Add missing functions.
+
+2001-02-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * gthread.c, gthread.h: Added g_static_mutex_init to allow
+       initialization of a GStaticMutex, that can not be initialized with
+       G_STATIC_MUTEX_INIT, for example in allocated structures.
+
+Wed Jan 31 13:46:58 2001  Owen Taylor  <otaylor@redhat.com>
+
+       * acinclude.m4 glib-gettext.m4: Fix problem with --disable-nls.
+
+2001-01-31  Tor Lillqvist  <tml@iki.fi>
+
+       * glibconfig.h.win32.in: Corresponding change as below to
+       GStaticMutex.
+
+2001-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * gthread.c, gthread.h: Added g_static_mutex_free to allow using
+       GStaticMutexes with limited lifetime without leaking.
+       
+       * configure.in: GStaticMutex doesn't have to provide extra space
+       for debugging information for G_ERRORCHECK_MUTEXES, as then the
+       non-default implementation (runtime_mutex) is used anyway.
+
+       * gthread.h (g_cond_wait): Added debug information for
+       g_mutex_free calls, if G_ERRORCHECK_MUTEXES is defined.
+
+2001-01-29  Tor Lillqvist  <tml@iki.fi>
+
+       * glibconfig.h.win32.in: Use the same GMutex structure as the
+       configure-generated glibconfig.h does.
+
+       * gstrfuncs.c (g_strsignal): Declare strsignal() on Cygwin, too,
+       says jbdoll@kepri.re.kr.
+
+2001-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * gthread.c: Broadcast the condition, if there are waiting
+       readers, as all might read at the same time. Only signal the
+       writer thread, if there are no more readers.
+
+2001-01-25  Tor Lillqvist  <tml@iki.fi>
+
+       * makefile.mingw.in
+       * */makefile.mingw.in: Protect the rule to rebuild makefile.mingw
+       if makefile.mingw.in has changed with a check if said .in file
+       exists. (This rule is mainly a convenience for yours truly.)
+
+       * giowin32.c: Socket support rewritten. It was utterly broken, and
+       untested in fact. We still do use a thread for each socket being
+       watched, but instead of blocking in recv() (which of course was
+       plain stupid for sockets being listen()ed on in a server-type
+       application), we block in select(). The read method for sockets
+       calls recv(). It is now possible for the application to call
+       accept(), recv() or send() in the callback, just like on
+       Unix. Tested with code kindly provided by Andrew Lanoix.
+
+       Rename g_io_channel_win32_new_stream_socket() to
+       g_io_channel_win32_new_socket() as it isn't restricted to stream
+       sockets.
+       
+       * gmain.c (g_poll): Related changes in the Win32 version of
+       g_poll(). When polling for messages, always do a PeekMessage()
+       first. We used to miss messages if several were posted between
+       calls to g_poll().
+
+       * giochannel.h: Improve Win32-related comments.
+
+       * gutf8.c: (Win32) Include <stdio.h> for sprintf.
+
+       * tests/gio-test.c: (Win32) Add tests for polling for Windows
+       messages.
+
+       * tests/makefile.mingw.in: Remove superfluous compilation command
+       line.
+
+2001-01-23  Alex Larsson  <alexl@redhat.com>
+
+       * gmain.c (g_source_callback_unref): Free the callback
+       (g_source_set_callback): Initialize the callback refcount
+
+2001-01-20  Tor Lillqvist  <tml@iki.fi>
+
+       * gutils.c (g_get_codeset): (Win32) Even if g_get_codeset() is
+       currently commented out from gutils.h, fix it to return the same
+       CP%d value as g_get_charset().
+
+2001-01-19  Kjartan Maraas  <kmaraas@gnome.org>
+
+       * gconvert.c: Fix typo.
+       * gfileutils.c: Same here.
+       * configure.in: Added no to ALL_LINGUAS
+       
+2001-01-17  Tor Lillqvist  <tml@iki.fi>
+
+       * gwin32.c (g_win32_getlocale, g_win32_error_message): Add doc
+       comments.
+       (g_win32_get_package_installation_directory): Add one parameter,
+       the name of a DLL in the package. Add possibility to use that to
+       deduce the installation directory if not entered into the
+       Registry. Make the return value dynamically allocated.
+       (g_win32_get_package_installation_subdirectory): New convenience
+       function.
+
+       * gutils.c (GLIB_LOCALE_DIR)
+       * gwin32.h: Adapt accordingly.
+
+       * testglib.c (main): Adapt tests accordingly.
+
+Tue Jan 16 23:20:38 2001  Owen Taylor  <otaylor@redhat.com>
+
+       * gutils.c glibintl.h: Optimize for size rather than speed by
+       making _() always call _glib_gettext() instead of conditionally
+       calling gettext() or _glib_gettext_init. glib only uses translated
+       strings in slow error handling code anyways.
+
+       * glibintl.h: g'ify types.
+
+       * Makefile.am: include glibintl.h in _SOURCES
+
+2001-01-17  Tor Lillqvist  <tml@iki.fi>
+
+       * config.h.win32.in: Define ENABLE_NLS and GETTEXT_PACKAGE.
+
+       * makefile.mingw.in
+       * makefile.msc.in: Use the GNU intl library.
+
+       * gwin32.c (g_win32_get_package_installation_directory): New
+       function. To be used by various GLib-using packages to get their
+       installation directory, which should be stored in the Registry by
+       some installer.
+
+       * gwin32.h: Declare it.
+
+       * testglib.c (main): Test it.
+
+       * gutils.c: On Win32, define GLIB_LOCALE_DIR using
+       g_win32_get_package_installation_directory().
+
+       * glib.def: Update.
+
+Mon Jan 15 21:39:06 2001  Owen Taylor  <otaylor@redhat.com>
+
+       * glib-2.0.pc.in (Libs) glib-config-2.0.in: Add @INTLLIBS@.
+
+Mon Jan 15 21:12:49 2001  Owen Taylor  <otaylor@redhat.com>
+
+        * configure.in acconfig.h glibintl.h gutils.c
+       po/{Makefile.in.in,POTFILES.in,po2tbl.in}: Add gettext
+       support.
+
+       * glib-gettext.m4 acinclude.m4: Clean up the GTK+ gettext macros
+       some more and put them in this file, though they also need
+       to be included in acinclude.m4 due to the brokeness of
+       aclocal.
+
+       * gspawn.c gspawn-win32.c gutf8.c gconvert.c gfileutils.c
+       gshell.c: Remove dummy _() #defines, include glibintl.m4.
+
+2001-01-09  Tor Lillqvist  <tml@iki.fi>
+
+       * giowin32.c: Rework the changes needed to pass mainloop-test. Now
+       we don't need to call TerminateThread() after all, which is a
+       relief, as the docs have a BIG RED WARNING SIGN about using that
+       API. Instead, when closing a fd channel that has a reader thread
+       running, just mark it as non-running and additionally mark the fd
+       as ripe for closing. When the reader thread hopefully eventually
+       gets something (and EOF or some actual data), it will note that it
+       shouldn't be running, break out of the loop, and close the fd.
+
+       The socket channel closing code should probably be changed
+       similarily, but that will have to wait until I have a test case.
+       
+       (g_pipe_readable_msg, g_io_channel_win32_new_pipe,
+       g_io_channel_win32_new_pipe_with_wakeups,
+       g_io_channel_win32_pipe_request_wakeups,
+       g_io_channel_win32_pipe_readable): Remove these, have been
+       obsolete for some time.
+       
+       * gutils.c (g_basename, g_dirname): Don't warn about deprecation
+       on Win32. Code written for GLib 1.2 doesn't have much choice but
+       to use GLib >= 1.3 on Win32.
+
+       * glib.def: Update.
+
+2001-01-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * gmem.c: Made g_profile_mutex a GMutex* instead of
+       G_LOCK_DEFINE_STATIC to avoid deadlock for thread implementations
+       without native static mutexes. Contruct g_profile_mutex in
+       g_mem_init().
+
+2001-01-06  Tor Lillqvist  <tml@iki.fi>
+
+       * gconvert.c (g_locale_to_utf8, g_locale_from_utf8): Get len using
+       strlen() if arg is negative in the Win32 code, too.
+
+       * giowin32.c: Changes necessary to be able to run
+       mainloop-test. We can't close the fd that our (internal) reader
+       thread is sitting doing a blocking read() from. We must terminate
+       the thread first. Keep track of thread handle, and close it when
+       thread is dying. Start reader thread with the lower-level
+       CreateThread() instead of _beginthreadex() from the C runtime, in
+       order to be able to use TerminateThread(). Hopefuly this isn't
+       harmful.
+
+       * glib.def: Update.
+
+       * tests/makefile.{mingw,msc}.in (TESTS): Add mainloop-test and
+       unicode-encoding.
+
+       * tests/mainloop-test.c: Portability: <unistd.h>, need <fcntl.h>
+       on Win32.
+
+       * tests/unicode-encoding.c (process): Add missing "line" argument
+       to fail(). On Win32, convert UTF-16LE, as libiconv'c ivonf always
+       converts to UTF-16BE if we ask for unspecific UTF-16.
+       (main) Handle also '\r'.
+
+Fri Jan  5 11:25:42 2001  Owen Taylor  <otaylor@redhat.com>
+
+       * configure.in (PACKAGE): move $enable_debug down below
+       checks for GCC to avoid setting CFLAGS prematurely,
+       change checks to avoid adding -g twice.
+
+       * gutf8.c (g_ucs4_to_utf8): Support len < 0 to mean
+       0 termination.
+
+       * gutf8.c (g_utf8_to_ucs4): Terminate result with 0.
+
+       * tests/mainloop-test.c (main): Fix uses of 
+       g_main_loop_destroy().
+
+       * tests/unicode-encoding.c tests/Makefile.am tests/utf8.txt:
+       Tests for unicode-conversion code.
+
+       * gconvert.c (g_convert, g_convert_with_fallback): work around
+       a couple of GNU libc bugs.
+
+       * gconvert.[ch] (g_{locale,filename}_{to,from}_utf8): Standardize
+       arguments to match g_convert(). Document.
+
+       * gunicode.[ch]: 
+         - Implement conversion functions to and from UTF-16
+         - Standardize unicode conversion functions on prototype like
+           g_convert.
+         - Add a lot of error checking to unicode conversion functions.
+
+       * gunicode.[ch] (g_utf8_to_ucs4_fast): Add fast, non-checking
+       variant of g_utf8_to_ucs4.
+
+       * gutf8.c (g_utf8_validate): 
+        - add g_return_if_fail (str != NULL).
+        - add checks for overlong strings, non-valid Unicode characters (>= 110000)
+          and single surrogates.
+
+2001-01-05  Tor Lillqvist  <tml@iki.fi>
+
+       * testglib.c (main): Add test for g_path_skip_root().
+
+       * gfileutils.c (g_file_open_tmp): (Win32:) Look also for (illegal)
+       forward slashes in the template.
+
+       * gutils.c (g_path_skip_root): On Win32, skip the \\server\share
+       part of UNC paths. On all platforms, skip several initial
+       slashes. Add a few comments.
+       (g_get_any_init): On Win32, in case HOME is Unix-style with
+       (forward) slashes (some other applications apparently set it up
+       this way, convert to backslashed form.
+
+       * configure.in (glib_os): Remove stray 'v'. Add case for mingw,
+       although using configure for mingw surely doesn't work yet.
+
+       * glib.def: Update.
+
+2001-01-02  Havoc Pennington  <hp@redhat.com>
+
+       * configure.in: remove glib-config-2.0
+
+       * Makefile.am: remove glib-config-2.0
+
+2001-01-03  Havoc Pennington  <hp@pobox.com>
+
+       * tests/Makefile.am (INCLUDES): -I$(top_srcdir)/gmodule, 
+       fix from Michael Meeks
+
+       * Makefile.am (INCLUDES): DISABLE was spelled wrong
+
+Wed Jan  3 14:10:49 2001  Owen Taylor  <otaylor@redhat.com>
+
+       * gmain.[ch]: Switch GMainLoop to be ref/unref, use to
+       make dropping reference to running loop safe.
+
+Wed Dec 13 20:41:49 2000  Owen Taylor  <otaylor@redhat.com>
+
+       * gmain.c (g_source_unref_internal): Unref callback->cb_data
+       if it was still set when the source is freed. (Usually, this
+       will be done by g_source_destroy.)
+
+2001-01-02  Dan Winship  <danw@helixcode.com>
+
+       * garray.h (g_array_append_val, g_array_prepend_val,
+       g_array_insert_val): Use parentheses around an argument to make
+       these cause an error if you pass a non-lvalue for the value,
+       rather than silently doing the wrong thing.
+
+2000-12-29  Tor Lillqvist  <tml@iki.fi>
+
+       * glibconfig.h.win32.in: Add GLIB_SIZEOF_VOID_P and GLIB_SIZEOF_LONG.
+
+       * glib.def: Update.
+
+       * {.,*}/makefile.{mingw,msc}.in: Add -DG_ENABLE_DEBUG.
+       
+Fri Dec 29 14:53:18 2000  Tim Janik  <timj@gtk.org>
+
+       * configure.in: we can't grow _cv_ variables by using a backticked
+       expr that refers back to the variable (glib_cv_sizeof_system_thread for
+       G_THREAD_USE_PID_SURROGATE), that'd keep the variable growing every time
+       it's evaluated. quantum states, anyone?)
+
+Thu Dec 28 10:21:46 2000  Tim Janik  <timj@gtk.org>
+
+       * gmem.[hc]: got rid of outdated dmalloc support. provide g_try_malloc()
+       and g_try_realloc() which _may_ fail and return NULL.
+       nuked g_mem_check(), provided GMemVTable for memory function
+       virtualization, alterable at program startup with g_mem_set_vtable().
+       provided glib_mem_profiler_table and g_mem_profile() to support limited
+       profiling information out of the box (uses mprotect() for free()ed areas
+       on linux).
+       provide globally visible G_MEM_ALIGN.
+       buncha cleanups.
+
+       * docs/macros.txt: file to get a clue about the various configuration
+       macros.
+
+       * docs/debugging.txt: explain debugging traps.
+
+       * configure.in: got rid of --enable-mem-check and --enable-mem-profile,
+       define GLIB_SIZEOF_VOID_P and GLIB_SIZEOF_LONG. check malloc prototypes
+       and define SANE_MALLOC_PROTOS is we can use them.
+       <boy, is this file a mess>
+
+       * gutils.c, gscanner.c: fix up compatibility warnings, use g_message().
+
+2000-12-27  Tor Lillqvist  <tml@iki.fi>
+
+       * README.win32: Update.
+
+2000-12-25  Tor Lillqvist  <tml@iki.fi>
+
+       * gmessages.c: (Win32) Use a MessageBox for fatal
+       messages. Collect eror message into a buffer, and display that.
+
+       * glib.def: Update.
+
+       * glibconfig.h.win32.in: Update. Remove unused wchar and wctype
+       macros, add G_MODULE_SUFFIX.
+
+2000-12-24  Ali Abdin  <aliabdin@aucegypt.edu>
+
+       * Makefile.am, gcompat.h, glib.h: New gcompat.h header file
+         as recommended by Havoc.
+
+       * gdate.c, gdate.h, testgdate.c,
+         docs/reference/glib/glib-sections.txt,
+         docs/reference/glib/tmpl/date.sgml, tests/date-test.c: Rename some
+         of the gdate functions to use the '_get' in their name. Patch
+         reviewed by Havoc.
+               
+2000-12-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * configure.in: Determine the suffix of the shared librarries for
+       this system. This is done analogous to
+       ltconfig.sh. G_MODULE_SUFFIX in glibconfig.h is set to either
+       "sl", "dll", or (most often) "so".
+
+       * tests/Makefile.am, tests/module-test.c,
+       tests/libmoduletestplugin_a.c, tests/libmoduletestplugin_b.c:
+       Added new testcase for gmodule. This is mostly copied from
+       gmodule/testgmodule.c, but unlike that is is quiet. (Why BTW are
+       some tests that verbose, not to say loquacious...)
+
+2000-12-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
+
+       * grand.c: Updated G_RAND_DOUBLE_TRANSFORM to be more
+       accurate. Redid g_rand_double() such that it returns 52 bits after
+       the point instead of 32 as before. That OTOH requires calling
+       g_rand_int() twice. Overhauled g_rand_int_range(), which is easier
+       now thanks to the new precision of g_rand_double(). Thanks to
+       Sverre Johansen <sj@ifi.uio.no> for the hint.
+
+       * grand.h: Added g_rand_boolean() and g_random_boolean()
+       macros. While they could be omitted due to extreme simplicity,
+       they make intention clearer in code and are therefore good to have.
+
+       * grand.c, grand.h: Renamed all 'min' and 'max' parameters to'
+       begin' and 'end' resp. to avoid making people think, that 'max' is
+       included in the interval. 'end' now isn't, whereas 'begin'
+       is. That's similar to the use in the STL.
+
+       * gslist.c, glist.c: Ok, I'm a moron. When I originally
+       implemented ENABLE_GC_FRIENDLY, I forgot to include config.h into
+       the affected files. Now that Alex did that for those two,
+       inevitable typos surfaced, which are now fixed.
+       
+       * garray.c, ghash.c, gqueue.c, gtree.c: Include config.h as well,
+       as ENABLE_GC_FRIENDLY should be known.
+
+2000-12-19  Alexander Larsson  <alexl@redhat.com>
+
+       * configure.in:
+       Added --disable-mem-pools option.
+
+       * glist.c:
+       * gslist.c:
+       * gnode.c:
+       * gmem.c:
+       Disable free list and memory chunks if DISABLE_MEM_POOLS is defined.
+
+2000-12-17  Tor Lillqvist  <tml@iki.fi>
+
+       * gutf8.c (g_utf8_get_charset_internal): (Win32) Use GetACP to get
+       the current ANSI codepage.
+
+       * gunicode.h: Add comment that the static string g_get_charset
+       sets the parameter to point to should be copied in case the
+       charset might be changed later in the program.
+
+2000-12-14  Tor Lillqvist  <tml@iki.fi>
+
+       * makefile.{mingw,msc}.in: No need to -DGSPAWN_HELPER when
+       compiling gspawn-win32-helper any longer.
+
+       * giowin32.c (g_io_win32_dispatch): Warn if no callback. Call
+       callback correctly.
+       (g_io_win32_create_watch): Fix typo.
+       (g_io_win32_fd_create_watch): Ditto.
+       (g_io_channel_unix_new): If it is a file descriptor (i.e., a Unix
+       fd lookalike provided by the C library), call
+       g_io_channel_win32_new_fd(). If it is a socket (from WinSock),
+       call g_io_cahnnel_win32_new_stream_socket(). Hopefully sockets and
+       fds don't overlap. TODO: Implement also datagram sockets.
+       (g_io_channel_win32_poll): Call g_main_context_get_poll_func().
+
+       * gcompletion.h: Include <unistd.h> only on Unix. Is this
+       inclusion really needed here? OTOH, do include <stddef.h>, for
+       size_t.
+
+       * gmessages.c: (Win32) Don't define a function called "write" that
+       might clash with the prototype from <io.h>, use a #define.
+
+       * glib.def: Update.
+
+       * gmain.c (g_source_add_poll): Don't return a value from void
+       function.
+       (g_main_context_get_poll_func): Compile also for non-Win32, as
+       presumably was intended. The result var is a GPollFunc, not a
+       GPollFunc*. Return the result!
+
+2000-12-13  Havoc Pennington  <hp@redhat.com>
+
+       * gconvert.c (open_converter): make static
+
+       * gutf8.c (g_utf8_validate): Simplify logic a bit, maybe 
+       speeding it up - now we just return FALSE if we had to bail out
+       for any reason before getting to the end of the string, as defined 
+       by a nul byte if len was -1, defined by the len otherwise. This 
+       also fixes a bug where nul bytes were not treated as invalid 
+       when the length was specified.
+
+2000-12-12  Havoc Pennington  <hp@pobox.com>
+
+       * gmain.c (g_main_context_destroy): don't try to use thread stuff
+       unless G_THREADS_ENABLED
+       (g_main_context_query): ditto
+       (g_main_context_check): ditto
+       (g_main_loop_quit): ditto
+
+Tue Dec 12 18:58:22 2000  Tim Janik  <timj@gtk.org>
+
+       * ghash.c (g_hash_table_remove): return whether a value
+       got removed.
+
+Tue Dec 12 15:18:10 2000  Owen Taylor  <otaylor@redhat.com>
+
+       * gmain.[ch]: Revert unauthorized changes.
+
+2000-12-12  Elliot Lee  <sopwith@redhat.com>
+
+       * gmain.c, gmain.h (g_main_context_new, g_main_context_destroy):
+       GMainContext useful in implementing some additional styles of
+       main loop usage.  To do this, however, Joe Hacker needs to be able
+       to create/destroy GMainContext's at will. This is just an export
+       of existing functionality, rather than any new functionality.
+
+       They are listed in the "Low level functions for implementing custom
+       main loops" section of the header file, to avoid confusing people.
+
+Sun Dec 10 10:47:11 2000  Owen Taylor  <otaylor@redhat.com>
+
+       * gmain.c (g_source_destroy_internal): Remove pollfds
+       from the context here, not when actually freeing the
+       source.
+
+       * gmain.c (g_source_unref_internal): Free source list
+       and source, call source->source_funcs->destroy().
+
+       * giochannel.c: Unreference io_channel properly.
+
+Thu Dec  7 15:22:30 2000  Owen Taylor  <otaylor@redhat.com>
+
+       * tests/mainloop-test.c (recurser_start): Add a bunch
+       of unrefs.
+
+       * gmain.c (g_source_attach): Reference the source
+       when adding (pointed out by Elliot)
+
+2000-12-08  Raja R Harinath  <harinath@cs.umn.edu>
+
+       * acglib.m4 (GLIB_AC_DIVERT_BEFORE_HELP): 
+       Rename from GLIB_DIVERT_BEFORE_HELP.  
+       Update to track autoconf 2.49b.
+       * configure.in: Reflect above change.
+       (AC_EGREP_HEADER): Rename from really obselete AC_HEADER_EGREP.
+       (debug_default): Replace "if test `expr ...`" with "case". 
+
+       * tests/Makefile.am (TESTS): Rearrange into other variables, and
+       include run-markup-tests.sh.
+       (TESTS_ENVIRONMENT): New.  Pass $srcdir to tests.
+       (noinst_PROGRAMS): Rename to ...
+       (check_PROGRAMS): ... this.  'automake' ensures that these are
+       built before running the tests.
+       * tests/run-markup-tests.sh: Support $srcdir != $builddir.
+
+2000-12-08  Havoc Pennington  <hp@pobox.com>
+
+       * tests/Makefile.am (TESTS): move markup-test to noinst_PROGRAMS;
+       it isn't a proper test, the proper test would be 
+       run-markup-tests.sh, but that can't go in tests, so we need 
+       a manual make check rule. Didn't do that yet.
+
+2000-12-07  Raja R Harinath  <harinath@cs.umn.edu>
+
+       * gmain.h: Don't put anything after an #endif.
+       * gmain.c: Likewise.
+
+2000-12-06  Havoc Pennington  <hp@pobox.com>
+
+       * tests/strfunc-test.c (main): add g_strdupv test
+
+       * gstrfuncs.c (g_strdupv): Add a function to copy 
+       an array of strings
+
+Tue Dec  5 12:23:04 2000  Owen Taylor  <otaylor@redhat.com>
+
+        * gmain.[hc]: Major change in API for creating sources
+       to handle multiple main loops (GMainContext *). 
+
+       GSources are now exposed as GSource * and implemented
+       with structure derivation.
+
+       * giochannel.[ch]: Changed vtable for GIOChannel to correspond
+       to the new mainloop API, add g_io_channel_create_watch().
+        
+       * gtypes.h: Move GTimeVal here.
+
+       * gthread.h: Remove gmain.h include to avoid circularity.
+       
+        * giounix.c: Update for new GMain API.
+        
+       * giowin32.c: Update for new GMain API. (No check for
+       proper compilation or working.)
+
+       * timeloop.c timeloop-basic.c: A benchmarking program for
+       the main loop comparing the main loop against a 
+       hand-written (timeloop-basic.c) variant. 
+
+       * tests/mainloop-test.c: New torture test of mainloop.
+       
+       * docs/Changes-2.0.txt: Started. Added text about
+       changes to GMain.
+
+       * gmain.c (g_main_add_poll_unlocked): Initial fd->revents
+       to zero. (#8482, Benjamin Kahn)
+
+2000-12-01  Tor Lillqvist  <tml@iki.fi>
+
+       * {.,*}/makefile.msc.in: Include make.msc from GLib's build subdir.
+
+       * makefile.{mingw,msc}.in (glib_OBJECTS): Add gunibreak.
+
+       * glib.def: Update correspondingly.
+
+2000-11-21  Havoc Pennington  <hp@pobox.com>
+
+       * gmacros.h: Provide G_CONST_RETURN which is 'const' by default,
+       and nothing when G_DISABLE_CONST_RETURNS is defined.
+
+2000-11-29  Havoc Pennington  <hp@redhat.com>
+
+       * gunidecomp.c (COMBINING_CLASS): 
+       s/UNICODE_LAST_CHAR/G_UNICODE_LAST_CHAR/
+
+       * gunichartables.h: Update for data in Unicode 3.0.1
+
+       * gunidecomp.h: Ditto
+       
+       * gunicode.h (GUnicodeBreakType): Enum for line break properties
+       (g_unichar_break_type): Get the break property for a char
+       
+       * gunibreak.h: Autogenerated line break property tables
+
+       * gunibreak.c (g_unichar_break_type): added 
+       
+       * Makefile.am (EXTRA_DIST): dist gen-unicode-tables.pl
+
+       * Makefile.am (libglib_1_3_la_SOURCES): Add gunibreak.h, gunibreak.c
+       
+       * gen-unicode-tables.pl: Include the script to update the unicode
+       char tables
+
+2000-11-28  Elliot Lee  <sopwith@redhat.com>
+
+       * gmarkup.c: Fix warnings.
+
+       * guniprop.c, gunidecomp.c: Make warnings go away by using
+       GPOINTER_TO_INT() instead of (int).
+
+       * gcompletion.[ch]: Add g_completion_set_compare(),
+       to allow (for example) using case-insensitive completion.
+
+2000-11-28  Tor Lillqvist  <tml@iki.fi>
+
+       Patches by Hans Breuer:
+       
+       * gspawn-win32.c: Move the code for gspawn-win32-helper to its own
+       file.
+
+       * makefile.{mingw,msc}.in: Change accordingly.
+
+       * gspawn-win32-helper.c: New file.
+
+       * Makefile.am (EXTRA_DIST): Add it.
+
+       * gmarkup.c (find_current_text_end): Fix assertion not to check an
+       uninitialised variable.
+
 2000-11-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
 
        * gthread.c: Set the thread data before locking the mutex, because
@@ -6,8 +960,8 @@
        * gthread.h: Do only show the location of the locking/unlocking
        for -DG_ERRORCHECK_MUTEXES and not the name of the mutex. Add the
        errorcheck capability for g_cond_wait and g_cond_timed_wait as
-       well.
-       
+       well.   
+
 2000-11-27  Havoc Pennington  <hp@redhat.com>
 
        * gthread.h: Add void in empty function arg list
@@ -277,7 +1231,7 @@ Sun Nov  5 13:20:54 2000  Owen Taylor  <otaylor@redhat.com>
 
 2000-10-24  Havoc Pennington  <hp@pobox.com>
 
-        * gmarkup.h, gmarkup.c: New module to parse a simple
+       * gmarkup.h, gmarkup.c: New module to parse a simple
        markup language
        
        * Makefile.am: add gmarkup.h, gmarkup.c
@@ -297,7 +1251,7 @@ Sun Nov  5 13:20:54 2000  Owen Taylor  <otaylor@redhat.com>
        * gstrfuncs.c (g_strsplit): When the string is ended by a
        delimiter, return an extra empty string just like for a delimiter
        at the start of the string. This makes the function behave more
-       consitent and also fixes Bug #15026.
+       consistent and also fixes Bug #15026.
 
 Tue Oct 24 22:09:14 2000  Tim Janik  <timj@gtk.org>
 
@@ -524,7 +1478,7 @@ Mon Sep 11 10:03:24 2000  Owen Taylor  <otaylor@redhat.com>
 
 2000-09-29  Jonathan Blandford  <jrb@redhat.com>
 
-       * gnode.c (g_node_insert_after): Added function to keep symetry
+       * gnode.c (g_node_insert_after): Added function to keep symmetry
        with g_node_insert_before. 
 
 2000-09-29  Martin Baulig  <baulig@suse.de>
@@ -717,7 +1671,7 @@ Tue Sep  5 20:16:27 2000  Owen Taylor  <otaylor@redhat.com>
        functions.
 
        * gthread.c, gthreadpool.c, glib.h: Enable error reporting for
-       thread creation, namly for g_thread_create, g_thread_pool_new,
+       thread creation, namely for g_thread_create, g_thread_pool_new,
        g_thread_pool_push and g_thread_pool_set_max_threads.
 
        * tests/thread-test.c, tests/threadpool-test.c: Adapted
@@ -754,17 +1708,18 @@ Tue Sep  5 20:16:27 2000  Owen Taylor  <otaylor@redhat.com>
 2000-08-25 Elliot Lee <sopwith@redhat.com>
 
        * glib.h, gunicode.h, gmodule/gmodule.h:
-       : Mark the following functions G_GNUC_CONST (to allow
-       optimization) because their results are a function of only their parameters:
-       g_int_hash, g_int_equal, g_direct_hash, g_direct_equal, g_quark_to_string,
-       g_date_is_leap_year, g_date_days_in_month, g_date_monday_weeks_in_year,
-       g_date_sunday_weeks_in_year, g_spaced_primes_closest, g_unichar_is*,
-       g_unichar_to*, g_unichar_*digit_value, g_unichar_type
+       Mark the following functions G_GNUC_CONST (to allow optimization)
+       because their results are a function of only their parameters: 
+       g_int_hash, g_int_equal, g_direct_hash, g_direct_equal,
+       g_quark_to_string, g_date_is_leap_year, g_date_days_in_month,
+       g_date_monday_weeks_in_year, g_date_sunday_weeks_in_year,
+       g_spaced_primes_closest, g_unichar_is*, g_unichar_to*,
+       g_unichar_*digit_value, g_unichar_type
 
 2000-08-21 Elliot Lee <sopwith@redhat.com>
 
-       * gobject/Makefile.am, gobject/gobject-query.c, gobject/gparamspecs.c: Fix inclusion of
-       config.h
+       * gobject/Makefile.am, gobject/gobject-query.c,
+       gobject/gparamspecs.c: Fix inclusion of config.h
 
 Mon Aug 21 14:46:23 2000  Owen Taylor  <otaylor@redhat.com>
 
@@ -894,7 +1849,7 @@ Sun Jul 30 10:44:16 2000  Tim Janik  <timj@gtk.org>
        out of the buffer.
 
        The separate reader thread(s), and the circular buffer(s) with
-       associated events mean lots of possibilities for fun parallellism
+       associated events mean lots of possibilities for fun parallelism
        errors. But it seems to work OK, i.e. GIMP runs.
 
        * gmain.c: Small changes to the Win32 polling function.
@@ -1856,8 +2811,8 @@ Tue Oct 12 14:17:12 1999  Tim Janik  <timj@gtk.org>
 
 Tue Oct 12 12:16:12 1999  Tim Janik  <timj@gtk.org>
 
-       * gmessages.c (g_printf_string_upper_bound): completly new implementation
-       for printf string upper bounds calculation.
+       * gmessages.c (g_printf_string_upper_bound): completly new
+       implementation for printf string upper bounds calculation.
        we handle all glibc 2.1 format specifiers now, except for positional
        parameters (%nn$...) and wide char strings, plus some obscure upper
        case variants of the standard conversions. this fixes a lot of
@@ -1947,12 +2902,13 @@ Wed Sep 22 01:53:18 1999  Tim Janik  <timj@gtk.org>
 
 Fri Sep 17 10:24:45 1999  Tim Janik  <timj@gtk.org>
 
-       * gmem.c (g_mem_chunk_compute_size) (g_mem_chunk_new): applied patch
-       from Soeren Sandmann <sandmann@daimi.au.dk>, to force mem chunk's area
-       sizes to be a multitiple of atom_size, and to eliminate the MAX_MEM_AREA
-       restriction of 65536 bytes. we also catch cases where users pass an area
-       size < atom size with a return_if_fail statement now (which is ok,
-       because previously this lead to memory corruption anyways).
+       * gmem.c (g_mem_chunk_compute_size) (g_mem_chunk_new): applied
+       patch from Soeren Sandmann <sandmann@daimi.au.dk>, to force mem
+       chunk's area sizes to be a multitiple of atom_size, and to
+       eliminate the MAX_MEM_AREA restriction of 65536 bytes. we also
+       catch cases where users pass an area size < atom size with a
+       return_if_fail statement now (which is ok, because previously this
+       lead to memory corruption anyways).
 
 Thu Sep 16 13:19:54 1999  Tim Janik  <timj@gtk.org>
 
@@ -2371,8 +3327,8 @@ Sun Apr 11 14:37:06 1999  Tim Janik  <timj@gtk.org>
 Sat Apr 10 19:30:50 1999  Tim Janik  <timj@gtk.org>
 
        * glib.h: removed braces around inline strings for the G_GNUC_FUNCTION
-       and G_GNUC_PRETTY_FUNCTION macros, so the macros can be used for compile
-       time string concatenation.
+       and G_GNUC_PRETTY_FUNCTION macros, so the macros can be used for
+       compile time string concatenation.
 
 Thu Apr  8 19:53:19 1999  Owen Taylor  <otaylor@redhat.com>
 
@@ -2418,8 +3374,8 @@ Tue Mar 23 13:43:39 PST 1999 Manish Singh <yosh@gimp.org>
 Mon Mar 22 03:54:43 1999  Tim Janik  <timj@gtk.org>
 
        * glib.h:
-       * gmain.c: add user_data to the GSource ->check and ->prepare functions,
-       so it can be used to e.g. pass a GPollFd.
+       * gmain.c: add user_data to the GSource ->check and ->prepare
+       functions, so it can be used to e.g. pass a GPollFd.
        (g_main_poll): only add poll records with an events mask != 0 to the
        fd_array. don't even bother calling poll_func() if fds=timeout=0.
        added debugging printouts around poll_func() invokation that can be