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