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