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