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