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