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