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