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