New function, suggested by Havoc earlier this month. (g_mkstemp): Use only
[platform/upstream/glib.git] / ChangeLog
1 2000-11-11  Tor Lillqvist  <tml@iki.fi>
2
3         * gfileutils.c (g_file_open_tmp): New function, suggested by Havoc
4         earlier this month.
5         (g_mkstemp): Use only one case for letters in temp file name, as
6         this will be used on systems with case-insensitive file systems.
7
8         * testglib.c (main): Test g_mkstemp() and g_file_open_tmp().
9
10 2000-11-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
11
12         * gthreadpool.c: Don't take other threads with other priorities
13         into account as changing the priority is highly
14         unportable. (Actually using it at all already is unportable, but
15         even sometimes where that works, changing priority is not
16         possible).
17
18 2000-11-05  Havoc Pennington  <hp@pobox.com>
19
20         * gmarkup.h: rename G_MARKUP_FOO to
21         G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG
22
23         * gmarkup.c: don't start doc comments with "Returns"
24         
25 2000-11-05  Havoc Pennington  <hp@pobox.com>
26
27         * gmarkup.c: inline docs
28         (unescape_text): properly check strtoul for failure.
29         
30         * gerror.c (g_propagate_error): Free the src error if the dest
31         location is NULL - I'm pretty sure that's what this function was 
32         supposed to do.
33
34 2000-11-05  Havoc Pennington  <hp@pobox.com>
35
36         * gutils.c (g_find_program_in_path): cleanup docs, sync param 
37         names to those in the header
38
39         * gfileutils.c (g_mkstemp): clean up docs
40
41         * gshell.h: sync param names with param names in .c file
42
43         * gfileutils.h (enum GFileTest): remove trailing comma from last
44         member, confuses gtk-doc
45
46         * gmarkup.h: s/GMarkupErrorType/GMarkupError/g; to follow
47         convention
48
49 2000-11-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
50
51         * gasyncqueue.c: Added documentation for asyncronous queues.
52
53         * gspawn.c: Include sys/select.h (some platforms need it for
54         select). 
55
56         * gspawn.c: Changed unportable __FUNCTION__ to the verbatim
57         function name.
58
59 2000-10-31  Tor Lillqvist  <tml@iki.fi>
60
61         * gutils.c
62         * gutils.h
63         * gfileutils.c
64         * gfileutils.h: Actually, g_mkstemp() is better suited in gfileutils.
65
66 2000-10-30  Tor Lillqvist  <tml@iki.fi>
67
68         * configure.in: Check for mkstemp.
69
70         * gutils.c (g_mkstemp): New function. If HAVE_MKSTEMP, just call
71         it, otherwise use code lifted from glibc.
72
73         * gutils.h: Declare it.
74
75         * glib.def: Here, too. Plus two missing functions.
76
77 2000-10-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
78
79         * gcache.h, gcache.c, ghash.h, ghash.c, grel.c, grel.h, gtypes.h:
80         Introduced new function type GEqualFunc to return TRUE for equal
81         params. This is now used instead of GCompareFunc (which should
82         work akin to strcmp) here. This kind of fixes Bug #14412. Note
83         that technically GCompareFunc and GEqualFunc are still the same
84         types, as gint == gboolean.
85
86         * ghash.h, gutils.c: g_int_equal and g_direct_equal now return
87         gboolean to be really become GEqualFunc.
88
89         * gscanner.c, testglib.c, tests/hash-test.c: Some tiny changes to
90         follow the above change.
91
92 2000-10-27  Tor Lillqvist  <tml@iki.fi>
93
94         * makefile.{mingw,msc}.in (glib_OBJECTS): Add gmarkup.
95
96         * glib.def: Add missing functions.
97
98         * tests/makefile.{mingw,msc}.in (TESTS): Add markup-test.
99
100 2000-10-24  Havoc Pennington  <hp@pobox.com>
101
102         * gmarkup.h, gmarkup.c: New module to parse a simple
103         markup language
104         
105         * Makefile.am: add gmarkup.h, gmarkup.c
106
107         * tests/Makefile.am: add markup-test
108
109         * gstring.h (g_string_new_len): new function to create a string
110         with a length
111         (g_string_new): avoid a gratuitous realloc
112
113 2000-10-26  Tor Lillqvist  <tml@iki.fi>
114
115         * makefile.{mingw,msc}.in: Cosmetics.
116
117 2000-10-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
118
119         * gstrfuncs.c (g_strsplit): When the string is ended by a
120         delimiter, return an extra empty string just like for a delimiter
121         at the start of the string. This makes the function behave more
122         consitent and also fixes Bug #15026.
123
124 Tue Oct 24 22:09:14 2000  Tim Janik  <timj@gtk.org>
125
126         * glib-object.h: added newly added gobject/ headers.
127
128         * gmesage.c: print g_message() output to stderr instead of stdout.
129
130 2000-10-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
131
132         * configure.in: Use one = instead of two, which is plainly wrong.
133
134 2000-10-19  Tor Lillqvist  <tml@iki.fi>
135
136         * makefile.msc.in: Pass -DGSPAWN_HELPER when building it. Link
137         with user32.lib.
138
139         * gspawn-win32.c
140         * gfileutils.c: Make them compile with picky MSVC.
141
142         * gwin32.h: New file. Move Win32-only stuff that isn't related to
143         GIOChannels here from giochannel.h.
144
145         * Makefile.am: Add it here.
146
147         * giochannel.h: Move stuff to gwin32.h.
148
149         * glib.h: On Win32, include gwin32.h.
150
151 Mon Sep 11 10:03:24 2000  Owen Taylor  <otaylor@redhat.com>
152
153         * glib.h convert.c (g_convert_with_fallback): Change
154         ERROR_OTHER to ERROR_FAILED, add some dummy marking with _().
155
156         * docs/reference/glib/glib-sections.txt
157         docs/reference/glib/glib-docs.sgml Update for g_convert,
158         g_unicode_validate.
159
160 2000-10-16  Tor Lillqvist  <tml@iki.fi>
161
162         * glibconfig.h.win32.in: Remove alloca stuff from here. galloca.h
163         takes care of it, correctly.
164
165         * giowin32.c (reader_thread): Some more debugging output.
166         (g_io_channel_win32_poll): Remove unused vars.
167
168         * gfileutils.c: Changes for Win32, with no unistd.h and no
169         S_ISLNK().
170
171         * gspawn-win32.c: Implementation of the g_spwan_* functions for
172         Win32. Due to the general non-Unixness of Win32, much of the
173         functionality that is relatively clean to implement on Unix, is
174         hard to do on Win32. We must use a separate helper program to
175         change directory, close extra file descriptors, redirect the std
176         ones, as needed, and only then start the child process. No child
177         process pid can be returned, unfortunately. Or if we used
178         CreateProcess directly, it probably could. (Now we use the spawnv*
179         functions from msvcrt.)
180
181         * Makefile.am (EXTRA_DIST): Add gspawn-win32.c
182
183         * glib.def: Add new entry points.
184
185         * glib.def
186         * giowin32.c: Remove g_io_channel_win32_wait_for_condition(),
187         g_io_channel_win32_poll() subsumes it.
188
189         * gbacktrace.h: G_BREAKPOINT for MSVC (on the ix86).
190
191         * gwin32.c (g_win32_getlocale): Use "sp" for
192         LANG_CROATIAN+SUBLANG_SERBIAN_LATIN.
193
194         * makefile.{mingw,msc}.in (glib_OBJECTS): Add new files.
195         Add gspawn-win32-helper.exe rule.
196
197         * tests/makefile.{mingw,msc}.in (TESTS): Add shell-test and
198         spawn-test.
199
200         * tests/spawn-test.c: (run_tests): On Win32, don't try to run
201         /bin/sh, but ipconfig (no special significance in choosing that,
202         just a program that outputs something to stdout).
203
204 2000-10-15  Raja R Harinath  <harinath@cs.umn.edu>
205
206         Remove need for acconfig.h, and misc. cleanups.
207         * acglib.m4 (GLIB_SIZEOF): Add 'autoheader' comment to
208         AC_DEFINE_UNQUOTED.
209         (GLIB_BYTE_CONTENTS): Likewise.
210
211         * configure.in: Add 'autoheader' comments to all AC_DEFINE(...)
212         and AC_DEFINE_UNQUOTED(...) lines.
213         Replace AC_MSG_CHECKING/AC_CACHE_VAL with AC_CACHE_CHECK.
214         (AM_PROG_LIBTOOL): Move after AC_PROG_CC.
215         
216         * acconfig.h: Empty out.
217
218         * Makefile.am (BUILT_EXTRA_DIST): New variable.  List 'dist'able
219         files that are created in the builddir.
220         (dist-hook): Handle those files.
221         (libglib_1_3_la_SOURCES): Remove @ALLOCA@.  @ALLOCA@ should only
222         be used in an _LDADD or _LIBADD, since it expands (if necessary)
223         to 'alloca.o'.
224
225         * tests/Makefile.am (BUILT_EXTRA_DIST): New variable.
226         (dist-hook): Handle $(BUILT_EXTRA_DIST).
227         
228 2000-10-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
229
230         * grand.c: Added inline documentation. 
231
232         * gtypes.h, gnode.h, gutils.h: Readded GFreeFunc,
233         g_node_insert_after and g_find_program_in_path resp., which
234         mysteriously disappeared during the glib.h dissection.
235
236 2000-10-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
237
238         * glibconfig.h.win32.in: Adapted accordingly to header separation
239         and GLIB_HAVE_ALLOCA_H renaming.
240
241         * Makefile.am: Added the new headers to glibinclude_HEADERS.
242
243         * glib.h: Forgot to include gerror.h.
244
245         * glib.h, galloca.h, garray.h, gasyncqueue.h, gbacktrace.h,
246         gcache.h, gcompletion.h, gconvert.h, gdataset.h, gdate.h, ghash.h,
247         ghook.h, giochannel.h, glist.h , gmacros.h, gmain.h, gmem.h,
248         gmessages.h, gnode.h, gprimes.h, gquark.h, gqueue.h, grand.h,
249         grel.h, gscanner.h, gslist.h, gstrfuncs.h, gstring.h, gthread.h,
250         gthreadpool.h, gtimer.h, gtree.h, gtypes.h, gutils.h: Split glib.h
251         into many header files mostly according to the resp. *.c-files.
252         
253         * gmacros.h: Added G_BEGIN_DECLS and G_END_DECLS to mean: 'in case
254         of C++: extern "C" { ... }' analogous to glibc __BEGIN_DECLS and
255         __END_DECLS.
256
257         * configure.in, gerror.h, gfileutils.h, gshell.h, gspawn.h,
258         gunicode.h, : Changed guard-macro names to something more
259         consistent.
260
261         * configure.in, *.h: Use G_BEGIN_DECLS and G_END_DECLS.
262
263         * configure.in: Defined GLIB_HAVE_ALLOCA_H instead of including
264         alloca.h in glibconfig.h, GLIB_HAVE_ALLOCA_H is used in glib.h.
265
266         * configure.in: Removed cruft from old threading code.
267
268 2000-10-09  Raja R Harinath  <harinath@cs.umn.edu>
269
270         Work with beta autoconf 2.50.
271         * configure.in (GLIB_MAJOR_VERSION): Use GLIB_DIVERT_BEFORE_HELP
272         instead of AC_DIVERT_PUSH(),AC_DIVERT_POP.
273         (AC_CHECK_HEADERS): Remove redundant AC_DEFINE(HAVE_...).
274         (REALLOC_0_WORKS): Move AC_DEFINE outside AC_CACHE_VAL.
275         (dlopen): Quote nested AC_CHECK_... calls.
276
277         * acglib.m4 (GLIB_TR_SH, GLIB_TR_CPP): Utility macros copied from
278         beta autoconf 2.50.
279         (GLIB_DIVERT_BEFORE_HELP): New macro that works both with autoconf
280         2.13 and beta autoconf 2.50.
281         (GLIB_SIZEOF, GLIB_BYTECONTENTS): Use GLIB_TR_*.
282
283         * Makefile.am (CONFIGURE_DEPENDENCIES): Use this to specify
284         that 'configure' depends on acglib.m4.
285
286 2000-10-09  Havoc Pennington  <hp@redhat.com>
287
288         * Makefile.am, tests/Makefile.am: Add new files.
289
290         * tests/spawn-test.c, tests/shell-test.c: new tests for
291         the shell/spawn stuff
292
293         * gutils.c (g_find_program_in_path): convert a relative
294         program name into an absolute pathname to an existing 
295         executable
296
297         * gspawn.h, gspawn.c: New fork/exec API
298
299         * gshell.h, gshell.c: Shell-related utilities, at the moment
300         simply routines to parse argv and quote/unquote strings
301
302         * guniprop.c (g_unichar_isspace): Return TRUE for the 
303         ASCII space characters isspace() returns TRUE for.
304
305         * gfileutils.c (g_file_get_contents): Convenience function 
306         to slurp entire file into a string and return it. Partially
307         written by Joel Becker.
308         (g_file_test): file test function
309
310 2000-10-06  Tor Lillqvist  <tml@iki.fi>
311
312         * makefile.msc.in: Revamp to be like makefile.mingw.in, make
313         the MSVC build actually work again.
314
315         * gmodule/makefile.msc.in
316         * gobject/makefile.msc.in
317         * gthread/makefile.msc.in: New files, like their mingw counterparts.
318
319         * gmodule/Makefile.am
320         * gobject/Makefile.am
321         * gthread/Makefile.am: Make and distribute them.
322
323         * */makefile.mingw.in: Allow override of GLib version number from
324         the build/win32/module.defs file.
325
326         * glib.def: Add new entry point.
327
328         * tests/gio-test.c (main): Fix the Win32-only code to use current
329         API, g_io_channel_win32_make_pollfd() and g_io_channel_win32_poll().
330
331         Fixes from Hans Breuer:
332
333         * glib.h (struct DIR): Keep the last readdir result cached inside
334         the DIR struct, to enable several DIRs being open simultaneously.
335
336         * gwin32.c (g_win32_readdir): Use the above instead of static.
337
338         * giowin32.c (g_io_channel_win32_make_pollfd): Insert cast to keep
339         MSVC happy.
340
341 2000-10-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
342
343         * glib.h: Changed alloca stuff a bit: when we have a working
344         alloca.h, we're not messing with alloca any further. Should fix a
345         bug reported by Bernd Demian <wega@csc-dd.de>.
346
347 2000-09-29  Jonathan Blandford  <jrb@redhat.com>
348
349         * gnode.c (g_node_insert_after): Added function to keep symetry
350         with g_node_insert_before. 
351
352 2000-09-29  Martin Baulig  <baulig@suse.de>
353
354         Several minor ANSI C fixes.
355
356         Added missing casts:
357         * gdate.c (g_date_fill_parse_tokens): `s = (guchar *) str'.
358         * gmain.c (g_idle_dispatch): `func = (GSourceFunc) source_data'.
359         (g_idle_add_full): `(gpointer) function' in call to g_source_add().
360         * gstrfuncs.c (g_strdown): `s = (guchar *) string' and
361         `return (gchar *) string'.
362         (g_strup): Likewise.
363         (g_strchug): `start = (guchar*) string' in 1st for() argument;
364         `strlen ((gchar *) start)' in call to g_memmove().
365         * gstring.c (g_string_down): `s = (guchar *) string->str'.
366         (g_string_up): Likewise.
367         * gthreadpool.c (stop_this_thread_marker):
368         `(gpointer) &g_thread_pool_new'.
369         * gunidecomp.h (decomp_table[]): Cast all the strings to
370         `unsigned char *'.
371
372         Put text following #endif into comments:
373         * gmain.c: here.
374
375 2000-09-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
376
377         * configure.in, glib.h: Added errorcheck mutexes. These are
378         activated through the preprocessor symbol
379         G_ERRORCHECK_MUTEXES. Need to add an extra word to StaticMutex in
380         order to achieve this. g_(static_)mutex_* functions instrument the
381         mutex operations with mutex name and location, when compiled with
382         -DG_ERRORCHECK_MUTEXES. g_thread_init activates the errorcheck
383         mutexes, when compiled with -DG_ERRORCHECK_MUTEXES.
384
385 2000-09-28  Havoc Pennington  <hp@pobox.com>
386
387         * glib.h (GThreadPriority): fix indentation
388         (GConvertError): generic error is conventionally called
389         _FAILED rather than _OTHER, at least at the moment, 
390         according to GError docs in docs/reference.
391
392         * gconvert.c: s/_OTHER/_FAILED/
393
394 2000-09-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
395
396         * configure.in: Adjusted the test for an unimplemented
397          getpwuid_r. Info from Michael Pruett. This is just a forward
398          merge from glib-1-2.
399
400         * configure.in: Moved determination of G_THREAD_FLAGS before
401         G_THREAD_LIBS. Check for UnixWare systems and set the right cflags
402         and libs there (it needs -Kthread for the native compiler and
403         -pthread for gcc). Thanks to Boyd Lynn Gerber <gerberb@zenez.com>
404         for the info.
405
406         * configure.in: Fail immediately, when no thread library is found,
407         instead of continuing searching for rt libs etc. Changed almost
408         all occurances of $enable_threads to $have_threads, as that's,
409         what we want.
410
411         * tests/threadpool-test.c: Define vars inside the guard to avoid
412         warnings.
413
414         * configure.in, tests/type-test.c: Some platforms support 64 bit
415         'long long', but you can not printf or scanf them. In that case,
416         don't define G_G{UINT|INT}64_FORMAT. Changed the type-test program
417         to reflect that.
418
419         * gutils.c (g_get_current_dir): max_len can't be initialized
420         statically as it might call a function. So do it at first call.
421
422 Tue Sep 26 2000 Elliot Lee <sopwith@redhat.com>
423         * glib.h: Add G_GNUC_PURE macro (but don't use it anywhere).
424
425 Mon Sep 25 2000 Elliot Lee <sopwith@redhat.com>
426         * garray.c, glib.h, gmem.c: Add a few missing G_GNUC_CONST's.
427
428 2000-09-21  Tor Lillqvist  <tml@iki.fi>
429
430         * makefile.mingw.in: Add gconvert.o. Use libiconv.
431
432         * config.h.win32.in: Define HAVE_GETCWD.
433
434         * glib.def: Add new entry points.
435
436 2000-09-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
437
438         * configure.in: The last released automake (1.4) still requires
439         AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL, so use that for the
440         time being.
441
442 2000-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
443
444         * acconfig.h, configure.in, gutils.c: Test for the existence of
445         getcwd, and use it only when found.
446
447         * glib.h: Only use the gcc-variable-macro-argument-extension for
448         gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.
449
450 Mon Sep 18 10:58:21 2000  Owen Taylor  <otaylor@redhat.com>
451
452         * gutf8.c: Implement g_ucs4_to_utf8 which was in
453         the header file but not implemented.
454
455 Sun Sep 17 2000 Elliot Lee <sopwith@redhat.com>
456
457         * glib.h configure.in: Define g_alloca() as an
458         alloca-that-works-anywhere.
459
460         * gconvert.c: Fix warnings which could have caused problems on
461         64-bit platforms.
462
463 Sun Sep 10 12:37:40 2000  Owen Taylor  <otaylor@redhat.com>
464
465         * glib.h gconvert.c (g_convert): Havoc Pennington's implementation 
466         of convenient character set conversion using iconv, with
467         the addition of GError. We probably need a fallback that
468         just does conversions between, say UTF-8,16,32 and ISO-8859-1
469         for targets without iconv at all.
470
471         Also add g_convert_with_fallback() to take care of conversions 
472         where we accept some loss going to the target encoding.
473
474 2000-09-10  Havoc Pennington  <hp@redhat.com>
475
476         * gutf8.c (g_utf8_validate): Add this function.
477
478 Sat Sep  9 18:50:42 2000  Owen Taylor  <otaylor@redhat.com>
479
480         * gstrfuncs.c (g_strescape): Add a missing g_return_if_fail().
481
482 Mon Aug 21 03:57:46 2000  Tim Janik  <timj@gtk.org>
483
484         * glib.h (G_BREAKPOINT): for non-i386 and non-alpha, or non gcc,
485         implement BREAKPOINT() as raise (5 /* SIGTRAP */);
486
487         * glib.h: provide user-definable switch G_IMPLEMENT_INLINES,
488         to turn on compilation of inline function implementations provided
489         in header files with extern linkage.
490         wrap inline function implementations into ifdef __G_UTILS_C__, so we
491         really only compile them for gutils.c and not also into arbitrary user
492         code that wants to make use of G_IMPLEMENT_INLINES.
493         adjusted comment apropriately.
494
495         * gutils.c: to turn on compilation of inline functions, provide
496         #define G_IMPLEMENT_INLINES 1 and #define __G_UTILS_C__.
497
498 2000-09-06  Havoc Pennington  <hp@redhat.com>
499
500         * gerror.c: docs
501
502         * docs/reference/glib/tmpl/error_reporting.sgml: docs
503
504 Wed Sep  6 10:28:34 2000  Owen Taylor  <otaylor@redhat.com>
505
506         * guniprop.c gunicode.h gutf8.c: Some inline docs fixes.
507
508 2000-09-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
509
510         * glib.h, gtimer.c, tests/thread-test.c:
511         s/G_MICROSEC/G_USEC_PER_SEC/
512
513         * glib.h: Removed G_G{U}{SHORT|INT|LONG}_FORMAT from glib.h, as
514         they are really superfluous.
515
516 Tue Sep  5 20:16:27 2000  Owen Taylor  <otaylor@redhat.com>
517
518         * configure.in docs/Makefile.am: Add gtk-doc checks
519         for newly added docs/reference/ subdir.
520
521 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
522
523         * gthread.c (g_thread_error_quark): Don't use a G_LOCK, as it
524         isn't necessary.
525
526 2000-09-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
527
528         * gstring.c (g_string_free): Use g_return_val_if_fail instead of
529         g_return_if_fail, as the function now is supposed to return
530         something.
531
532         * gerror.c, gerror.h (g_propagte_error): Added function
533         g_propagte_error to hand over local errors to the calling
534         function.
535
536         * glib.h: Include gerror.h before it is used for some g_thread_*
537         functions.
538
539         * gthread.c, gthreadpool.c, glib.h: Enable error reporting for
540         thread creation, namly for g_thread_create, g_thread_pool_new,
541         g_thread_pool_push and g_thread_pool_set_max_threads.
542
543         * tests/thread-test.c, tests/threadpool-test.c: Adapted
544         accordingly.
545
546 2000-08-31  Tor Lillqvist  <tml@iki.fi>
547
548         * glib.h
549         * glib.def
550         * giowin32.c (g_io_channel_win32_make_pollfd): New function, to
551         make a GPollFD from a GIOChannel. Creates the events and starts
552         the reader thread if necessary.
553
554         * glib.h
555         * giowin32.c (g_io_channel_win32_poll): No use for separate
556         condition parameter.
557
558         * gmain.c (g_get_current_time): (Win32): Simplify, use
559         GetSystemTimeAsFileTime().
560
561 2000-08-27  Tor Lillqvist  <tml@iki.fi>
562
563         * giowin32.c (g_io_channel_win32_poll): New function, otherwise
564         like g_io_channel_win32_wait_for_condition(), but accept several
565         GPollFDs.
566         (g_io_channel_win32_wait_for_condition): Call
567         g_io_channel_win32_poll().
568
569         * glib.h: Declare g_io_channel_win32_poll().
570
571         * gwin32.c (g_win32_error_message): Don't believe return value
572         from FormatMessage.
573
574 2000-08-25 Elliot Lee <sopwith@redhat.com>
575
576         * glib.h, gunicode.h, gmodule/gmodule.h:
577         : Mark the following functions G_GNUC_CONST (to allow
578         optimization) because their results are a function of only their parameters:
579         g_int_hash, g_int_equal, g_direct_hash, g_direct_equal, g_quark_to_string,
580         g_date_is_leap_year, g_date_days_in_month, g_date_monday_weeks_in_year,
581         g_date_sunday_weeks_in_year, g_spaced_primes_closest, g_unichar_is*,
582         g_unichar_to*, g_unichar_*digit_value, g_unichar_type
583
584 2000-08-21 Elliot Lee <sopwith@redhat.com>
585
586         * gobject/Makefile.am, gobject/gobject-query.c, gobject/gparamspecs.c: Fix inclusion of
587         config.h
588
589 Mon Aug 21 14:46:23 2000  Owen Taylor  <otaylor@redhat.com>
590
591         * tests/gio-test.c: Fix a couple of trivial bugs that
592         were causing warnings.
593
594 Mon Aug 21 14:39:36 2000  Owen Taylor  <otaylor@redhat.com>
595
596         * glib.h: Use C99 varargs macros where possible 
597         (check __STDC_VERSION__), otherwise, on gcc, use an alternate 
598         form of gcc varargs which is more likely
599         to be supported going forward. (Based on some code
600         from Raja Harinath)
601
602 2000-08-17  Darin Adler  <darin@eazel.com>
603
604         * glib.h:
605         * garray.c: (g_array_free), (g_ptr_array_free),
606         (g_byte_array_free): Return the data left behind.
607         * gstring.c: (g_string_free): Return the data left behind.
608
609         Changed the free calls that leave data behind so they
610         return a pointer to the left-behind data, NULL if told not
611         to leave anything behind. This makes these calls easier
612         to use correctly, without any incompatible API change for
613         callers that don't know about the return value. Of course,
614         it would be even clearer if the free calls weren't dual-purpose
615         in the first place.
616
617 2000-08-12  Tor Lillqvist  <tml@iki.fi>
618
619         * giowin32.c: Some indentation and spacing fixes. Add some more
620         logging.
621         (g_io_win32_add_watch): New function, with common code from
622         g_io_win32_fd_add_watch and g_io_win32_sock_add_watch. Don't start
623         more than one reader thread for a GIOChannel. We should obviously
624         have just one reader thread reading a file descriptor or socket.
625
626 2000-08-10  Havoc Pennington  <hp@redhat.com>
627
628         * gthread-2.0.pc.in (Cflags): don't duplicate glib Cflags
629
630         * gmodule-2.0.pc.in (Cflags): don't duplicate glib Cflags
631
632         * gobject-2.0.pc.in (Cflags): don't duplicate Cflags from glib
633         itself
634
635 2000-08-10  Havoc Pennington  <hp@redhat.com>
636
637         * glib-2.0.pc.in (Cflags): Look in glib-2.0/include for
638         glibconfig.h
639
640 2000-08-07  Tor Lillqvist  <tml@iki.fi>
641
642         * tests/gio-test.c (shutdown_source): New function, that calls
643         g_source_remove(). Check return value of g_source_remove(), and
644         decrement running subprocess counter only if g_source_remove()
645         actually did remove the source.
646
647         (recv_message): Call shutdown_source() on EOF condition. Return
648         FALSE on G_IO_HUP and G_IO_ERR condition. Fix printf format typo.
649
650 Sun Aug  6 20:06:02 2000  Tim Janik  <timj@gtk.org>
651
652         * gmessages.c (g_log_domain_check_free): keep *last updated while
653         running through the domain list, so we don't screw up the removal,
654         patch provided by Gady Kozma <gadykozma@hotmail.com>.
655
656 Sun Aug  6 20:03:41 2000  Tim Janik  <timj@gtk.org>
657
658         * gmessages.c (g_log_remove_handler): keep *last updated while running
659         through the handler list, so we don't screw up the removal.
660
661 Sun Jul 30 16:54:13 2000  Owen Taylor  <otaylor@redhat.com>
662
663         * gunicode.h: Fix stray character
664
665         * gutf8.c (g_unichar_to_utf8): Allow outbuf to be NULL, in
666         which case we just compute the length.
667
668 2000-07-31  Havoc Pennington  <hp@redhat.com>
669
670         * Makefile.am (EXTRA_DIST): forgot to add .pc.in to EXTRA_DIST
671
672 2000-07-31  Havoc Pennington  <hp@redhat.com>
673
674         * glib-2.0.pc.in, gobject-2.0.pc.in, gmodule-2.0.pc.in,
675         gobject-2.0.pc.in: pkg-config data files         
676
677         * Makefile.am: Install/dist the .pc files
678
679         * configure.in: Output the .pc files
680
681 2000-07-31  Tor Lillqvist  <tml@iki.fi>
682
683         * giowin32.c (buffer_read): The code didn't compile (must
684         have been sleepy when committing). "return" instead of "break"
685
686         (g_io_win32_fd_add_watch): Cannot check if the file descriptor is
687         readable by calling ReadFile to read zero bytes. ReadFile blocks
688         on NT even if trying to read nothing at all. So, don't check if
689         file descriptor is readable; assume this function isn't called
690         otherwise.
691
692 Sun Jul 30 10:44:16 2000  Tim Janik  <timj@gtk.org>
693
694         * gmain.c (g_get_current_time): fix tor's recent changes which
695         got rid of a required variable in the non-windows path.
696
697 2000-07-30  Tor Lillqvist  <tml@iki.fi>
698
699         Finally, a new and improved IO Channel and condition watch
700         implementation for Win32. Based on code provided by Craig Setera.
701
702         When watching file descriptors, for which there is no select()
703         like functionality on Win32 that would work on all Win32 platforms
704         for all types of file descriptors (including anonymous pipes), we
705         start a new thread that blocks while trying to read from the file
706         descriptor. When the read returns, a Win32 Event is signalled that
707         the polling routine eventually notices. Meanwhile, the data being
708         read is stored in a circular buffer, from where the IO channel's
709         read() method picks it up.
710
711         If the buffer fills up the reading thread has to wait for space
712         becoming available. For this another Win32 Event is used. The IO
713         Channel's read() method signals this when it has read some data
714         out of the buffer.
715
716         The separate reader thread(s), and the circular buffer(s) with
717         associated events mean lots of possibilities for fun parallellism
718         errors. But it seems to work OK, i.e. GIMP runs.
719
720         * gmain.c: Small changes to the Win32 polling function.
721         (g_main_win32_get_poll_func): New function. Perhaps it would be a
722         good idea to provide this on all platforms.
723
724         * giowin32.c: The bulk of the new implementation.
725         (g_io_channel_win32_wait_for_condition): New function. To be used
726         where on Unix one does a select() on the channel's fd, like
727         libgimp's gimp_extension_process(). Could be provided on all
728         platforms.
729
730         * glib.h: Update documentation for IO Channels on Win32. Remove
731         the declarations for the as of now obsolete old functions related
732         to IO Channels for pipes with "wakeup" messages.
733
734         * glib.def: Some new functions.
735
736         * tests/gio-test.c: New file, to test GIOChannel and main loop.
737
738         * tests/Makefile.am
739         * tests/makefile.mingw.in: Add it.
740
741         (Later the same night:)
742
743         * giowin32.c: Compile in the debugging code all the time, but only
744         output debug messages if told so. Add (unadvertised) function to
745         turn on/off debug messages for a channel.
746
747         (buffer_read): Don't loop. It is expected behaviour to return a
748         short read occasionally, for instance when reading from
749         pipes. It's the calling code that should loop if it *knows* how
750         much the writer has written.
751
752         * tests/gio-test.c: Correct the program's name in the output.
753         (recv_message): Loop calling g_io_channel_read() (in a new
754         function read_all()) until we have all the bytes we want (that we
755         know the writer has written/will write).
756
757 Thu Jul 27 05:15:11 2000  Tim Janik  <timj@gtk.org>
758
759         * gstrfuncs.c (g_strlcpy, g_strlcat): completed tor's fix
760         to cover both #ifdef branches.
761
762 2000-07-26  Tor Lillqvist  <tml@iki.fi>
763
764         * gstrfuncs.c (g_strlcpy, g_strlcat): Return 0 on error, not NULL.
765
766         * glib.def: Add g_strlcpy, g_strlcat.
767
768         * glibconfig.h.win32.in: Add gsize and gssize.
769
770 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
771
772         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
773         updates the license headers to the GNU Lesser General Public License,
774         as well as updating the copyright year to 2000.
775
776 Wed Jul 26 05:47:48 2000  Tim Janik  <timj@gtk.org>
777
778         * configure.in:
779         * testglib.c:
780         * gstrfuncs.c:
781         * glib.h: added g_strlcat() and g_strlcpy() wrappers, supplied by
782         David Wheeler <dwheeler@ida.org>:
783
784         * glib.h, gstrfuncs.c: added g_strlcpy and g_strlcat to support
785           safe manipulation of fixed-length string buffers.
786           These functions were originally developed by Todd Miller to simplify
787           development of security-related programs, and
788           are available on many (but not all) Unix-like systems,
789           including OpenBSD, FreeBSD, and Solaris.  See
790           ftp://ftp.openbsd.org/pub/OpenBSD/src/lib/libc/string/strlcpy.3
791           and http://www.openbsd.org/security.html.
792           If there's a strlcpy/strlcat on the system, it's called, otherwise
793           an implementation is provided.
794
795         * testglib.c: Added tests for g_strlcpy, g_strlcat.
796
797 Wed Jul 26 05:03:24 2000  Tim Janik  <timj@gtk.org>
798
799         * acglib.m4 (GLIB_SIZEOF): include <stdlib.h> and <stddef.h> if
800         STDC_HEADERS is defined.
801
802         * glib.h:
803         * glibconfig.h: define gsize and gssize in terms of GLIB_SIZEOF_SIZE_T
804
805         * glib.h (g_return_if_reached): applied darin's fix for copy'n
806         paste error in the macro implementation.
807
808 Wed Jul 26 00:46:03 2000  Tim Janik  <timj@gtk.org>
809
810         * glib.h: applied patch from Darin Adler <darin@eazel.com> which
811         supplies g_return_if_reached(), g_return_val_if_reached() and
812         g_critical().
813
814 2000-07-22  Tor Lillqvist  <tml@iki.fi>
815
816         * build-dll: Fix resource handling, the resource file got left out
817         from the DLL after all... Remove the WIN32APIHEADERS, not needed
818         with current windres.
819
820         * glib.def: Add new functions.
821
822 2000-07-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
823
824         * gutils.c, glib.h: Mark the functions g_basename and g_dirname
825         deprecated. They will issue an warning once, when compiled with
826         G_ENABLE_DEBUG, but continue to work as before. Instead the
827         functions g_path_get_basename and g_path_get_dirname should be
828         used, which BOTH return newly allocated memory, that has to freed
829         by g_free. The new g_path_get_basename now strips trailing slashes
830         from the path. This fixes #5097. For discussion see
831         http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
832
833         * gwin32.c, testglib.c, tests/dirname-test.c: Use the new
834         functions instead of the old ones.
835
836         * ghash.c, gscanner.c, glib.h: Mark the functions
837         g_hash_table_freeze, g_hash_table_thaw and thus
838         g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table
839         deprecated. They will issue an warning once, when compiled with
840         G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see
841         http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
842
843 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
844
845         * configure.in, glib.h: glibconfig.h and glib.h now include files
846         outside of the extern "C" block. Makes some C++ compiler
847         happy. Reported by Denis Vakatov <vakatov@peony.nlm.nih.gov>.
848
849 Sat Jul 15 23:49:03 2000  Owen Taylor  <otaylor@redhat.com>
850
851         * glib/glib.texi: Remove incomplete start of info file -
852         real docs are in RDP.   
853
854 Sat Jul 15 22:44:22 2000  Owen Taylor  <otaylor@redhat.com>
855
856         * configure.in: Add build/Makefile and 
857         build/win32/Makefile to AC_OUTPUT() so things build
858         again.
859
860 Sat Jul 15 09:11:46 2000  Tim Janik  <timj@gtk.org>
861
862         * gstrfuncs.c (g_strncasecmp): fixed an off by 0 error (yeah,
863         the function went off when the while (n--) loop failed due to
864         n==0 ;), reported by Jean-Louis HAMEL <jlhamel@club-internet.fr>.
865
866 2000-07-15  Tor Lillqvist  <tml@iki.fi>
867
868         * Makefile.am (SUBDIRS): Include the "build" module in GLib, too,
869         to make it more self-contained. If your CVS client doesn't
870         automatically get it, do a cvs get build in glib.
871
872         * */makefile.mingw.in: Include make.mingw from build in the glib
873         source directory.
874
875 Fri Jul 14 16:26:35 2000  Owen Taylor  <otaylor@redhat.com>
876
877         * Release 1.3.1
878
879 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
880
881         * configure.in Makefile.am glib-config.m4 glib.m4: Move
882         glib-config to glib-config-2.0 move glib.m4 to
883         glib-2.0.m4
884
885         * Makefile.am gobject/Makefile.am gmodule/Makefile.am
886         gthread/Makefile.am tests/Makefile.am: Change 
887         library names to libglib-1.3.la, etc, so that we
888         can distinguish glib-1.2 and glib-2.0 on the linkline.
889
890         * Makefile.am gobject/Makefile.am gmodule/Makefile.am:
891         Move include files into /usr/include/glib-2.0.
892
893 Thu Jul  6 18:54:49 2000  Owen Taylor  <otaylor@redhat.com>
894
895         * docs/Makefile.am (EXTRA_DIST): Remove info files
896         from the build.
897
898 2000-07-14  Tor Lillqvist  <tml@iki.fi>
899
900         * glib.def: Add g_error functions.
901
902         * makefile.mingw.in: Add gbacktrace.o.
903
904         * gbacktrace.c: No need to include <process.h>.
905
906 2000-07-12  Havoc Pennington  <hp@redhat.com>
907
908         * glib.h: #include <gerror.h>
909
910         * Makefile.am (include_HEADERS): Add gerror.h
911         (libglib_la_SOURCES): Add gbacktrace.c
912
913         * gbacktrace.c: Move g_on_error_query() in here (moved on the 
914         server, so history is preserved)
915
916         * gerror.h: GError interface
917
918         * gerror.c: GError implementation replaces stuff that's now in 
919         gbacktrace.c
920
921 Sun Jul  9 21:20:45 2000  Owen Taylor  <otaylor@redhat.com>
922
923         * gunicode.h: Include stddef.h instead of stdlib.h
924
925 2000-07-08  Tor Lillqvist  <tml@iki.fi>
926
927         * glib.h (GLIB_VAR): Rename the GUTILS_C_VAR macro to GLIB_VAR.
928
929         * gunicode.h: Mark the g_utf8_skip array with GLIB_VAR.
930
931         * glib.def: Add two missing entry points.
932
933 Thu Jul  6 15:35:28 2000  Owen Taylor  <otaylor@redhat.com>
934
935         * Release 1.3.1
936
937         * Makefile.am (EXTRA_DIST): Dist fixes.
938
939         * configure.in: Moderate the warnings just a little bit.
940
941 2000-07-05  Tor Lillqvist  <tml@iki.fi>
942
943         * README.win32: Update.
944
945 Mon Jul  3 17:58:02 2000  Owen Taylor  <otaylor@redhat.com>
946
947         * gutf8.c (g_utf8_get_charset_internal): Fix up
948         to correspond to configure.in checks.
949
950 Mon Jul  3 17:18:19 2000  Owen Taylor  <otaylor@redhat.com>
951
952         * glib.h: Comment g_get_codeset() out of the header file
953         temporarily. (Very similar to g_get_charset(), need
954         to resolve the two.)
955
956 2000-07-01  Tor Lillqvist  <tml@iki.fi>
957
958         * glib.def: Add new entry points.
959
960         * makefile.{mingw,msc}.in: Add the new Unicode object files.
961
962 Thu Jun 29 15:57:28 2000  Owen Taylor  <otaylor@redhat.com>
963
964         * NEWS: updated
965
966         * Makefile.am: added snapcheck target to go along with snapshot
967
968         * gstring.c glib.h (g_string_hash): Add g_string_hash to 
969         go along with g_string_equal.
970
971 Tue Jun 27 12:40:23 EDT 2000  David A. Wheeler <dwheeler@dwheeler.com>
972
973         * glib.h: Added g_string_equal for comparing GStrings;
974         changed g_str_equal so it returns gboolean (instead of gint).
975
976         * gstring.c: Modified GString implementation to support embedded
977         ASCII NUL ('\0') characters, and implemented g_string_equal.
978
979         * testglib.c tests/string-test.c: Added tests for g_string_equal
980         and tests for proper handling of embedded ASCII NUL characters.
981
982 Wed Jun 28 22:52:00 2000  Owen Taylor  <otaylor@redhat.com>
983
984         * Makefile.am (libglib_la_SOURCES): Fix
985         gunichartable.h => gunichartables.h. (From Eric Limings)
986
987 Fri Jun 23 17:20:26 2000  Tim Janik  <timj@gtk.org>
988
989         * glib.h: define gstring in terms of gchar*. this typedef reflects
990         the type name of the primitive G_TYPE_STRING in the gobject module.
991
992 Wed Jun 21 12:09:03 2000  Owen Taylor  <otaylor@redhat.com>
993
994         * gunicode.h gutf8.c guniprop.c gunidecomp.[ch] gunichartables.h
995         Makefile.am glib.h: Initial pass at adding unicode support
996         functions. A few things still need to be implemented, a bit
997         of cleanup needs to be done, tests need to be added, and 
998         the docs need to be finished, but this should allow replacing
999         most or all use of libunicode.
1000
1001 2000-06-06  Tor Lillqvist  <tml@iki.fi>
1002
1003         * giowin32.c (g_io_channel_win32_pipe_readable): If we are
1004         watching the same pipe for different conditions (with different
1005         callbacks), check them all. Only call the callback for G_IO_IN
1006         from here. (This bug popped up when a watch for G_IO_ERR|G_IO_HUP
1007         was added to gimplib.)
1008
1009 2000-05-30  Tor Lillqvist  <tml@iki.fi>
1010
1011         * gutils.c (g_locale_get_codeset): Implement on Win32.
1012
1013         * glib.def: Add g_get_codeset.
1014
1015         * tests/Makefile.am (EXTRA_DIST): makefile.cygwin* has been
1016         renamed to makefile.mingw*.
1017
1018 Tue May 30 16:01:32 2000  Owen Taylor  <otaylor@redhat.com>
1019
1020         * glib.h gutils.c: Move the g_locale_get_codeset() up in the 
1021         header file to correspond to to comments about memory
1022         management. Rename to g_get_codeset() to avoid 
1023         polluting the g_locale_* namespace, which probably
1024         would have g_locale_get_codeset (GLocale *locale).
1025         Add a doc comment.
1026
1027 Mon May 29 14:10:35 2000  Owen Taylor  <otaylor@redhat.com>
1028
1029         * gutils.c (g_locale_get_codeset): Add function to get the 
1030         codeset name for the current locale.
1031
1032         * configure.in acconfig.h: Add check for nl_langinfo(CODESET);
1033
1034 Fri May 19 11:39:29 2000  Tim Janik  <timj@gtk.org>
1035
1036         * gutils.c (g_snprintf):
1037         (g_vsnprintf): added argument assertments.
1038
1039         * gstring.c (g_string_assign): added argument assertments.
1040         (g_string_truncate): make len a guint.
1041
1042 Fri May 19 09:00:44 2000  Tim Janik  <timj@gtk.org>
1043
1044         * gmem.c (g_free): fixed SIZEOF_LONG==4 assumption with
1045         ENABLE_MEM_CHECK, from Art Haas <ahaas@neosoft.com>.
1046
1047         * gslist.c (g_slist_reverse): shut up compiler.
1048
1049         * gscanner.c (g_scanner_get_token_ll): removed inline assignment.
1050
1051         * garray.c: remove index>=0 checks for unsigned indices.
1052
1053         * gmain.c (g_idle_prepare): timeout assignment fix.
1054
1055         * gtree.c (g_tree_node_rotate_right): shut up compiler.
1056
1057 2000-05-13  Tor Lillqvist  <tml@iki.fi>
1058
1059         * makefile.mingw.in
1060         * tests/makefile.mingw.in
1061         * build-dll: Rename makefile.cygwin(.in) to
1062         makefile.mingw(.in), which better describes what it is. Move the
1063         build of gmodule, gthread and gobject DLLs to makefiles in those
1064         directories. Move resource file handling and build number bump to
1065         build-dll, where it sits much cleaner.
1066
1067         * README.win32
1068         * Makefile.am (EXTRA_DIST): Update accordingly.
1069
1070         * glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
1071         G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
1072         implementations.
1073
1074         * glib.def: Add g_strcanon.
1075
1076         * gtree.c (g_tree_node_rotate_left): Remove unused variables.
1077
1078         * gwin32.c (g_win32_opendir): Remove unneeded statement.
1079
1080 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
1081
1082         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
1083         broken and require an empty arg, give it to them.
1084
1085 Fri Apr 28 23:54:35 2000  Tim Janik  <timj@gtk.org>
1086
1087         * setup things for a new sub-library libgobject:
1088
1089         * Makefile.am (SUBDIRS): added gobject
1090
1091         * glib-config.in: feature -lgobject.
1092
1093         * configure.in (AC_OUTPUT): generate gobject/Makefile.
1094
1095         * glib.m4 (AM_PATH_GLIB): feature gobject module.
1096
1097         * glib.spec.in: added %{prefix}/lib/libgobject-1.3.so.*
1098
1099 Fri Apr 28 21:41:49 2000  Tim Janik  <timj@gtk.org>
1100
1101         * glib.h: added G_STRLOC macro.
1102         G_STRUCT_OFFSET(): signedness corrections.
1103         (G_CSET_DIGITS): list 0-9.
1104         * gscanner.c (g_scanner_config_template): use G_CSET_DIGITS.
1105
1106         * glib.h: 
1107         * gstrfuncs.c:
1108         (g_strdown):
1109         (g_strup):
1110         (g_strreverse): return the modified string instead of void, so
1111         calls to these functions can be nested.
1112         (g_strcanon): new function, canonicalizes string according to
1113         a given character set.
1114
1115 Fri Apr 28 19:45:16 2000  Tim Janik  <timj@gtk.org>
1116
1117         * gasyncqueue.c (g_async_queue_unref): get rid of an unused variable.
1118
1119 Wed May 10 19:52:44 2000  Owen Taylor  <otaylor@redhat.com>
1120
1121         * glib.m4: Print found version when test succeeds.
1122
1123 2000-05-04  Tor Lillqvist  <tml@iki.fi>
1124
1125         * makefile.cygwin.in
1126         * tests/makefile.cygwin.in: Include the common makefile snippet
1127         from ../build/win32.
1128
1129         Maybe CVSROOT/modules should be changed so that the 'build' module
1130         is included within the glib module (and gtk+, and gimp, and maybe
1131         others later), in the same way as the 'macros' module is included
1132         in lots of GNOME CVS modules?
1133
1134 2000-05-02  Tor Lillqvist  <tml@iki.fi>
1135
1136         * glib.def: Add new functions.
1137
1138         * makefile.{cygwin,msc}.in (glib_OBJECTS): Add new object files.
1139
1140         * tests/makefile.{cygwin,msc}.in: Add threadpool-test.
1141
1142 2000-04-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1143
1144         * gasyncqueue.c: New File implementing an asynchronous queue to be
1145         used for asynchronous inter-thread communication.
1146
1147         * gthreadpool.c: New File implementing a thread pool to be used
1148         for distributing work among several threads. 
1149
1150         * glib.h: Added the type and function declarations for these two
1151         types.
1152
1153         * tests/threadpool-test.c: New File implementing a test for the
1154         thread pool. This also checks the asynchronous queue underlying
1155         the thread pool.
1156
1157         * tests/Makefile.am: Changed accordingly.
1158
1159 2000-04-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1160
1161         * configure.in: Look for both pthread_create and pthread_join in
1162         the thread library. Some systems define one of them, but not both
1163         in libc. Arghh. Now we really start a thread and join it later and
1164         check, whether the thread to actually ran.
1165
1166         * glib.h, gcache.c, gtree.c: Changed the 'value' parameter of
1167         g_cache_remove from gpointer to gconstpointer. Dito for the 'key'
1168         parameter of g_tree_lookup and g_tree_remove and the 'data'
1169         parameter of g_tree_search. This function now takes a function of
1170         type GCompareFunc instead of GSearchFunc. This fixes Bug
1171         #8267. Thanks to Juan Toledo <toledo@users.sourceforge.net> for
1172         pointing that out.
1173
1174         * glib.h: Removed declaration of GSearchFunc.
1175
1176         * gmem.c: s/GSearchFunc/GCompareFunc/.
1177
1178 2000-04-19  Tor Lillqvist  <tml@iki.fi>
1179
1180         * glib.def: Update entry point list.
1181
1182 2000-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1183
1184         * glib.h (G_TRYLOCK): Made the debugging G_TRYLOCK call also work
1185         for compilers with funny G_STMT_(START|END) macros.
1186
1187         * tests/thread-test.c: Implemented a check for that.
1188
1189         * gutils.c (g_getenv): Changed the win32 part of this function to
1190         be thread safe and to make the returned environment string
1191         persistent to match the UN*X behavior. This is again a response to
1192         Bug #8983.
1193
1194         * glib.h (G_LOCK_NAME): Removed parentheses around the lock name,
1195         as that seems to cause problems for some compilers and really
1196         isn't necessary.
1197
1198 Wed Apr 19 08:32:32 2000  Tim Janik  <timj@gtk.org>
1199
1200         * gscanner.c (g_scanner_new): make sure that
1201         scanner->config->cset_skip_characters is "" instead of NULL, so we
1202         don't segfault further on.
1203
1204 2000-04-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1205
1206         * glib.h, glist.h, gslist.h: Changed the 'data' parameters from
1207         gpointer to gconstpointer for the functions
1208         g_(list|slist)_(remove|find|find_custom|index), as they do not
1209         change this parameter. This fixes bug #4836.
1210
1211         * glib.h: Changed comment for g_getenv to reflect, that the
1212         returned memory must not be freed. Fixes bug #8983.
1213
1214 2000-04-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1215
1216         * configure.in, acconfig.h: Add configure test for garbage
1217         collector friendliness for GLib. If enabled, ENABLE_GC_FRIENDLY
1218         will be defined.
1219
1220         * garray.c, ghash.c, glist.c, gmain.c, gmem.c, gnode.c, gqueue.c,
1221         gslist.c, gtree.c: If ENABLE_GC_FRIENDLY is defined, NULLify all
1222         memory released by the user, but cached by GLib. This lets a
1223         garbage collector have a more correct view of the actually used
1224         memory.
1225
1226         * garray.c, glib.h: Added g_(array|ptr_array|byte_array)_sized_new
1227         functions, that reserve a certain amount of memeory for the array
1228         at creation time to avoid reallocation. Fixes bug #6707 from
1229         Charles Kerr <ckerr@osserver1.nssl.noaa.gov>.
1230
1231         * glib.h, gqueue.c, tests/queue-test.c (main): Renamed
1232         g_queue_create to g_queue_new in conformance to all other GLib
1233         data types.
1234
1235 2000-04-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1236
1237         * grand.c (g_rand_new): Fixed bug. Thanks to Marko Kreen
1238         <marko@l-t.ee> for reporting that.
1239
1240 2000-03-26  Tor Lillqvist  <tml@iki.fi>
1241
1242         * README.win32: Tell about using the mingw-based gcc, which is
1243         much easier than modifying the cygwin gcc to product mingw code
1244         for the msvcrt runtime.
1245
1246         * makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
1247         with a "pure" mingw gcc, too.
1248
1249 2000-03-24  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1250
1251         * garray.c: Made GArray behave correctly. Now zero_terminated
1252         really means, that the element array->data[array->len] exists and
1253         is zeroed, and clear means that any unassigned elements obtained
1254         through g_array_set_size (the only way to get unassigned elements
1255         AFAICT) are zeroed. Added some macros to make the code more
1256         obvoius. Also made GPtrArray zero elements after
1257         g_ptr_array_set_size. This is done in a portbale way (assignment
1258         of NULL instead of just memsetting it to zero), though that might
1259         be more portability than we actually want.
1260
1261         * Makefile.am, gthread/Makefile.am, gmodule/Makefile.am,
1262         tests/Makefile.am: Added various win32 related *.in files to
1263         EXTRA_DIST to let 'make distcheck' procude all the corresponding
1264         files, which it silently fails to do currently.
1265
1266 2000-03-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1267
1268         * configure.in: After finding the right thread library (containing
1269         e.g. pthread_create) we now search for the right realtime library
1270         (containing e.g. sched_get_priority_max). Makes the output of the
1271         thread related libraries correct. 
1272
1273         * gtimer.c (g_usleep): The current implementation of g_usleep
1274         (simply calling select) doesn't work reliable for multi-threaded
1275         programs on some platforms (bad omen for the main loop....), so I
1276         changed the implementation for thread-using programs to wait for a
1277         GCond for the specified amount of time (NB: sleep and usleep are
1278         not MT-safe in general, because they often use signals).
1279
1280 Wed Mar 22 16:49:57 2000  Owen Taylor  <otaylor@redhat.com>
1281
1282         * gmem.c (g_mem_chunk_area_compare): Fix indentation.
1283
1284 2000-03-22 Elliot Lee <sopwith@redhat.com>
1285
1286         * gmem.c (g_mem_chunk_area_compare): Fix 64-bitness bug in
1287         comparing two pointers more than 4G apart.
1288
1289 2000-03-22  Tor Lillqvist  <tml@iki.fi>
1290
1291         * gutils.c: Move Win32-only includes after inclusion of glib.h, so
1292         that G_OS_WIN32 is defined.
1293
1294         * glibconfig.h.win32.in: Add GSystemThread.
1295
1296 2000-03-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1297
1298         * gutils.c (g_get_current_dir): Ok, Marcus Brinkmann
1299         <Marcus.Brinkmann@ruhr-uni-bochum.de> convinced me, that 128 KB
1300         path length might not be enough for the HURD. So I changed the
1301         loop to at least avoid an integer overflow, which could happen at
1302         beyond 2GB size ;-)
1303
1304         * configure.in: Test for sched_yield as the native yield function
1305         first. Corrected typo g_thread_sleep -> g_usleep. Corrected
1306         message for the pthread_create test. Negative Priorities are
1307         allowed (and used on Solaris), so consider
1308         sched_get_priority_min failed only if it returns -1, not <0. Check
1309         for sched_get_priority_min also in -lrt, if not found in -lpthread
1310         alone and add -lrt to G_THREAD_LIBS then. Remove special case
1311         handling of priorities for older solaris versions and posix
1312         threads. Thanks to Wan-Teh Chang <wtc@netscape.com> for suggesting
1313         some of those changes.
1314
1315         * config.guess, config.sub, ltconfig, ltmain.sh:
1316         Upgrade to libtool 1.3.4.
1317
1318 2000-03-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1319
1320         * glib.h, configure.in, gutils.h: always define G_GNUC_EXTENSION,
1321         even when not needed by GLib. That's actually also the way, the
1322         GLib reference manual describes that macro. Therefore I had to
1323         remove the lonesome #include <glibconfig.h> in gutils.c, which
1324         doesn't seem to be needed there however. This change should make
1325         Ben Gertzfield <che@debian.org> happy.
1326
1327         * gutils.c: Furthermore two warnings in gutils.c were voided,
1328         which crept in due to my last change.
1329
1330         * gutils.c (g_get_current_dir): Allocate only up to 128KB for a
1331         pathname. While this is an arbitrary value just like 2048, it
1332         seems to be enough (after all, even 4GB is an arbitrary value).
1333
1334 2000-03-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1335
1336         * gmain.c (g_main_poll): Warn in case of an error during the call
1337         to poll(2). Closes Bug#7564 as reported by David Helder
1338         <dhelder@umich.edu>.
1339
1340         * gutils.c (g_get_current_dir): Make g_get_current_dir work on
1341         systems with unlimited pathname length like the HURD (It worked
1342         there before, but only for pathes shorter than 2048). Closes
1343         Bug#4525 as reported by Marcus Brinkmann
1344         <Marcus.Brinkmann@ruhr-uni-bochum.de>.
1345
1346 2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1347
1348         * giounix.c (g_io_unix_write, g_io_unix_read): Interpret EINTR as
1349         G_IO_ERROR_AGAIN.
1350
1351 2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1352
1353         * configure.in: Added the missing POSIX_NO_YIELD and
1354         POSIX_NO_PRIORITIES warning messages.
1355
1356         * configure.in: Use AC_TRY_RUN instead of AC_TRY_LINK, to test for
1357         real thread support. On solaris pthread_create can be linked to
1358         even in -lc, but it doesn't work then.
1359
1360         * configure.in: Don't use priorities for threads, when the
1361         minimal/maximal priorities couldn't be determined at configure
1362         time.
1363
1364         * configure.in, gthread.c: Always define GSystemThread in
1365         glibconfig.h to represent a system thread.
1366
1367         * configure.in: Do not use native recursive threads, when
1368         possibe. We use some features, that they do not expose (namely the
1369         depth counter).
1370
1371         * glib.h, gthread.c: Redefined GStaticRecMutex. The functions are
1372         now implemented in a different way, which should be way
1373         faster. Alsothere are now functions g_static_rec_mutex_unlock_full
1374         and g_static_rec_mutex_lock_full to leave/enter a recursive mutex
1375         completly.
1376
1377         * gthread.c (g_thread_self): Do not test the system_thread to be
1378         non-zero to speed things up.
1379
1380         * gthread.c (g_mutex_init): Therefore set the system_thread of the
1381         main thread here.
1382
1383         * tests/thread-test.c: Rerun all tests once again, but this time
1384         we fool the system into thinking, that the available thread system
1385         is not native, but userprovided.
1386
1387 2000-03-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1388
1389         * gqueue.c (g_queue_push_tail_link, g_queue_push_head_link): We
1390         want the next and prev pointer of the inserted link to be NULL.
1391
1392 2000-03-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1393
1394         * configure.in: Another small change to the pthread_.. search
1395         pattern. Should work *now* for AIX.
1396
1397 2000-03-04  Tor Lillqvist  <tml@iki.fi>
1398
1399         * gwin32.c (g_win32_error_message): New function that returns the
1400         message string for a Win32 error code.
1401
1402         * glib.h: Declare it.
1403
1404         * glib.def: Export it, plus g_node_copy.
1405
1406 2000-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1407
1408         * configure.in: Make the search for pthread_attr_... prototypes
1409         find names at the start of a line also, like it is on AIX. Thanks
1410         to Valdis Kletnieks <Valdis.Kletnieks@vt.edu> for the info.
1411
1412 Wed Mar  1 10:39:39 2000  Tim Janik  <timj@gtk.org>
1413
1414         * gslist.c (g_slist_reverse): minor optimization.
1415
1416         * testglib.c (g_node_test): added a couple of tests for
1417         g_node_copy().
1418
1419         * glib.h:
1420         * gnode.c (g_node_copy): new function to copy subtrees,
1421         supplied by dbsears@ix.netcom.com.
1422         changed iterator to walk the children list backwards, so
1423         we get down from O(n^2) to O(n).
1424
1425         * gnode.c (g_node_first_sibling): applied patch from
1426         dbsears@ix.netcom.com to optimize access if node->parent
1427         is present.
1428
1429         * gutils.c (g_get_any_init): backed out HAVE_PW_GECOS check around
1430         assignment of g_real_name, sicne HAVE_PW_GECOS is never defined and
1431         thus breaks the original code.
1432
1433         * merged changes from 1.2.7.
1434
1435 Fri Jan 28 11:37:41 2000  Owen Taylor  <otaylor@redhat.com>
1436
1437         Bug #4156 - Changes vaguely modelled after Scott Gifford's patch
1438
1439         * gtimer.c (g_timer_elapsed): Never report negative times -
1440         clip times to 0.
1441
1442         * gmain.c (g_timeout_prepare): Guard against unexpected
1443         clock shifts by never setting a timeout of more than
1444         data->interval msecs.
1445
1446 2000-02-27  Tor Lillqvist  <tml@iki.fi>
1447
1448         * glib.def: Add new functions.
1449
1450 2000-02-23  Tor Lillqvist  <tml@iki.fi>
1451
1452         * README.win32: Add a missing step to the setup instructions for
1453         gcc-2.95.2. Thanks to Arnaud Charlet.
1454
1455         * glib.def: Add missing entry point.
1456
1457 2000-02-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1458
1459         * configure.in: Changed GCC version test to also accept major
1460         versions > 2. Thanks to Ben Gertzfield <che@debian.org> for
1461         pointing this out.
1462
1463 Thu Feb 17 12:53:44 2000  Tim Janik  <timj@gtk.org>
1464
1465         * gstring.c: changed g_str_hash() to a 31 bit version based on
1466         a submission by Karl Nelson and hand optimized ad absurdum by
1467         various people ;)
1468
1469         * gstring.c: applied patch from havoc for new gstring functions,
1470         added some more sanity checks, coding style fixups.
1471
1472 2000-02-13  Havoc Pennington  <hp@pobox.com>
1473
1474         * tests/string-test.c (main): Add tests for the new GString 
1475         features
1476
1477         * testglib.c (main): Add tests for the new GString features
1478
1479         * gstring.c (g_string_insert_len): New function; insert 
1480         a given length of string at a given position. 
1481         (g_string_append): reimplement in terms of g_string_insert_len
1482         (g_string_append_len): new function
1483         (g_string_insert_c): accept -1 for "pos" arg to mean "append"
1484         (g_string_append_c): reimplement in terms of g_string_insert_c
1485         (g_string_prepend): reimplement in terms of g_string_insert_len
1486         (g_string_prepend_len): new function
1487         (g_string_prepend_c): reimplement in terms of g_string_insert_c
1488         (g_string_insert): reimplement in terms of g_string_insert_len
1489
1490         * glib.h: Declare g_string_insert_len, g_string_append_len,
1491         g_string_prepend_len
1492
1493 Sun Feb 13 08:16:47 2000  Tim Janik  <timj@gtk.org>
1494
1495         * configure.in: wtf??? someone destroyed the configure.in, reverting to
1496         an older version from Feb 4 which apears to still work.
1497
1498 2000-02-07  Tor Lillqvist  <tml@iki.fi>
1499
1500         * gmodule.rc.in gthread.rc.in: Move to corresponding subdirectories.
1501
1502         * Makefile.am
1503         * gmodule/Makefile.am
1504         * gthread/Makefile.am: Change accordingly.
1505
1506         * makefile.cygwin: Corresponding changes, some cleanup.
1507
1508 2000-02-05  Tor Lillqvist  <tml@iki.fi>
1509
1510         * glib.rc.in gmodule.rc.in gthread.rc.in: New files, for putting
1511         version info in the DLLs on Win32.
1512
1513         * Makefile.am: Generate corresponding *.rc files and distribute
1514         them.
1515
1516         * makefile.cygwin.in: Add rules to automatically bump a "build
1517         number" in the version info in the rc files each time the DLL is
1518         built. But do this only for the person who releases binaries. If
1519         others build the DLLs, the build number is set to zero.
1520
1521 Fri Feb  4 19:36:05 2000  Tim Janik  <timj@gtk.org>
1522
1523         * glib.h: 
1524         * gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
1525         and g_dataset_id_remove_no_notify() to avoid second lookup for common
1526         use.
1527
1528 2000-02-01  Tor Lillqvist  <tml@iki.fi>
1529
1530         * glib.h
1531         * gstrfuncs.c (g_filename_to_utf8, g_filename_from_utf8): New
1532         functions for conversion between UTF-8 and the encoding expected
1533         by C runtime functions like open() and stat(), and returned by
1534         readdir().
1535
1536         Implement them on Win32 where we use the system "ANSI" codepage,
1537         which might be single-byte or double-byte. On Unix, just skip the
1538         issue for now and provide dummy implementations that return a copy
1539         of the argument.
1540
1541         * README.win32
1542         * build-dll
1543         * glib.def: Minor updates.
1544
1545 Wed Jan 26 05:24:38 2000  Tim Janik  <timj@gtk.org>
1546
1547         * glib.h:
1548         * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
1549         refetch the current time after invocation of poll() to cover up for
1550         the time spent in that function call.
1551
1552 Fri Jan 21 10:18:24 2000  Owen Taylor  <otaylor@redhat.com>
1553
1554         * glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
1555         the number of elements in an array.
1556
1557 Sun Jan  9 13:28:36 2000  Tim Janik  <timj@gtk.org>
1558
1559         * gstrfuncs.c (g_strtod): correctly fetch the current locale,
1560         fix from owen.
1561
1562 1999-12-16  Tor Lillqvist  <tml@iki.fi>
1563
1564         * gmodule/gmodule-win32.c: Use FormatMessage to translate system
1565         error codes into textual messages.
1566
1567 1999-11-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1568
1569         * glib.h (G_TRYLOCK): This of course should return TRUE in a
1570         program with a thread-disabled GLib.
1571
1572 1999-11-18  Tor Lillqvist  <tml@iki.fi>
1573
1574         * glib.def: g_strjoin was missing.
1575
1576 1999-11-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1577
1578         * acconfig.h, config.h.win32.in, configure.in: Renamed
1579         GLIB_SIZEOF_PTHREAD_T to GLIB_SIZEOF_SYSTEM_THREAD to reflect
1580         changed meaning.
1581
1582         * configure.in: Cope with systems, that have a pthread_t type,
1583         that is not a pointer. Hint from Karl Nelson
1584         <kenelson@ece.ucdavis.edu>. Define GLIB_SIZEOF_SYSTEM_THREAD to 4
1585         for Solaris. Cope with systems, that have no default mutex
1586         initialize, like obviously most DCE systems.
1587
1588         * glib.h, gthread.c: Changed the prototype of thread_create and
1589         thread_self to return the system thread into provided memory
1590         instead of a return value. This is necessary, as HPUX has a
1591         pthread_t, that is bigger than the biggest integral type there.
1592
1593         * gthread.c: system_thread is no longer a pointer, but an memory
1594         area of size GLIB_SIZEOF_SYSTEM_THREAD. Changed the
1595         zeroinitialization and the tests for zeroness accordingly.
1596
1597 1999-11-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1598
1599         * configure.in: Create docs/glib-config.1 from
1600         docs/glib-config.1.in. Makes 'make distcheck' happy (and me too).
1601
1602         * glib-config.1: Removed from CVS, as it is a generated file.
1603
1604 1999-11-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1605
1606         * configure.in: Make the test for getpwuid_r work on newer AIX
1607         versions, too. Still works on Solaris and Linux. Patch from Craig
1608         Rodrigues <rodrigc@mediaone.net>.
1609
1610 1999-11-08  Tor Lillqvist  <tml@iki.fi>
1611
1612         * gwin32.c (g_win32_getlocale): Look at env vars LC_ALL, LC_CTYPE
1613         and LANG first. Some refinements to the sublanguage logic.
1614
1615 1999-11-04  Tor Lillqvist  <tml@iki.fi>
1616
1617         * makefile.{cygwin,msc}.in: Add gwin32 object. Add rule to make .i
1618         (preprocessed source) files.
1619
1620 1999-11-01  Tor Lillqvist  <tml@iki.fi>
1621
1622         * glib.h
1623         * glib.def: Rename Win32-only functions from gwin_* to g_win32_*
1624         to match the GLib naming conventions.
1625
1626         * gutils.c
1627         * gwin32.c
1628         * testglib.c
1629         * Makefile.am: Move the Win32-only functions to the new
1630         file gwin32.c
1631
1632 1999-10-31  Tor Lillqvist  <tml@iki.fi>
1633
1634         * gutils.c (gwin_getlocale): New Win32-specific function, returns
1635         a Unixish current locale string (en, zh_TW etc).
1636
1637         * glib.h: Declare it.
1638
1639         * glib.def: Export it.
1640
1641         * testglib.c: Test it.
1642
1643         * gmessages.c (Win32: ensure_stdout_valid): Some improvements,
1644         make sure we don't call AllocConsole several times, which I think
1645         has happened.
1646
1647 Sun Oct 31 18:55:01 1999  ape@spacetec.no  (Asbjorn Pettersen)
1648
1649         * gcache.c (g_cache_remove): Test if node is NULL.
1650         If not tested, GIMP's script-fu will crash. 
1651
1652 Sun Oct 17 18:11:40 1999  Tim Janik  <timj@gtk.org>
1653
1654         * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around
1655         destroy() notification here as well.
1656
1657 1999-10-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1658
1659         * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist
1660         is called recursivly. Reported by Ola Andersson <rand@ling.umu.se>.
1661
1662 Tue Oct 12 14:17:12 1999  Tim Janik  <timj@gtk.org>
1663
1664         * glib.h: removed useless g_string(x) macro that cluttered the namespace
1665         and was just a poor wrapper around the cpp '#' symbol, use #x if you
1666         need to work around this.
1667         added new macro G_STRINGIFY(arg) that will convert arg to a string,
1668         no matter whether it contains macros or not.
1669
1670 1999-10-12  Tor Lillqvist  <tml@iki.fi>
1671
1672         * config.h.win32.in: Define the new GLIB_SIZEOF_* constants here,
1673         too.
1674
1675         * glib.h: Small Win32 comments improvement.
1676
1677 Tue Oct 12 12:16:12 1999  Tim Janik  <timj@gtk.org>
1678
1679         * gmessages.c (g_printf_string_upper_bound): completly new implementation
1680         for printf string upper bounds calculation.
1681         we handle all glibc 2.1 format specifiers now, except for positional
1682         parameters (%nn$...) and wide char strings, plus some obscure upper
1683         case variants of the standard conversions. this fixes a lot of
1684         bugs in the old code, i.e.
1685         - NULL format strings
1686         - floats with exponents >+24
1687         - %G
1688         - precision specifications in general
1689         - negative field widths
1690         - %p for SIZEOF_VOID_P > 4 platforms
1691         we now issue warnigns in places where the old code would have
1692         caused buffer overruns anyways. warnings are suppressed when invoked
1693         from glogv(), to avoid infinite recursions if someone passes a log
1694         message that comes with really obscure format specifications.
1695
1696 Tue Oct 12 11:49:00 1999  Tim Janik  <timj@gtk.org>
1697
1698         * gstrfuncs.c: nuked old g_printf_string_upper_bound() version.
1699
1700 Tue Oct 12 03:34:40 1999  Tim Janik  <timj@gtk.org>
1701
1702         * glib.h: added GFloatIEEE754 and GDoubleIEEE754 unions to access sign,
1703         mantissa and exponent of IEEE floats and doubles (required by the new
1704         version of g_printf_string_upper_bound). the unions are endian specific,
1705         we handle G_LITTLE_ENDIAN and G_BIG_ENDIAN as of currently. ieee floats
1706         and doubles are supported (used for storage) by at least intel, ppc and
1707         sparc, reference:
1708         http://twister.ou.edu/workshop.docs/common-tools/numerical_comp_guide/ncg_math.doc.html
1709
1710 Mon Oct 11 18:01:49 1999  Tim Janik  <timj@gtk.org>
1711
1712         * configure.in: added additional checks to figure sizes of size_t,
1713         ptrdiff_t and intmax_t (required by g_printf_string_upper_bound).
1714
1715 Wed Oct  6 12:44:23 PDT 1999 Manish Singh <yosh@gimp.org>
1716
1717         * configure.in: blah. use G_WITH_CYGWIN instead of G_HAVE_CYGWIN
1718
1719 1999-10-05  Tor Lillqvist  <tml@iki.fi>
1720
1721         * glib.h: (Win32) Drop the mapping of POSIX function names to the
1722         underscored versions, it's unnecessary after all. With MSVC we get
1723         them from oldnames.lib, with gcc-2.95 and mingw32 from
1724         -lmoldname-msvc. Add comment about what headers to include for
1725         prototypes.
1726
1727         * glibconfig.h.win32.in: Don't define WIN32 and NATIVE_WIN32.
1728
1729         * gerror.c (g_on_error_query): (Win32) Slightly increased verbosity.
1730
1731         * build-dll: Don't strip.
1732
1733         * tests/string-test.c tests/dirname-test.c: Use G_OS_WIN32.
1734
1735         * glib.def: Add g_thread_use_default_impl.
1736
1737 Sun Oct  3 19:46:55 PDT 1999 Manish Singh <yosh@gimp.org>
1738
1739         * configure.in: use G_HAVE_CYGWIN instead of G_OS_FEATURE_CYGWIN
1740
1741 Sun Oct  3 19:25:42 PDT 1999 Manish Singh <yosh@gimp.org>
1742
1743         * acconfig.h
1744         * configure.in
1745         * glibconfig.h.win32: G_OS_FOO #defines. I *think* I got the cygwin
1746         and beos stuff right, but I haven't tested it. The respective
1747         porters should fix any screwups
1748
1749         * glib.h
1750         * gerror.c
1751         * gmain.c
1752         * gmessages.c
1753         * gscanner.c
1754         * gthread.c
1755         * gtimer.c
1756         * gutils.c
1757         * testglib.c: use G_OS stuff
1758
1759 Wed Sep 22 01:53:18 1999  Tim Janik  <timj@gtk.org>
1760
1761         * glib.h (NULL): define NULL as (0L) if __cplusplus is defined, to
1762         avoid "ANSI C++ forbids implicit conversion from `void *' in argument
1763         passing" errors upon NULL usage in C++ programs (gcc-2.95 is on crack
1764         for erroring out on this, instead of just issueing a warning).
1765
1766         * glib.h (g_trash_stack_pop): use uncasted NULL again.
1767
1768 Fri Sep 17 10:24:45 1999  Tim Janik  <timj@gtk.org>
1769
1770         * gmem.c (g_mem_chunk_compute_size) (g_mem_chunk_new): applied patch
1771         from Soeren Sandmann <sandmann@daimi.au.dk>, to force mem chunk's area
1772         sizes to be a multitiple of atom_size, and to eliminate the MAX_MEM_AREA
1773         restriction of 65536 bytes. we also catch cases where users pass an area
1774         size < atom size with a return_if_fail statement now (which is ok,
1775         because previously this lead to memory corruption anyways).
1776
1777 Thu Sep 16 13:19:54 1999  Tim Janik  <timj@gtk.org>
1778
1779         * glib.h (g_trash_stack_pop): add explicit (GTrashStack*) cast for NULL
1780         pointer to cure ANSI C++ error.
1781
1782 Mon Sep 13 23:25:59 1999  Tim Janik  <timj@gtk.org>
1783
1784         * gmessages.c (g_logv): in case we have to abort the program,
1785         debugging is enabled and we are not called recursively, try
1786         to abort with raise (SIGTRAP) first, so developers may ignore
1787         certain failure conditions during debugging stage.
1788
1789 Thu Aug 26 15:09:36 1999  Tim Janik  <timj@gtk.org>
1790
1791         * Makefile.am:
1792         * gmodule/Makefile.am:
1793         * gthread/Makefile.am: added --export-dynamic so we can load dynmic
1794         modules, (required, according to the libtool 1.3.3 docu).
1795
1796 1999-07-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1797
1798         * grand.c (g_rand_new): Use /dev/urandom, as it doesn't block,
1799         which /dev/random might do. Do not XOR the time, when getting the
1800         seed form /dev/urandom, as this is good itself. Prevent the
1801         initial seed from being zero, which causes the PRNG to produce
1802         only zeros. Hints from Colin Plumb <colin@pgp.com>.
1803
1804 1999-08-17  Tor Lillqvist  <tml@iki.fi>
1805
1806         * glib.h (g_trash_stack_push): Add a cast.
1807
1808         * gslist.c
1809         * glist.c: Make the inline functions static inline, and add
1810         separate extern wrappers. Not all compilers produce callable entry
1811         points for inline functions, even if gcc does.
1812
1813 Sun Aug 15 02:47:14 1999  Tim Janik  <timj@gtk.org>
1814
1815         * glib.h (g_trash_stack_pop): eliminate memset() call, since string.h
1816         has not neccessarily been included prior to glib.h.
1817
1818 Mon Aug  2 21:03:10 1999  Tim Janik  <timj@gtk.org>
1819
1820         * configure.in: added --enable-msg-prefix option.
1821
1822         * gmessages.c (g_log_default_handler): feature "prg_name (pid:%u): "
1823         if --enable-msg-prefix was selected (use "(process:%u): " if
1824         g_get_prgname () returns NULL, along the lines of g_on_error_query).
1825
1826 1999-08-03  Tor Lillqvist  <tml@iki.fi>
1827
1828         * glib.h
1829         * gstrfuncs.c
1830         * tests/strfunc-test.c: Rename g_strccpy to g_strcompress and
1831         g_strecpy to g_strescape per Tim Janik's suggestion. Dropped the
1832         destination parameter, always g_malloc a new string.  Fix bug in
1833         g_strcompress, octal digits were gobbled up without limit, should
1834         use max three.
1835
1836         Sources that use g_strescape must have ifdefs to be compilable
1837         both with GLib 1.2 and 1.3.
1838
1839 Sat Jul 31 17:52:03 PDT 1999 Manish Singh <yosh@gimp.org>
1840
1841         * glib.h
1842         * gstrfuncs.c: the #define for g_strescape interfered with the
1843         compilation of the function, so just remove the function and
1844         note that it's deprecated in the header
1845
1846 1999-08-01  Tor Lillqvist  <tml@iki.fi>
1847
1848         * gstrfuncs.c (g_strccpy, g_strecpy): New functions.
1849
1850         * glib.h: Declare and document them. Define the deprecated
1851         g_strescape as a macro that calls g_strecpy.
1852
1853         * tests/strfunc-test.c (main): Test them.
1854
1855         * makefile.{cygwin,msc}.in
1856         * tests/makefile.{cygwin,msc}.in: Remove gstack and its test
1857         program.
1858
1859         * glib.def: Additions and removals.
1860
1861         * README.win32: Improve gcc build instructions.
1862
1863         * build-dll: Also build import library for MSVC.
1864
1865 Sat Jul 24 20:11:35 1999  Tim Janik  <timj@gtk.org>
1866
1867         * merged GLib 1.3.0 with glib-1.2.3 from Fri Jul 16 22:18:36.
1868         * incorporated proposed cleanups from gtk-devel-list.
1869
1870         * bumped version number to GLib-1.3.1
1871
1872         * glib.h:
1873         * gqueue.c:
1874         * gstring.c:
1875         * glist.c:
1876         removed string tokenisation (we got g_strsplit() and g_strjoin()
1877         already) and readline functions.
1878         s/g_list_delete/g_list_delete_link.
1879         implemented g_slist_delete_link.
1880         removed notion of g_ATEXIT() macro in glib.h, this is an *internal*
1881         macro, g_atexit() is provided for public consumption.
1882         added GTrashStack inline utility functions.
1883         reimplement double eneded queues.
1884         removed GStack implementation, people can use a queue or a (singly)
1885         linked list for this task.
1886         deprecated g_strescape(), we need the SunOS variants here.
1887
1888         * gdate.c: added DEBUG_MSG() macro to wrap old messages.
1889
1890         * *.*: CVS merges.
1891
1892         * upgrade to libtool 1.3.3.
1893
1894 1999-07-21  Tor Lillqvist  <tml@iki.fi>
1895
1896         Win32: With the latest gcc (2.95, pre-release), we can have binary
1897         compatibility with MSVC by using the switch -fnative-struct. No
1898         longer build DLLs with .gcc in the name when using gcc.
1899
1900         * README.win32: Renew gcc build instructions.
1901
1902         * build-dll: Comments change, handle also .a files.
1903
1904         * makefile.cygwin.in
1905         * tests/makefile.cygwin.in: Remove .gcc from DLL name.
1906
1907 1999-07-13  Tor Lillqvist  <tml@iki.fi>
1908
1909         * README.win32: Correct URL for mingw runtime sources.
1910
1911         * build-dll: Combine commands with &&.
1912
1913         * glib.h: Map also rmdir() and hypot() for MSVCRT library.
1914
1915         * makefile.cygwin.in
1916         * tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
1917         now called *.gcc.dll, to avoid binary incompatibilities with
1918         MSVC-compiled versions.
1919
1920         * makefile.msc.in: Cosmetics.
1921
1922 1999-07-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1923
1924         * configure.in: Test for pthread_join rather than for
1925         pthread_create to determine the right thread-lib. Makes it work on
1926         mips-sgi-irix6.5. Hitn from to Jari Vuoksenranta
1927         <javu@piano.ux.phys.jyu.fi>.
1928
1929 1999-07-02  Tor Lillqvist  <tml@iki.fi>
1930
1931         * README.win32: Note about need to fix another bug in the mingw32
1932         headers.
1933
1934         * makefile.msc.in: Debugging turned on via an nmake variable,
1935         no need to edit the makefile.
1936
1937 1999-07-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1938
1939         * configure.in, acconfig.h, gutils.c: Added a g_memmove
1940         replacement for platforms without memmove, where bcopy can't
1941         handle overlapping copies and the corresponding checks, which is
1942         taken form the PERL Configure routine.
1943
1944         * glib.h: Updated the commentary about g_memmove to be right and
1945         more GLib-like.
1946
1947         * configure.in: Removed test for rand_r, as it isn't used anymore.
1948
1949 1999-06-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1950
1951         * glib.h, grand.c: Finally removed the g_random_normal and
1952         g_rand_normal functions.
1953
1954 1999-06-28  Tor Lillqvist  <tml@iki.fi>
1955
1956         * glib.def: Add missing export of g_strncasecmp.
1957
1958 1999-06-21  Jose Mercado  <jmercado@mit.edu>
1959
1960         * glib.spec.in: Changed version number (1.1->1.3) in files section
1961         to allow rpm to build packages again.
1962
1963 1999-06-21  Tor Lillqvist  <tml@iki.fi>
1964
1965         * README.win32: Update the pthreads snapshot version we want.
1966         Advice how to hand-expand the makefile.*.in files.
1967
1968         * config.h.win32.in: Define values needed by Sebastian Wilhelmi's
1969         new thread stuff.
1970
1971         * glib.def: Add new functions.
1972
1973         * glibconfig.h.win32.in: Update the pthreads snapshot version.
1974         Fix typo.
1975
1976         * gthread.c: Include config.h, guard inclusion of unistd.h.  When
1977         using gcc on Win32, g_thread_functions_for_glib_use must be marked
1978         for export here, too.
1979
1980         * gtimer.c: Implement g_usleep on native Win32 using Sleep (which
1981         only has millisecond granularity, though).
1982
1983         * makefile.cygwin.in
1984         * makefile.msc.in: Update pthreads snapshot version. File
1985         name changes. Remove testgthread.
1986
1987         * tests/makefile.cygwin.in
1988         * tests/makefile.msc.in: Add thread-test. Link with gthread lib.
1989
1990 1999-06-18  Jeff Garzik  <jgarzik@pobox.com>
1991
1992         * tests/Makefile.am:  Re-order tests in alpha order.
1993
1994 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1995
1996         * configure.in: Changed test for pthread_attr_setstacksize from
1997         AC_TRY_COMPILE to AC_TRY_LINK.
1998
1999 1999-06-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2000
2001         * configure.in, acglib.m4, acconfig.h, glib.h, gthread.c:
2002         Completed the thread support in GLib. Thread creation,
2003         prioritizing threads, yielding, joining threads as well as
2004         reader/writer locks and recursive mutexes are now in place. Please
2005         test heavily on your platform. It is so far tested on
2006         Linux/i386/pthreads, Solaris/Sparc/pthreads and
2007         Solaris/Sparc/solaristhreads.
2008
2009         * gtimer.c, glib.h: Implement g_usleep (gulong microseconds) for
2010         thread safe sleeping. (sleep() is not MT-safe at all!)
2011
2012         * gutils.c: Avoid compiler warning.
2013
2014         * tests/Makefile.am, tests/thread-test.c: New program to test some
2015         aspects of the thread implementation.
2016
2017         * gthread.c, Makefile.am: Renamed from gmutex.c to reflect the
2018         change of content.
2019
2020         * configure.in: Purged all appearances of nspr. 
2021
2022 Wed Jun  2 11:42:46 PDT 1999 Manish Singh <yosh@gimp.org>
2023
2024         * acinclude.m4
2025         * config.guess
2026         * config.status
2027         * ltconfig
2028         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
2029
2030 1999-05-29  Tor Lillqvist  <tml@iki.fi>
2031
2032         * gstrfuncs.c (g_strescape): Backslashify also '"' characters.
2033
2034         * glib.h: Document g_strescape.
2035
2036 1999-05-12  Tor Lillqvist  <tml@iki.fi>
2037
2038         * glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
2039         _fstat.
2040
2041         * README.win32: Advice also to remove -lmoldname in the
2042         patch to the egcs-1.1.2 spec file.
2043
2044 Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
2045
2046         * gmodule/Makefile.am: Another small fix.
2047
2048 1999-05-08  Tor Lillqvist  <tml@iki.fi>
2049
2050         * Makefile.am tests/Makefile.am: Correct rules for making the
2051         win32-related files that are made from corresponding .in files.
2052         Is there a cleaner way than explicitly writing rules that invoke
2053         config.status?
2054
2055 Fri Jul 16 22:18:36 PDT 1999 Manish Singh <yosh@gimp.org>
2056
2057         * ltconfig
2058         * ltmain.sh: upgrade to libtool 1.3.3
2059
2060 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2061
2062         * gdate.c, gstrfuncs.c, gstring.c: Fixed the use of the
2063         is..... and to..... macros, which take unsigned chars, not chars!
2064         Thanks to Morten Welinder <terra@diku.dk> for pointing this out.
2065
2066 Thu Jun  3 16:30:31 PDT 1999 Manish Singh <yosh@gimp.org>
2067
2068         * gerror.c (g_on_error_query): check isatty() before querying so
2069         we don't loop endlessly
2070
2071 Sat May 29 11:16:29 PDT 1999 Manish Singh <yosh@gimp.org>
2072
2073         * acinclude.m4
2074         * config.guess
2075         * config.status
2076         * ltconfig
2077         * ltmain.sh: upgrade to libtool 1.3.2
2078
2079 1999-05-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2080
2081         * gmain.c: provide a poll prototype for SunOS, as they do not do
2082         it self. Hint from Christian Parg <cparg@fs-design.de>.
2083
2084 Tue May 25 12:23:07 1999  Owen Taylor  <otaylor@redhat.com>
2085
2086         * gstrfuncs.c (g_strchug): Use g_memmove() not memmove().
2087         (Reported by Charles Levert <charles@comm.polymtl.ca>)
2088
2089 Mon May 10 22:03:52 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
2090
2091         * Released GLib 1.2.3
2092
2093 1999-05-08  Tor Lillqvist  <tml@iki.fi>
2094
2095         * Makefile.am tests/Makefile.am: Correct rules for making the
2096         win32-related files that are made from corresponding .in files.
2097         Is there a cleaner way than explicitly writing rules that invoke
2098         config.status?
2099
2100 Sat May  1 10:18:01 PDT 1999 Manish Singh <yosh@gimp.org>
2101
2102         * acinclude.m4
2103         * config.guess
2104         * config.status
2105         * ltconfig
2106         * ltmain.sh: upgrade to libtool 1.3
2107
2108 1999-04-30  Tor Lillqvist  <tml@iki.fi>
2109
2110         * Makefile.am: Don't distribute glibconfig.h.win32.in, but
2111         glibconfig.h.win32. Generate it when making a dist. Also generate
2112         makefile.msc and config.h.win32 from corresponding .in files when
2113         making dist.
2114
2115         * configure.in: Also substitute @GLIB_INTERFACE_AGE@ and
2116         @GLIB_BINARY_AGE@ (needed in config.h.win32).
2117
2118         * glibconfig.h.win32.in: Use static mutex structure and initial
2119         value corresponding to the 1999-04-07 snapshot of pthreads-win32.
2120
2121         * tests/Makefile.am: Distribute makefile.msc. Generate it when
2122         making dist.
2123
2124         * tests/makefile.msc.in: New file.
2125
2126         * tests/node-test.c: Include <stdlib.h> for exit().
2127
2128 Thu Apr 29 02:16:36 1999  Tim Janik  <timj@gtk.org>
2129
2130         * gstrfuncs.c: minor code cleanups.
2131
2132 Tue Apr 27 13:11:29 1999  Owen Taylor  <otaylor@redhat.com>
2133
2134         * gmain.c (g_main_poll): Mask out ERR HUP and NVAL from
2135         the events field so we don't give IRIX fits.
2136
2137 Tue Apr 20 08:42:22 1999  Tim Janik  <timj@gtk.org>
2138
2139         * gscanner.c (g_scanner_unexp_token): behave conservative with
2140         G_TOKEN_IDENTIFIER_NULL and always assume scanner->value.v_string
2141         to be "null" in that case.
2142
2143 1999-04-20  Havoc Pennington  <hp@pobox.com>
2144
2145         * gutils.c (g_vsnprintf):  When using the vsnprintf()
2146         implementation, '\0'-terminate the resulting string
2147         and return its length rather than -1.
2148
2149 Mon Apr 19 13:42:21 1999  Owen Taylor  <otaylor@redhat.com>
2150
2151         * gmain.c (g_main_iterate): Added missing
2152         #ifdef G_THREADS_ENABLED. (I never liked G_THREADS_ENABLED in
2153         the first place!)
2154
2155 1999-04-18  Havoc Pennington  <hp@pobox.com>
2156
2157         * gutils.c (g_snprintf): When using the vsnprintf()
2158         implementation, '\0'-terminate the resulting string
2159         and return its length rather than -1.
2160
2161 Fri Apr 16 06:52:07 1999  Tim Janik  <timj@gtk.org>
2162
2163         * gscanner.c (g_scanner_unexp_token): feature G_TOKEN_EOF as a valid
2164         expected token as well, so we get "- expected end of file" instead of
2165         "- expected (unknown) token <0>".
2166
2167 Tue Apr 13 16:16:14 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
2168
2169         * Released GLib 1.2.2
2170
2171 1999-04-12  Elliot Lee  <sopwith@mh69.mh.cuc.edu>
2172
2173         * g_strchug(): s/strcpy/memmove/
2174
2175 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2176
2177         * configure.in: Adjusted the test for an unimplemented
2178         getpwuid_r. Info from Michael Pruett <mikep@ugcs.caltech.edu>.
2179
2180 Sun Apr 11 15:07:34 1999  Tim Janik  <timj@gtk.org>
2181
2182         * configure.in: bumped versin number to GLib 1.2.2, interface 2,
2183         binary 2.
2184
2185         * NEWS: updates.
2186
2187 Sun Apr 11 14:37:06 1999  Tim Janik  <timj@gtk.org>
2188
2189         * gstrfuncs.c (g_strcasecmp): always check for s1, s2 != NULL.
2190
2191 Sat Apr 10 19:30:50 1999  Tim Janik  <timj@gtk.org>
2192
2193         * glib.h: removed braces around inline strings for the G_GNUC_FUNCTION
2194         and G_GNUC_PRETTY_FUNCTION macros, so the macros can be used for compile
2195         time string concatenation.
2196
2197 Thu Apr  8 19:53:19 1999  Owen Taylor  <otaylor@redhat.com>
2198
2199         * gmain.c (g_main_iterate): Check for two threads
2200         calling g_main_iterate at once.
2201
2202         * gmain.c: If the set of poll file descriptors changes
2203         during a call to poll(), abort that call, and start
2204         a new poll. My test program still segfaults
2205         obscurely on glibc 2.0 (in read()!!!), but now it works on
2206         glibc 2.1, so I'll blame something else for the other segfault.
2207
2208 1999-03-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2209
2210         * configure.in: Fixed slight bug, that made configure hang on some
2211         systems. Please do not merge this into 1.3 branch. It's taken care
2212         of differently there. Info from J. Rhett Aultman
2213         <cuplan@alley.gator.net>
2214
2215 Wed Mar 24 21:23:47 CST 1999 Shawn T. Amundson <amundson@gtk.org>
2216
2217         * Released GLib 1.2.1
2218
2219         * README:
2220           INSTALL: 
2221           NEWS: 
2222           sanity_check: updated
2223
2224         * glibconfig.h.win32.in:
2225           Makefile.am:
2226           docs/glib-config.1.in:
2227           docs/Makefile.am: Added files used to generate new files.
2228
2229         * glibconfig.h.win32:
2230           docs/glib-config.1: Removed, now generated.
2231
2232         * configure.in: Added to output now-generated files.
2233
2234 Tue Mar 23 13:43:39 PST 1999 Manish Singh <yosh@gimp.org>
2235
2236         * giounix.c: add user_data param to check and prepare functions
2237
2238 Mon Mar 22 03:54:43 1999  Tim Janik  <timj@gtk.org>
2239
2240         * glib.h:
2241         * gmain.c: add user_data to the GSource ->check and ->prepare functions,
2242         so it can be used to e.g. pass a GPollFd.
2243         (g_main_poll): only add poll records with an events mask != 0 to the
2244         fd_array. don't even bother calling poll_func() if fds=timeout=0.
2245         added debugging printouts around poll_func() invokation that can be
2246         enabled with #define G_MAIN_POLL_DEBUG.
2247
2248 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
2249
2250         * acinclude.m4
2251         * config.guess
2252         * config.sub
2253         * ltconfig
2254         * ltmain.sh: upgrade to libtool 1.2f
2255
2256         * autogen.sh: libtool is not required to autogen glib
2257
2258         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
2259         needed)
2260
2261 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2262
2263         * gmem.c: Fixed another stupid fault of mine: Did
2264         s/g_static_/g_private_/g
2265
2266 Wed Mar 17 03:17:42 1999  Tim Janik  <timj@gtk.org>
2267
2268         * configure.in bumped versin number to GLib 1.2.1, interface 1,
2269         binary 1.
2270
2271         * NEWS: updates.
2272
2273         * glib.h: added GLIB_CHECK_VERSION() macro similar to
2274         GTK_CHECK_VERSION().
2275
2276 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
2277
2278         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
2279         to g_return_if_fail().
2280         (g_mem_profile): 
2281         (g_mem_chunk_print): 
2282         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
2283         messages.
2284
2285         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
2286         to g_return_if_fail().
2287         * grel.c (g_*): changed a bunch of g_assert() statements to
2288         g_return_if_fail() and added some extra ones to check relation != NULL.
2289
2290 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2291
2292         * configure.in: Also accept _Pctime_r instead of ctime_r, while
2293         seraching for the right `_REENTRANT' flag. This is for Digital
2294         UNIX 4.0d. Thanks to Sascha Brawer <sb@adasys.ch>.
2295
2296 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
2297
2298         * configure.in: check for working realloc (NULL,).
2299         * gmem.c (g_realloc): use malloc() for initial allocation on systems
2300         where realloc(NULL,) will not work (this is the case on SunOS, reported
2301         by Tom Geiger).
2302
2303 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
2304
2305         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
2306         flag around the call to g_hook_free() to avoid spurious
2307         warnings (happens during destruction phase).
2308
2309 1999-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2310
2311         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
2312         from config.h.win32 to glibconfig.h.win32
2313
2314         * acconfig.h, configure.in, config.h.win32: Added test for DCE
2315         versions of mutex_trylock and cond_timedwait. The win32 versions
2316         are posix, aren't they?
2317
2318 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2319
2320         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
2321         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
2322
2323 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2324
2325         * gutils.c (g_get_any_init): Fixed yet another bloody
2326         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
2327         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
2328         test better than that, but have no idea, how to do that easily.
2329
2330 Sun Feb 21 22:11:51 CST 1999  Shawn T. Amundson <amundson@gtk.org>
2331
2332         * Released GLib 1.2.0
2333
2334         * AUTHORS: updated
2335
2336 Wed Feb 24 00:08:42 CST 1999 Shawn T. Amundson <amundson@gtk.org>
2337
2338         * *.[ch]: inserted additional note to look for ChangeLog and
2339           AUTHORS file for a log of modifications.
2340
2341 Sun Feb 21 14:01:00 1999  Dr Mike <drmike@redhat.com>
2342
2343         * Made specfile generated, tweaked slightly
2344
2345 Sat May  8 06:00:17 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
2346
2347         * configure.in
2348           gmodule/Makefile.am
2349           gthread/Makefile.am: Better testing reveals better
2350           methods.  Fixes for BeOS.
2351
2352 Sat May  8 01:52:29 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
2353
2354         * configure.in
2355           gerror.c
2356           gmain.c
2357           gstrfuncs.c
2358           gutils.c
2359           ltconfig
2360           ltmain.sh
2361           gmodule/Makefile.am
2362           gmodule/gmodule.c
2363           gmodule/gmoduleconf.h.in
2364           gmodule/gmodule-beos.c
2365           gthread/Makefile.am: Port to BeOS by myself and Richard Offer.
2366
2367 1999-05-06  Tor Lillqvist  <tml@iki.fi>
2368
2369         * makefile.msc.in makefile.cygwin.in glibconfig.h.win32.in
2370         config.h.win32.in tests/makefile.msc.in tests/makefile.cygwin.in:
2371         New files, used to generate corresponding non-.in files when
2372         making a dist. This is just so the version numbers will be kept in
2373         synch automatically.
2374
2375         * configure.in: Also substitute @GLIB_MAJOR_VERSION@,
2376         @GLIB_MINOR_VERSION@, and @GLIB_INTERFACE_AGE@.
2377
2378         * Makefile.am tests/Makefile.am: Also distribute makefile.cygwin.
2379
2380         * gerror.c (g_on_error_query): On Win32, put up a MessageBox and
2381         then exit.
2382
2383         * glib.def: Add a couple of functions.
2384
2385 Sat May  1 10:26:20 PDT 1999 Manish Singh <yosh@gimp.org>
2386
2387         * acinclude.m4
2388         * config.guess
2389         * config.status
2390         * ltconfig
2391         * ltmain.sh: upgrade to libtool 1.3
2392
2393 1999-04-25  Tor Lillqvist  <tml@iki.fi>
2394
2395         * README.win32: More editing.
2396         * build-dll: Use gcc, not ld to link.
2397         * glib.h: On native Win32 use _unlink().
2398         * gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
2399         not _MSC_VER.
2400         * gstring.c: Include <io.h> on Win32 for _read prototype.
2401         * gutils.c: Remove old IO channel code (was in #if 0).
2402         * makefile.cygwin: Don't need to link with kernel32 and msvcrt
2403         explicitly, they are included anyway.
2404
2405 1999-04-24  Tor Lillqvist  <tml@iki.fi>
2406
2407         Support added for building using a GNU toolchain on Win32,
2408         i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).
2409
2410         * README.win32: Updated.
2411         * build-dll makefile.cygwin tests/makefile.cygwin: New files.
2412         * glib.h glib.def glibconfig.h.win32: Slight updates. 
2413         * gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
2414         * gmain.c gutils.c testglib.c tests/string-test.c: Test for
2415         NATIVE_WIN32, not _MSC_VER.
2416         * gmutex.c: Must declare g_thread_functions_for_glib_use as
2417         exported (using the GUTILS_C_VAR macro).
2418         * gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
2419         * gmodule/gmoduleconf.h.win32: Need underscore with gcc.
2420         * gthread/gthread.c: With gcc on Win32, must use memcpy to assign
2421         value of g_thread_functions_for_glib_use (?).
2422         * makefile.msc tests/makefile.msc: Cosmetics.
2423
2424 Fri Apr 23 14:29:25 BST 1999  Tony Gale <gale@gtk.org>
2425
2426         * glib.h: Fix typo in g_string_ncasecmp macro (by me).
2427           Add b_string_strncasecmp macro.
2428
2429 1999-04-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2430
2431         * gutils.c (g_get_any_init): use sysconf (_SC_GETPW_R_SIZE_MAX) as
2432         the new initinal bufsize for getpwuid_r on systems, that support
2433         this. Hint from Holger Duerer <H.Duerer@zait.uni-bremen.de>.
2434
2435 Sat Apr 17 20:55:13 BST 1999  Tony Gale <gale@gtk.org>
2436
2437         * glib.h, gstring.c: Add new g_string functions for reading
2438           from file/socket descriptors, and tokenising strings.
2439
2440           Added various g_string macros.
2441
2442 Tue Apr 13 23:28:32 1999  Tor Lillqvist  <tml@iki.fi>
2443
2444         * README.win32: Mention the tests directory.
2445
2446         * glib.def: Add the functions from grand.c.
2447
2448         * glibconfig.h.win32: Add unsigned max values, and the format
2449         strings.
2450
2451         * makefile.msc: Add grand.
2452
2453         * tests/{date-test,node-test}.c: Include <stdlib.h> for exit().
2454
2455         * tests/makefile.msc: New file.
2456
2457 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2458
2459         * glib.h: Moved struct declaration up. Style fixes.
2460
2461         * grand.c: Style fixes. Only try to open /dev/random once.
2462
2463         * tests/rand-test.c (main): New tests; Slight bug fix. 
2464
2465 1999-04-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2466
2467         * grand.c, tests/rand-test.c: New files to implement the Mersenne
2468         Twister Pseudo Random Number Generator.
2469
2470         * glib.h, AUTHORS, Makefile.am, tests/Makefile.am: Changed
2471         accordingly.
2472
2473 Thu Apr  8 21:12:30 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
2474
2475         * Released GLib 1.3.0
2476
2477 1999-03-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2478
2479         * configure.in: Added a check for the right format to printf and
2480         scanf long longs. It is %qi instead of %lli on FreeBSD for
2481         whatever reason.
2482
2483 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
2484
2485         * Makefile.am (glibconfig.h): Make sure `glibconfig.h' exists
2486         after the rule is fired.
2487         (install-exec-local): Install glibconfig.h only if the contents
2488         are different from the currently installed glibconfig.h.
2489
2490 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
2491
2492         * Makefile.am (configexecincludedir): Rename from 
2493         configincludedir so that glibconfig.h will be installed 
2494         as part of `make install-exec'. 
2495
2496 Thu Mar 25 22:45:47 1999  Tor Lillqvist  <tml@iki.fi>
2497
2498         * config.h.win32: Update version numbers.
2499
2500         * glibconfig.h.win32: Update version numbers and pthreads-win32-
2501         related magic values.
2502
2503         * README.win32: Some improvements.
2504
2505         * makefile.msc: Add gqueue and gstack. Correct version number.
2506
2507 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
2508
2509         * acinclude.m4
2510         * config.guess
2511         * config.sub
2512         * ltconfig
2513         * ltmain.sh: upgrade to libtool 1.2f
2514
2515         * autogen.sh: libtool is not required to autogen glib
2516
2517         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
2518         needed)
2519
2520 1999-03-18  Jeff Garzik  <jgarzik@pobox.com>
2521
2522         * glib.def: Add new g_list, g_stack, g_queue functions.
2523
2524 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2525
2526         * configure.in: added new AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
2527         to hold various defines to get the right thread implementation on
2528         different platforms. Also look in -ldce for pthread_create. Should
2529         make it work on HP-UX 10.x. Information from "D. Emilio Grimaldo
2530         Tunon" <emilio_tunon@nl.compuware.com>.
2531
2532 1999-03-17  Jeff Garzik  <jgarzik@pobox.com>
2533
2534         * gstack.c, gqueue.c:
2535         Add copyright, clean up code a bit.
2536
2537 1999-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2538
2539         * configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
2540         platforms with only /usr/include/values.h.
2541
2542         * acconfig.h: Removed unnecessary macros.
2543
2544         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
2545         from config.h.win32 to glibconfig.h.win32. Taken from glib 1.2
2546         branch.
2547
2548         * configure.in: Also accept _Pctime_r instead of ctime_r, while
2549         seraching for the right `_REENTRANT' flag. This is for Digital
2550         UNIX 4.0d. Taken from glib 1.2 branch.
2551
2552 Wed Mar 17 03:14:56 1999  Tim Janik  <timj@gtk.org>
2553
2554         * glib.h: added GLIB_CHECK_VERSION() macro similar to
2555         GTK_CHECK_VERSION().
2556
2557 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
2558
2559         * merges from glib-1-2:
2560
2561 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
2562
2563         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
2564         to g_return_if_fail().
2565         (g_mem_profile):
2566         (g_mem_chunk_print):
2567         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
2568         messages.
2569
2570         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
2571         to g_return_if_fail().
2572         * grel.c (g_*): changed a bunch of g_assert() statements to
2573         g_return_if_fail() and added some extra ones to check relation != NULL.
2574
2575 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
2576
2577         * configure.in: check for working realloc (NULL,).
2578         * gmem.c (g_realloc): use malloc() for initial allocation on systems
2579         where realloc(NULL,) will not work (this is the case on SunOS, reported
2580         by Tom Geiger).
2581
2582 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
2583
2584         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
2585         flag around the call to g_hook_free() to avoid spurious
2586         warnings (happens during destruction phase).
2587
2588 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2589
2590         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
2591         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
2592
2593 1999-03-16  Timur Bakeyev  <mc@bat.ru>
2594
2595         * configure.in: Fix problem with pthread_create in libc, as running
2596         "gcc test.c -l " is not legal.
2597
2598 1999-03-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2599
2600         * tests/type-test.c: Added a test for the
2601         G_(U)?INT(16|32|64)_FORMAT and G_(MIN|MAX|MAXU)(SHORT|INT|LONG)
2602         macros.
2603
2604         * configure.in: Removed G_(U)?INT8_FORMAT again, as it can't be
2605         used for scanf.
2606
2607         * configure.in: Added the macros G_MAXU(SHORT|INT|LONG). I do not
2608         know how to handle these on platforms with /usr/include/values.h,
2609         but without /usr/include/limits.h. Please someone add this.
2610
2611
2612 1999-03-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2613
2614         * configure.in: Added the macros G_(U)?INT(8|16|32|64)_FORMAT to
2615         use for printf and (much more important) scanf format strings for
2616         the corresponding GLib types. 
2617
2618         * glib.h Added G_(U)?(SHORT|INT|LONG)_FORMAT for consistency. It
2619         however makes no sense to also provide G_(FLOAT|DOUBLE)_FORMAT, as
2620         they are different for printf (f for both) and scanf (f for float,
2621         lf for double). Defining G_INT_FORMAT makes sense however, as we
2622         might want to define gint to something different than int someday
2623         in the future. Idea from Sascha Brawer <sb@adasys.ch>.
2624
2625 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
2626
2627         * gdate.c:
2628         Commented out debugging output.
2629
2630         * tests/Makefile.am, tests/date-test.c:
2631         Added test of the GDate module, based closely on testgdate.c.
2632
2633         * tests/Makefile.am:
2634         Bugfix - compile tests with @GLIB_DEBUG_FLAGS@.
2635
2636 1999-03-14  Raja R Harinath  <harinath@cs.umn.edu>
2637
2638         * configure.in (glibconfig.h): Remove widechar tests and defines.
2639         (fd_set): Change the grep for `fd_mask' to search for `fd_set'.
2640         * gerror.c (fd_mask): Remove conditional typedef.  It is not used
2641         elsewhere in the file.
2642         * gmain.c (fd_mask): Likewise.
2643
2644 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2645
2646         * configure.in: Test for posix threads first, then for dce threads.
2647
2648 1999-03-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2649
2650         * configure.in: Revamped the thread configure stuff. Now dce
2651         threads (old posix draft) are recogniced. This is necessary,
2652         because dce threads are in fact working quite differently from
2653         posix threads. Also changed the conditions for checking for MT
2654         safe functions a bit, because G_THREADS_IMPL_NONE still have to
2655         compile thread safe. NOTE: Please do not commit my change to
2656         glib-1-2/{acconfig.h,configure.in,config.h.win32} from 1999-03-03,
2657         as the current change will take care of that too.
2658
2659 Tue Mar  9 14:37:32 1999  Jeff Garzik  <jgarzik@pobox.com>
2660
2661         * Makefile.am, glib.h, gstack.c, gqueue.c,
2662           tests/Makefile.am, tests/queue-test.c, tests/stack-test.c:
2663         Added stack, queue ADTs and related tests.
2664
2665         * glib.h, glist.c:
2666         New g_list_delete() function.
2667
2668 Sat Mar  6 11:03:08 1999  Asbjorn Pettersen  <ape@lrdpf.spacetec.no>
2669
2670         * gutils.c (g_get_any_init): add OS/2 changes.
2671         change '\\' in HOME to '/'.
2672
2673 1999-03-03  Josh MacDonald  <jmacd@spin.dsl.pacbell.net>
2674
2675         * glib.def: g_spaced_primes_closest was omitted here, so I
2676         couldn't build Xdelta on Windows.
2677
2678 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2679
2680         * gutils.c (g_get_any_init): Fixed yet another bloody
2681         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
2682         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
2683         test better than that, but have no idea, how to do that easily.
2684
2685 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
2686
2687         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
2688         new one.
2689
2690         * configure.in: set glib version to 1.3.0.