Simplify, use GetSystemTimeAsFileTime().
[platform/upstream/glib.git] / ChangeLog.pre-2-10
1 2000-08-31  Tor Lillqvist  <tml@iki.fi>
2
3         * gmain.c (g_get_current_time): (Win32): Simplify, use
4         GetSystemTimeAsFileTime().
5
6 2000-08-27  Tor Lillqvist  <tml@iki.fi>
7
8         * giowin32.c (g_io_channel_win32_poll): New function, otherwise
9         like g_io_channel_win32_wait_for_condition(), but accept several
10         GPollFDs.
11         (g_io_channel_win32_wait_for_condition): Call
12         g_io_channel_win32_poll().
13
14         * glib.h: Declare g_io_channel_win32_poll().
15
16         * gwin32.c (g_win32_error_message): Don't believe return value
17         from FormatMessage.
18
19 2000-08-25 Elliot Lee <sopwith@redhat.com>
20         * glib.h, gunicode.h, gmodule/gmodule.h:
21         : Mark the following functions G_GNUC_CONST (to allow
22         optimization) because their results are a function of only their parameters:
23         g_int_hash, g_int_equal, g_direct_hash, g_direct_equal, g_quark_to_string,
24         g_date_is_leap_year, g_date_days_in_month, g_date_monday_weeks_in_year,
25         g_date_sunday_weeks_in_year, g_spaced_primes_closest, g_unichar_is*,
26         g_unichar_to*, g_unichar_*digit_value, g_unichar_type
27
28 2000-08-21 Elliot Lee <sopwith@redhat.com>
29         * gobject/Makefile.am, gobject/gobject-query.c, gobject/gparamspecs.c: Fix inclusion of
30         config.h
31
32 Mon Aug 21 14:46:23 2000  Owen Taylor  <otaylor@redhat.com>
33
34         * tests/gio-test.c: Fix a couple of trivial bugs that
35         were causing warnings.
36
37 Mon Aug 21 14:39:36 2000  Owen Taylor  <otaylor@redhat.com>
38
39         * glib.h: Use C99 varargs macros where possible 
40         (check __STDC_VERSION__), otherwise, on gcc, use an alternate 
41         form of gcc varargs which is more likely
42         to be supported going forward. (Based on some code
43         from Raja Harinath)
44
45 2000-08-17  Darin Adler  <darin@eazel.com>
46
47         * glib.h:
48         * garray.c: (g_array_free), (g_ptr_array_free),
49         (g_byte_array_free): Return the data left behind.
50         * gstring.c: (g_string_free): Return the data left behind.
51
52         Changed the free calls that leave data behind so they
53         return a pointer to the left-behind data, NULL if told not
54         to leave anything behind. This makes these calls easier
55         to use correctly, without any incompatible API change for
56         callers that don't know about the return value. Of course,
57         it would be even clearer if the free calls weren't dual-purpose
58         in the first place.
59
60 2000-08-12  Tor Lillqvist  <tml@iki.fi>
61
62         * giowin32.c: Some indentation and spacing fixes. Add some more
63         logging.
64         (g_io_win32_add_watch): New function, with common code from
65         g_io_win32_fd_add_watch and g_io_win32_sock_add_watch. Don't start
66         more than one reader thread for a GIOChannel. We should obviously
67         have just one reader thread reading a file descriptor or socket.
68
69 2000-08-10  Havoc Pennington  <hp@redhat.com>
70
71         * gthread-2.0.pc.in (Cflags): don't duplicate glib Cflags
72
73         * gmodule-2.0.pc.in (Cflags): don't duplicate glib Cflags
74
75         * gobject-2.0.pc.in (Cflags): don't duplicate Cflags from glib
76         itself
77
78 2000-08-10  Havoc Pennington  <hp@redhat.com>
79
80         * glib-2.0.pc.in (Cflags): Look in glib-2.0/include for
81         glibconfig.h
82
83 2000-08-07  Tor Lillqvist  <tml@iki.fi>
84
85         * tests/gio-test.c (shutdown_source): New function, that calls
86         g_source_remove(). Check return value of g_source_remove(), and
87         decrement running subprocess counter only if g_source_remove()
88         actually did remove the source.
89
90         (recv_message): Call shutdown_source() on EOF condition. Return
91         FALSE on G_IO_HUP and G_IO_ERR condition. Fix printf format typo.
92
93 Sun Aug  6 20:06:02 2000  Tim Janik  <timj@gtk.org>
94
95         * gmessages.c (g_log_domain_check_free): keep *last updated while
96         running through the domain list, so we don't screw up the removal,
97         patch provided by Gady Kozma <gadykozma@hotmail.com>.
98
99 Sun Aug  6 20:03:41 2000  Tim Janik  <timj@gtk.org>
100
101         * gmessages.c (g_log_remove_handler): keep *last updated while running
102         through the handler list, so we don't screw up the removal.
103
104 Sun Jul 30 16:54:13 2000  Owen Taylor  <otaylor@redhat.com>
105
106         * gunicode.h: Fix stray character
107         
108         * gutf8.c (g_unichar_to_utf8): Allow outbuf to be NULL, in
109         which case we just compute the length.
110
111 2000-07-31  Havoc Pennington  <hp@redhat.com>
112
113         * Makefile.am (EXTRA_DIST): forgot to add .pc.in to EXTRA_DIST
114
115 2000-07-31  Havoc Pennington  <hp@redhat.com>
116
117         * glib-2.0.pc.in, gobject-2.0.pc.in, gmodule-2.0.pc.in,
118         gobject-2.0.pc.in: pkg-config data files         
119         
120         * Makefile.am: Install/dist the .pc files
121
122         * configure.in: Output the .pc files
123
124 2000-07-31  Tor Lillqvist  <tml@iki.fi>
125
126         * giowin32.c (buffer_read): The code didn't compile (must
127         have been sleepy when committing). "return" instead of "break"
128
129         (g_io_win32_fd_add_watch): Cannot check if the file descriptor is
130         readable by calling ReadFile to read zero bytes. ReadFile blocks
131         on NT even if trying to read nothing at all. So, don't check if
132         file descriptor is readable; assume this function isn't called
133         otherwise.
134
135 Sun Jul 30 10:44:16 2000  Tim Janik  <timj@gtk.org>
136
137         * gmain.c (g_get_current_time): fix tor's recent changes which
138         got rid of a required variable in the non-windows path.
139
140 2000-07-30  Tor Lillqvist  <tml@iki.fi>
141
142         Finally, a new and improved IO Channel and condition watch
143         implementation for Win32. Based on code provided by Craig Setera.
144
145         When watching file descriptors, for which there is no select()
146         like functionality on Win32 that would work on all Win32 platforms
147         for all types of file descriptors (including anonymous pipes), we
148         start a new thread that blocks while trying to read from the file
149         descriptor. When the read returns, a Win32 Event is signalled that
150         the polling routine eventually notices. Meanwhile, the data being
151         read is stored in a circular buffer, from where the IO channel's
152         read() method picks it up.
153  
154         If the buffer fills up the reading thread has to wait for space
155         becoming available. For this another Win32 Event is used. The IO
156         Channel's read() method signals this when it has read some data
157         out of the buffer.
158
159         The separate reader thread(s), and the circular buffer(s) with
160         associated events mean lots of possibilities for fun parallellism
161         errors. But it seems to work OK, i.e. GIMP runs.
162
163         * gmain.c: Small changes to the Win32 polling function.
164         (g_main_win32_get_poll_func): New function. Perhaps it would be a
165         good idea to provide this on all platforms.
166
167         * giowin32.c: The bulk of the new implementation.
168         (g_io_channel_win32_wait_for_condition): New function. To be used
169         where on Unix one does a select() on the channel's fd, like
170         libgimp's gimp_extension_process(). Could be provided on all
171         platforms.
172
173         * glib.h: Update documentation for IO Channels on Win32. Remove
174         the declarations for the as of now obsolete old functions related
175         to IO Channels for pipes with "wakeup" messages.
176         
177         * glib.def: Some new functions.
178         
179         * tests/gio-test.c: New file, to test GIOChannel and main loop.
180
181         * tests/Makefile.am
182         * tests/makefile.mingw.in: Add it.
183
184         (Later the same night:)
185
186         * giowin32.c: Compile in the debugging code all the time, but only
187         output debug messages if told so. Add (unadvertised) function to
188         turn on/off debug messages for a channel.
189         
190         (buffer_read): Don't loop. It is expected behaviour to return a
191         short read occasionally, for instance when reading from
192         pipes. It's the calling code that should loop if it *knows* how
193         much the writer has written.
194
195         * tests/gio-test.c: Correct the program's name in the output.
196         (recv_message): Loop calling g_io_channel_read() (in a new
197         function read_all()) until we have all the bytes we want (that we
198         know the writer has written/will write).
199         
200 Thu Jul 27 05:15:11 2000  Tim Janik  <timj@gtk.org>
201
202         * gstrfuncs.c (g_strlcpy, g_strlcat): completed tor's fix
203         to cover both #ifdef branches.
204
205 2000-07-26  Tor Lillqvist  <tml@iki.fi>
206
207         * gstrfuncs.c (g_strlcpy, g_strlcat): Return 0 on error, not NULL.
208
209         * glib.def: Add g_strlcpy, g_strlcat.
210
211         * glibconfig.h.win32.in: Add gsize and gssize.
212
213 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
214
215         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
216         updates the license headers to the GNU Lesser General Public License,
217         as well as updating the copyright year to 2000.
218
219 Wed Jul 26 05:47:48 2000  Tim Janik  <timj@gtk.org>
220
221         * configure.in:
222         * testglib.c:
223         * gstrfuncs.c:
224         * glib.h: added g_strlcat() and g_strlcpy() wrappers, supplied by
225         David Wheeler <dwheeler@ida.org>:
226
227         * glib.h, gstrfuncs.c: added g_strlcpy and g_strlcat to support
228           safe manipulation of fixed-length string buffers.
229           These functions were originally developed by Todd Miller to simplify
230           development of security-related programs, and
231           are available on many (but not all) Unix-like systems,
232           including OpenBSD, FreeBSD, and Solaris.  See
233           ftp://ftp.openbsd.org/pub/OpenBSD/src/lib/libc/string/strlcpy.3
234           and http://www.openbsd.org/security.html.
235           If there's a strlcpy/strlcat on the system, it's called, otherwise
236           an implementation is provided.
237
238         * testglib.c: Added tests for g_strlcpy, g_strlcat.
239
240 Wed Jul 26 05:03:24 2000  Tim Janik  <timj@gtk.org>
241
242         * acglib.m4 (GLIB_SIZEOF): include <stdlib.h> and <stddef.h> if
243         STDC_HEADERS is defined.
244
245         * glib.h:
246         * glibconfig.h: define gsize and gssize in terms of GLIB_SIZEOF_SIZE_T
247
248         * glib.h (g_return_if_reached): applied darin's fix for copy'n
249         paste error in the macro implementation.
250
251 Wed Jul 26 00:46:03 2000  Tim Janik  <timj@gtk.org>
252
253         * glib.h: applied patch from Darin Adler <darin@eazel.com> which
254         supplies g_return_if_reached(), g_return_val_if_reached() and
255         g_critical().
256
257 2000-07-22  Tor Lillqvist  <tml@iki.fi>
258
259         * build-dll: Fix resource handling, the resource file got left out
260         from the DLL after all... Remove the WIN32APIHEADERS, not needed
261         with current windres.
262
263         * glib.def: Add new functions.
264
265 2000-07-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
266
267         * gutils.c, glib.h: Mark the functions g_basename and g_dirname
268         deprecated. They will issue an warning once, when compiled with
269         G_ENABLE_DEBUG, but continue to work as before. Instead the
270         functions g_path_get_basename and g_path_get_dirname should be
271         used, which BOTH return newly allocated memory, that has to freed
272         by g_free. The new g_path_get_basename now strips trailing slashes
273         from the path. This fixes #5097. For discussion see
274         http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
275
276         * gwin32.c, testglib.c, tests/dirname-test.c: Use the new
277         functions instead of the old ones.
278
279         * ghash.c, gscanner.c, glib.h: Mark the functions
280         g_hash_table_freeze, g_hash_table_thaw and thus
281         g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table
282         deprecated. They will issue an warning once, when compiled with
283         G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see
284         http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
285         
286 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
287
288         * configure.in, glib.h: glibconfig.h and glib.h now include files
289         outside of the extern "C" block. Makes some C++ compiler
290         happy. Reported by Denis Vakatov <vakatov@peony.nlm.nih.gov>.
291
292 Sat Jul 15 23:49:03 2000  Owen Taylor  <otaylor@redhat.com>
293
294         * glib/glib.texi: Remove incomplete start of info file -
295         real docs are in RDP.   
296
297 Sat Jul 15 22:44:22 2000  Owen Taylor  <otaylor@redhat.com>
298
299         * configure.in: Add build/Makefile and 
300         build/win32/Makefile to AC_OUTPUT() so things build
301         again.
302
303 Sat Jul 15 09:11:46 2000  Tim Janik  <timj@gtk.org>
304
305         * gstrfuncs.c (g_strncasecmp): fixed an off by 0 error (yeah,
306         the function went off when the while (n--) loop failed due to
307         n==0 ;), reported by Jean-Louis HAMEL <jlhamel@club-internet.fr>.
308
309 2000-07-15  Tor Lillqvist  <tml@iki.fi>
310
311         * Makefile.am (SUBDIRS): Include the "build" module in GLib, too,
312         to make it more self-contained. If your CVS client doesn't
313         automatically get it, do a cvs get build in glib.
314
315         * */makefile.mingw.in: Include make.mingw from build in the glib
316         source directory.
317
318 Fri Jul 14 16:26:35 2000  Owen Taylor  <otaylor@redhat.com>
319
320         * Release 1.3.1
321
322 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
323
324         * configure.in Makefile.am glib-config.m4 glib.m4: Move
325         glib-config to glib-config-2.0 move glib.m4 to
326         glib-2.0.m4
327
328         * Makefile.am gobject/Makefile.am gmodule/Makefile.am
329         gthread/Makefile.am tests/Makefile.am: Change 
330         library names to libglib-1.3.la, etc, so that we
331         can distinguish glib-1.2 and glib-2.0 on the linkline.
332
333         * Makefile.am gobject/Makefile.am gmodule/Makefile.am:
334         Move include files into /usr/include/glib-2.0.
335         
336 Thu Jul  6 18:54:49 2000  Owen Taylor  <otaylor@redhat.com>
337
338         * docs/Makefile.am (EXTRA_DIST): Remove info files
339         from the build.
340
341 2000-07-14  Tor Lillqvist  <tml@iki.fi>
342
343         * glib.def: Add g_error functions.
344
345         * makefile.mingw.in: Add gbacktrace.o.
346
347         * gbacktrace.c: No need to include <process.h>.
348
349 2000-07-12  Havoc Pennington  <hp@redhat.com>
350
351         * glib.h: #include <gerror.h>
352
353         * Makefile.am (include_HEADERS): Add gerror.h
354         (libglib_la_SOURCES): Add gbacktrace.c
355
356         * gbacktrace.c: Move g_on_error_query() in here (moved on the 
357         server, so history is preserved)
358
359         * gerror.h: GError interface
360
361         * gerror.c: GError implementation replaces stuff that's now in 
362         gbacktrace.c
363
364 Sun Jul  9 21:20:45 2000  Owen Taylor  <otaylor@redhat.com>
365
366         * gunicode.h: Include stddef.h instead of stdlib.h
367
368 2000-07-08  Tor Lillqvist  <tml@iki.fi>
369
370         * glib.h (GLIB_VAR): Rename the GUTILS_C_VAR macro to GLIB_VAR.
371
372         * gunicode.h: Mark the g_utf8_skip array with GLIB_VAR.
373
374         * glib.def: Add two missing entry points.
375
376 Thu Jul  6 15:35:28 2000  Owen Taylor  <otaylor@redhat.com>
377
378         * Release 1.3.1
379
380         * Makefile.am (EXTRA_DIST): Dist fixes.
381
382         * configure.in: Moderate the warnings just a little bit.
383
384 2000-07-05  Tor Lillqvist  <tml@iki.fi>
385
386         * README.win32: Update.
387
388 Mon Jul  3 17:58:02 2000  Owen Taylor  <otaylor@redhat.com>
389
390         * gutf8.c (g_utf8_get_charset_internal): Fix up
391         to correspond to configure.in checks.
392
393 Mon Jul  3 17:18:19 2000  Owen Taylor  <otaylor@redhat.com>
394
395         * glib.h: Comment g_get_codeset() out of the header file
396         temporarily. (Very similar to g_get_charset(), need
397         to resolve the two.)
398
399 2000-07-01  Tor Lillqvist  <tml@iki.fi>
400
401         * glib.def: Add new entry points.
402
403         * makefile.{mingw,msc}.in: Add the new Unicode object files.
404
405 Thu Jun 29 15:57:28 2000  Owen Taylor  <otaylor@redhat.com>
406
407         * NEWS: updated
408
409         * Makefile.am: added snapcheck target to go along with snapshot
410         
411         * gstring.c glib.h (g_string_hash): Add g_string_hash to 
412         go along with g_string_equal.
413
414 Tue Jun 27 12:40:23 EDT 2000  David A. Wheeler <dwheeler@dwheeler.com>
415
416         * glib.h: Added g_string_equal for comparing GStrings;
417         changed g_str_equal so it returns gboolean (instead of gint).
418
419         * gstring.c: Modified GString implementation to support embedded
420         ASCII NUL ('\0') characters, and implemented g_string_equal.
421
422         * testglib.c tests/string-test.c: Added tests for g_string_equal
423         and tests for proper handling of embedded ASCII NUL characters.
424
425 Wed Jun 28 22:52:00 2000  Owen Taylor  <otaylor@redhat.com>
426
427         * Makefile.am (libglib_la_SOURCES): Fix
428         gunichartable.h => gunichartables.h. (From Eric Limings)
429
430 Fri Jun 23 17:20:26 2000  Tim Janik  <timj@gtk.org>
431
432         * glib.h: define gstring in terms of gchar*. this typedef reflects
433         the type name of the primitive G_TYPE_STRING in the gobject module.
434
435 Wed Jun 21 12:09:03 2000  Owen Taylor  <otaylor@redhat.com>
436
437         * gunicode.h gutf8.c guniprop.c gunidecomp.[ch] gunichartables.h
438         Makefile.am glib.h: Initial pass at adding unicode support
439         functions. A few things still need to be implemented, a bit
440         of cleanup needs to be done, tests need to be added, and 
441         the docs need to be finished, but this should allow replacing
442         most or all use of libunicode.
443
444 2000-06-06  Tor Lillqvist  <tml@iki.fi>
445
446         * giowin32.c (g_io_channel_win32_pipe_readable): If we are
447         watching the same pipe for different conditions (with different
448         callbacks), check them all. Only call the callback for G_IO_IN
449         from here. (This bug popped up when a watch for G_IO_ERR|G_IO_HUP
450         was added to gimplib.)
451
452 2000-05-30  Tor Lillqvist  <tml@iki.fi>
453
454         * gutils.c (g_locale_get_codeset): Implement on Win32.
455
456         * glib.def: Add g_get_codeset.
457
458         * tests/Makefile.am (EXTRA_DIST): makefile.cygwin* has been
459         renamed to makefile.mingw*.
460
461 Tue May 30 16:01:32 2000  Owen Taylor  <otaylor@redhat.com>
462
463         * glib.h gutils.c: Move the g_locale_get_codeset() up in the 
464         header file to correspond to to comments about memory
465         management. Rename to g_get_codeset() to avoid 
466         polluting the g_locale_* namespace, which probably
467         would have g_locale_get_codeset (GLocale *locale).
468         Add a doc comment.
469
470 Mon May 29 14:10:35 2000  Owen Taylor  <otaylor@redhat.com>
471
472         * gutils.c (g_locale_get_codeset): Add function to get the 
473         codeset name for the current locale.
474
475         * configure.in acconfig.h: Add check for nl_langinfo(CODESET);
476
477 Fri May 19 11:39:29 2000  Tim Janik  <timj@gtk.org>
478
479         * gutils.c (g_snprintf):
480         (g_vsnprintf): added argument assertments.
481
482         * gstring.c (g_string_assign): added argument assertments.
483         (g_string_truncate): make len a guint.
484
485 Fri May 19 09:00:44 2000  Tim Janik  <timj@gtk.org>
486
487         * gmem.c (g_free): fixed SIZEOF_LONG==4 assumption with
488         ENABLE_MEM_CHECK, from Art Haas <ahaas@neosoft.com>.
489
490         * gslist.c (g_slist_reverse): shut up compiler.
491
492         * gscanner.c (g_scanner_get_token_ll): removed inline assignment.
493
494         * garray.c: remove index>=0 checks for unsigned indices.
495
496         * gmain.c (g_idle_prepare): timeout assignment fix.
497
498         * gtree.c (g_tree_node_rotate_right): shut up compiler.
499
500 2000-05-13  Tor Lillqvist  <tml@iki.fi>
501
502         * makefile.mingw.in
503         * tests/makefile.mingw.in
504         * build-dll: Rename makefile.cygwin(.in) to
505         makefile.mingw(.in), which better describes what it is. Move the
506         build of gmodule, gthread and gobject DLLs to makefiles in those
507         directories. Move resource file handling and build number bump to
508         build-dll, where it sits much cleaner.
509
510         * README.win32
511         * Makefile.am (EXTRA_DIST): Update accordingly.
512
513         * glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
514         G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
515         implementations.
516
517         * glib.def: Add g_strcanon.
518
519         * gtree.c (g_tree_node_rotate_left): Remove unused variables.
520
521         * gwin32.c (g_win32_opendir): Remove unneeded statement.
522
523 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
524
525         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
526         broken and require an empty arg, give it to them.
527
528 Fri Apr 28 23:54:35 2000  Tim Janik  <timj@gtk.org>
529
530         * setup things for a new sub-library libgobject:
531
532         * Makefile.am (SUBDIRS): added gobject
533
534         * glib-config.in: feature -lgobject.
535
536         * configure.in (AC_OUTPUT): generate gobject/Makefile.
537
538         * glib.m4 (AM_PATH_GLIB): feature gobject module.
539
540         * glib.spec.in: added %{prefix}/lib/libgobject-1.3.so.*
541
542 Fri Apr 28 21:41:49 2000  Tim Janik  <timj@gtk.org>
543
544         * glib.h: added G_STRLOC macro.
545         G_STRUCT_OFFSET(): signedness corrections.
546         (G_CSET_DIGITS): list 0-9.
547         * gscanner.c (g_scanner_config_template): use G_CSET_DIGITS.
548
549         * glib.h: 
550         * gstrfuncs.c:
551         (g_strdown):
552         (g_strup):
553         (g_strreverse): return the modified string instead of void, so
554         calls to these functions can be nested.
555         (g_strcanon): new function, canonicalizes string according to
556         a given character set.
557
558 Fri Apr 28 19:45:16 2000  Tim Janik  <timj@gtk.org>
559
560         * gasyncqueue.c (g_async_queue_unref): get rid of an unused variable.
561
562 Wed May 10 19:52:44 2000  Owen Taylor  <otaylor@redhat.com>
563
564         * glib.m4: Print found version when test succeeds.
565
566 2000-05-04  Tor Lillqvist  <tml@iki.fi>
567
568         * makefile.cygwin.in
569         * tests/makefile.cygwin.in: Include the common makefile snippet
570         from ../build/win32.
571
572         Maybe CVSROOT/modules should be changed so that the 'build' module
573         is included within the glib module (and gtk+, and gimp, and maybe
574         others later), in the same way as the 'macros' module is included
575         in lots of GNOME CVS modules?
576
577 2000-05-02  Tor Lillqvist  <tml@iki.fi>
578
579         * glib.def: Add new functions.
580
581         * makefile.{cygwin,msc}.in (glib_OBJECTS): Add new object files.
582
583         * tests/makefile.{cygwin,msc}.in: Add threadpool-test.
584
585 2000-04-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
586
587         * gasyncqueue.c: New File implementing an asynchronous queue to be
588         used for asynchronous inter-thread communication.
589         
590         * gthreadpool.c: New File implementing a thread pool to be used
591         for distributing work among several threads. 
592
593         * glib.h: Added the type and function declarations for these two
594         types.
595
596         * tests/threadpool-test.c: New File implementing a test for the
597         thread pool. This also checks the asynchronous queue underlying
598         the thread pool.
599
600         * tests/Makefile.am: Changed accordingly.
601         
602 2000-04-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
603
604         * configure.in: Look for both pthread_create and pthread_join in
605         the thread library. Some systems define one of them, but not both
606         in libc. Arghh. Now we really start a thread and join it later and
607         check, whether the thread to actually ran.
608
609         * glib.h, gcache.c, gtree.c: Changed the 'value' parameter of
610         g_cache_remove from gpointer to gconstpointer. Dito for the 'key'
611         parameter of g_tree_lookup and g_tree_remove and the 'data'
612         parameter of g_tree_search. This function now takes a function of
613         type GCompareFunc instead of GSearchFunc. This fixes Bug
614         #8267. Thanks to Juan Toledo <toledo@users.sourceforge.net> for
615         pointing that out.
616
617         * glib.h: Removed declaration of GSearchFunc.
618
619         * gmem.c: s/GSearchFunc/GCompareFunc/.
620
621 2000-04-19  Tor Lillqvist  <tml@iki.fi>
622
623         * glib.def: Update entry point list.
624
625 2000-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
626
627         * glib.h (G_TRYLOCK): Made the debugging G_TRYLOCK call also work
628         for compilers with funny G_STMT_(START|END) macros.
629
630         * tests/thread-test.c: Implemented a check for that.
631
632         * gutils.c (g_getenv): Changed the win32 part of this function to
633         be thread safe and to make the returned environment string
634         persistent to match the UN*X behavior. This is again a response to
635         Bug #8983.
636
637         * glib.h (G_LOCK_NAME): Removed parentheses around the lock name,
638         as that seems to cause problems for some compilers and really
639         isn't necessary.
640
641 Wed Apr 19 08:32:32 2000  Tim Janik  <timj@gtk.org>
642
643         * gscanner.c (g_scanner_new): make sure that
644         scanner->config->cset_skip_characters is "" instead of NULL, so we
645         don't segfault further on.
646
647 2000-04-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
648
649         * glib.h, glist.h, gslist.h: Changed the 'data' parameters from
650         gpointer to gconstpointer for the functions
651         g_(list|slist)_(remove|find|find_custom|index), as they do not
652         change this parameter. This fixes bug #4836.
653
654         * glib.h: Changed comment for g_getenv to reflect, that the
655         returned memory must not be freed. Fixes bug #8983.
656
657 2000-04-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
658
659         * configure.in, acconfig.h: Add configure test for garbage
660         collector friendliness for GLib. If enabled, ENABLE_GC_FRIENDLY
661         will be defined.
662
663         * garray.c, ghash.c, glist.c, gmain.c, gmem.c, gnode.c, gqueue.c,
664         gslist.c, gtree.c: If ENABLE_GC_FRIENDLY is defined, NULLify all
665         memory released by the user, but cached by GLib. This lets a
666         garbage collector have a more correct view of the actually used
667         memory.
668         
669         * garray.c, glib.h: Added g_(array|ptr_array|byte_array)_sized_new
670         functions, that reserve a certain amount of memeory for the array
671         at creation time to avoid reallocation. Fixes bug #6707 from
672         Charles Kerr <ckerr@osserver1.nssl.noaa.gov>.
673
674         * glib.h, gqueue.c, tests/queue-test.c (main): Renamed
675         g_queue_create to g_queue_new in conformance to all other GLib
676         data types.
677
678 2000-04-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
679
680         * grand.c (g_rand_new): Fixed bug. Thanks to Marko Kreen
681         <marko@l-t.ee> for reporting that.
682
683 2000-03-26  Tor Lillqvist  <tml@iki.fi>
684
685         * README.win32: Tell about using the mingw-based gcc, which is
686         much easier than modifying the cygwin gcc to product mingw code
687         for the msvcrt runtime.
688
689         * makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
690         with a "pure" mingw gcc, too.
691
692 2000-03-24  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
693
694         * garray.c: Made GArray behave correctly. Now zero_terminated
695         really means, that the element array->data[array->len] exists and
696         is zeroed, and clear means that any unassigned elements obtained
697         through g_array_set_size (the only way to get unassigned elements
698         AFAICT) are zeroed. Added some macros to make the code more
699         obvoius. Also made GPtrArray zero elements after
700         g_ptr_array_set_size. This is done in a portbale way (assignment
701         of NULL instead of just memsetting it to zero), though that might
702         be more portability than we actually want.
703
704         * Makefile.am, gthread/Makefile.am, gmodule/Makefile.am,
705         tests/Makefile.am: Added various win32 related *.in files to
706         EXTRA_DIST to let 'make distcheck' procude all the corresponding
707         files, which it silently fails to do currently.
708
709 2000-03-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
710
711         * configure.in: After finding the right thread library (containing
712         e.g. pthread_create) we now search for the right realtime library
713         (containing e.g. sched_get_priority_max). Makes the output of the
714         thread related libraries correct. 
715
716         * gtimer.c (g_usleep): The current implementation of g_usleep
717         (simply calling select) doesn't work reliable for multi-threaded
718         programs on some platforms (bad omen for the main loop....), so I
719         changed the implementation for thread-using programs to wait for a
720         GCond for the specified amount of time (NB: sleep and usleep are
721         not MT-safe in general, because they often use signals).
722
723 Wed Mar 22 16:49:57 2000  Owen Taylor  <otaylor@redhat.com>
724
725         * gmem.c (g_mem_chunk_area_compare): Fix indentation.
726
727 2000-03-22 Elliot Lee <sopwith@redhat.com>
728
729         * gmem.c (g_mem_chunk_area_compare): Fix 64-bitness bug in
730         comparing two pointers more than 4G apart.
731
732 2000-03-22  Tor Lillqvist  <tml@iki.fi>
733
734         * gutils.c: Move Win32-only includes after inclusion of glib.h, so
735         that G_OS_WIN32 is defined.
736
737         * glibconfig.h.win32.in: Add GSystemThread.
738
739 2000-03-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
740
741         * gutils.c (g_get_current_dir): Ok, Marcus Brinkmann
742         <Marcus.Brinkmann@ruhr-uni-bochum.de> convinced me, that 128 KB
743         path length might not be enough for the HURD. So I changed the
744         loop to at least avoid an integer overflow, which could happen at
745         beyond 2GB size ;-)
746
747         * configure.in: Test for sched_yield as the native yield function
748         first. Corrected typo g_thread_sleep -> g_usleep. Corrected
749         message for the pthread_create test. Negative Priorities are
750         allowed (and used on Solaris), so consider
751         sched_get_priority_min failed only if it returns -1, not <0. Check
752         for sched_get_priority_min also in -lrt, if not found in -lpthread
753         alone and add -lrt to G_THREAD_LIBS then. Remove special case
754         handling of priorities for older solaris versions and posix
755         threads. Thanks to Wan-Teh Chang <wtc@netscape.com> for suggesting
756         some of those changes.
757         
758         * config.guess, config.sub, ltconfig, ltmain.sh:
759         Upgrade to libtool 1.3.4.
760
761 2000-03-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
762
763         * glib.h, configure.in, gutils.h: always define G_GNUC_EXTENSION,
764         even when not needed by GLib. That's actually also the way, the
765         GLib reference manual describes that macro. Therefore I had to
766         remove the lonesome #include <glibconfig.h> in gutils.c, which
767         doesn't seem to be needed there however. This change should make
768         Ben Gertzfield <che@debian.org> happy.
769
770         * gutils.c: Furthermore two warnings in gutils.c were voided,
771         which crept in due to my last change.
772
773         * gutils.c (g_get_current_dir): Allocate only up to 128KB for a
774         pathname. While this is an arbitrary value just like 2048, it
775         seems to be enough (after all, even 4GB is an arbitrary value).
776
777 2000-03-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
778
779         * gmain.c (g_main_poll): Warn in case of an error during the call
780         to poll(2). Closes Bug#7564 as reported by David Helder
781         <dhelder@umich.edu>.
782
783         * gutils.c (g_get_current_dir): Make g_get_current_dir work on
784         systems with unlimited pathname length like the HURD (It worked
785         there before, but only for pathes shorter than 2048). Closes
786         Bug#4525 as reported by Marcus Brinkmann
787         <Marcus.Brinkmann@ruhr-uni-bochum.de>.
788
789 2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
790
791         * giounix.c (g_io_unix_write, g_io_unix_read): Interpret EINTR as
792         G_IO_ERROR_AGAIN.
793
794 2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
795
796         * configure.in: Added the missing POSIX_NO_YIELD and
797         POSIX_NO_PRIORITIES warning messages.
798
799         * configure.in: Use AC_TRY_RUN instead of AC_TRY_LINK, to test for
800         real thread support. On solaris pthread_create can be linked to
801         even in -lc, but it doesn't work then.
802
803         * configure.in: Don't use priorities for threads, when the
804         minimal/maximal priorities couldn't be determined at configure
805         time.
806         
807         * configure.in, gthread.c: Always define GSystemThread in
808         glibconfig.h to represent a system thread.
809
810         * configure.in: Do not use native recursive threads, when
811         possibe. We use some features, that they do not expose (namely the
812         depth counter).
813
814         * glib.h, gthread.c: Redefined GStaticRecMutex. The functions are
815         now implemented in a different way, which should be way
816         faster. Alsothere are now functions g_static_rec_mutex_unlock_full
817         and g_static_rec_mutex_lock_full to leave/enter a recursive mutex
818         completly.
819
820         * gthread.c (g_thread_self): Do not test the system_thread to be
821         non-zero to speed things up.
822         
823         * gthread.c (g_mutex_init): Therefore set the system_thread of the
824         main thread here.
825
826         * tests/thread-test.c: Rerun all tests once again, but this time
827         we fool the system into thinking, that the available thread system
828         is not native, but userprovided.
829         
830 2000-03-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
831
832         * gqueue.c (g_queue_push_tail_link, g_queue_push_head_link): We
833         want the next and prev pointer of the inserted link to be NULL.
834
835 2000-03-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
836
837         * configure.in: Another small change to the pthread_.. search
838         pattern. Should work *now* for AIX.
839
840 2000-03-04  Tor Lillqvist  <tml@iki.fi>
841
842         * gwin32.c (g_win32_error_message): New function that returns the
843         message string for a Win32 error code.
844
845         * glib.h: Declare it.
846
847         * glib.def: Export it, plus g_node_copy.
848
849 2000-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
850
851         * configure.in: Make the search for pthread_attr_... prototypes
852         find names at the start of a line also, like it is on AIX. Thanks
853         to Valdis Kletnieks <Valdis.Kletnieks@vt.edu> for the info.
854
855 Wed Mar  1 10:39:39 2000  Tim Janik  <timj@gtk.org>
856
857         * gslist.c (g_slist_reverse): minor optimization.
858
859         * testglib.c (g_node_test): added a couple of tests for
860         g_node_copy().
861
862         * glib.h:
863         * gnode.c (g_node_copy): new function to copy subtrees,
864         supplied by dbsears@ix.netcom.com.
865         changed iterator to walk the children list backwards, so
866         we get down from O(n^2) to O(n).
867
868         * gnode.c (g_node_first_sibling): applied patch from
869         dbsears@ix.netcom.com to optimize access if node->parent
870         is present.
871
872         * gutils.c (g_get_any_init): backed out HAVE_PW_GECOS check around
873         assignment of g_real_name, sicne HAVE_PW_GECOS is never defined and
874         thus breaks the original code.
875
876         * merged changes from 1.2.7.
877
878 Fri Jan 28 11:37:41 2000  Owen Taylor  <otaylor@redhat.com>
879
880         Bug #4156 - Changes vaguely modelled after Scott Gifford's patch
881
882         * gtimer.c (g_timer_elapsed): Never report negative times -
883         clip times to 0.
884
885         * gmain.c (g_timeout_prepare): Guard against unexpected
886         clock shifts by never setting a timeout of more than
887         data->interval msecs.
888
889 2000-02-27  Tor Lillqvist  <tml@iki.fi>
890
891         * glib.def: Add new functions.
892
893 2000-02-23  Tor Lillqvist  <tml@iki.fi>
894
895         * README.win32: Add a missing step to the setup instructions for
896         gcc-2.95.2. Thanks to Arnaud Charlet.
897
898         * glib.def: Add missing entry point.
899
900 2000-02-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
901
902         * configure.in: Changed GCC version test to also accept major
903         versions > 2. Thanks to Ben Gertzfield <che@debian.org> for
904         pointing this out.
905
906 Thu Feb 17 12:53:44 2000  Tim Janik  <timj@gtk.org>
907
908         * gstring.c: changed g_str_hash() to a 31 bit version based on
909         a submission by Karl Nelson and hand optimized ad absurdum by
910         various people ;)
911
912         * gstring.c: applied patch from havoc for new gstring functions,
913         added some more sanity checks, coding style fixups.
914
915 2000-02-13  Havoc Pennington  <hp@pobox.com>
916
917         * tests/string-test.c (main): Add tests for the new GString 
918         features
919
920         * testglib.c (main): Add tests for the new GString features
921
922         * gstring.c (g_string_insert_len): New function; insert 
923         a given length of string at a given position. 
924         (g_string_append): reimplement in terms of g_string_insert_len
925         (g_string_append_len): new function
926         (g_string_insert_c): accept -1 for "pos" arg to mean "append"
927         (g_string_append_c): reimplement in terms of g_string_insert_c
928         (g_string_prepend): reimplement in terms of g_string_insert_len
929         (g_string_prepend_len): new function
930         (g_string_prepend_c): reimplement in terms of g_string_insert_c
931         (g_string_insert): reimplement in terms of g_string_insert_len
932
933         * glib.h: Declare g_string_insert_len, g_string_append_len,
934         g_string_prepend_len
935         
936 Sun Feb 13 08:16:47 2000  Tim Janik  <timj@gtk.org>
937
938         * configure.in: wtf??? someone destroyed the configure.in, reverting to
939         an older version from Feb 4 which apears to still work.
940
941 2000-02-07  Tor Lillqvist  <tml@iki.fi>
942
943         * gmodule.rc.in gthread.rc.in: Move to corresponding subdirectories.
944
945         * Makefile.am
946         * gmodule/Makefile.am
947         * gthread/Makefile.am: Change accordingly.
948         
949         * makefile.cygwin: Corresponding changes, some cleanup.
950
951 2000-02-05  Tor Lillqvist  <tml@iki.fi>
952
953         * glib.rc.in gmodule.rc.in gthread.rc.in: New files, for putting
954         version info in the DLLs on Win32.
955
956         * Makefile.am: Generate corresponding *.rc files and distribute
957         them.
958
959         * makefile.cygwin.in: Add rules to automatically bump a "build
960         number" in the version info in the rc files each time the DLL is
961         built. But do this only for the person who releases binaries. If
962         others build the DLLs, the build number is set to zero.
963
964 Fri Feb  4 19:36:05 2000  Tim Janik  <timj@gtk.org>
965
966         * glib.h: 
967         * gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
968         and g_dataset_id_remove_no_notify() to avoid second lookup for common
969         use.
970
971 2000-02-01  Tor Lillqvist  <tml@iki.fi>
972
973         * glib.h
974         * gstrfuncs.c (g_filename_to_utf8, g_filename_from_utf8): New
975         functions for conversion between UTF-8 and the encoding expected
976         by C runtime functions like open() and stat(), and returned by
977         readdir().
978
979         Implement them on Win32 where we use the system "ANSI" codepage,
980         which might be single-byte or double-byte. On Unix, just skip the
981         issue for now and provide dummy implementations that return a copy
982         of the argument.
983
984         * README.win32
985         * build-dll
986         * glib.def: Minor updates.
987
988 Wed Jan 26 05:24:38 2000  Tim Janik  <timj@gtk.org>
989
990         * glib.h:
991         * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
992         refetch the current time after invocation of poll() to cover up for
993         the time spent in that function call.
994
995 Fri Jan 21 10:18:24 2000  Owen Taylor  <otaylor@redhat.com>
996
997         * glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
998         the number of elements in an array.
999
1000 Sun Jan  9 13:28:36 2000  Tim Janik  <timj@gtk.org>
1001
1002         * gstrfuncs.c (g_strtod): correctly fetch the current locale,
1003         fix from owen.
1004
1005 1999-12-16  Tor Lillqvist  <tml@iki.fi>
1006
1007         * gmodule/gmodule-win32.c: Use FormatMessage to translate system
1008         error codes into textual messages.
1009
1010 1999-11-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1011
1012         * glib.h (G_TRYLOCK): This of course should return TRUE in a
1013         program with a thread-disabled GLib.
1014
1015 1999-11-18  Tor Lillqvist  <tml@iki.fi>
1016
1017         * glib.def: g_strjoin was missing.
1018
1019 1999-11-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1020
1021         * acconfig.h, config.h.win32.in, configure.in: Renamed
1022         GLIB_SIZEOF_PTHREAD_T to GLIB_SIZEOF_SYSTEM_THREAD to reflect
1023         changed meaning.
1024
1025         * configure.in: Cope with systems, that have a pthread_t type,
1026         that is not a pointer. Hint from Karl Nelson
1027         <kenelson@ece.ucdavis.edu>. Define GLIB_SIZEOF_SYSTEM_THREAD to 4
1028         for Solaris. Cope with systems, that have no default mutex
1029         initialize, like obviously most DCE systems.
1030
1031         * glib.h, gthread.c: Changed the prototype of thread_create and
1032         thread_self to return the system thread into provided memory
1033         instead of a return value. This is necessary, as HPUX has a
1034         pthread_t, that is bigger than the biggest integral type there.
1035
1036         * gthread.c: system_thread is no longer a pointer, but an memory
1037         area of size GLIB_SIZEOF_SYSTEM_THREAD. Changed the
1038         zeroinitialization and the tests for zeroness accordingly.
1039
1040 1999-11-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1041
1042         * configure.in: Create docs/glib-config.1 from
1043         docs/glib-config.1.in. Makes 'make distcheck' happy (and me too).
1044
1045         * glib-config.1: Removed from CVS, as it is a generated file.
1046
1047 1999-11-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1048
1049         * configure.in: Make the test for getpwuid_r work on newer AIX
1050         versions, too. Still works on Solaris and Linux. Patch from Craig
1051         Rodrigues <rodrigc@mediaone.net>.
1052
1053 1999-11-08  Tor Lillqvist  <tml@iki.fi>
1054
1055         * gwin32.c (g_win32_getlocale): Look at env vars LC_ALL, LC_CTYPE
1056         and LANG first. Some refinements to the sublanguage logic.
1057
1058 1999-11-04  Tor Lillqvist  <tml@iki.fi>
1059
1060         * makefile.{cygwin,msc}.in: Add gwin32 object. Add rule to make .i
1061         (preprocessed source) files.
1062
1063 1999-11-01  Tor Lillqvist  <tml@iki.fi>
1064
1065         * glib.h
1066         * glib.def: Rename Win32-only functions from gwin_* to g_win32_*
1067         to match the GLib naming conventions.
1068
1069         * gutils.c
1070         * gwin32.c
1071         * testglib.c
1072         * Makefile.am: Move the Win32-only functions to the new
1073         file gwin32.c
1074
1075 1999-10-31  Tor Lillqvist  <tml@iki.fi>
1076
1077         * gutils.c (gwin_getlocale): New Win32-specific function, returns
1078         a Unixish current locale string (en, zh_TW etc).
1079
1080         * glib.h: Declare it.
1081
1082         * glib.def: Export it.
1083
1084         * testglib.c: Test it.
1085
1086         * gmessages.c (Win32: ensure_stdout_valid): Some improvements,
1087         make sure we don't call AllocConsole several times, which I think
1088         has happened.
1089
1090 Sun Oct 31 18:55:01 1999  ape@spacetec.no  (Asbjorn Pettersen)
1091
1092         * gcache.c (g_cache_remove): Test if node is NULL.
1093         If not tested, GIMP's script-fu will crash. 
1094
1095 Sun Oct 17 18:11:40 1999  Tim Janik  <timj@gtk.org>
1096
1097         * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around
1098         destroy() notification here as well.
1099
1100 1999-10-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1101
1102         * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist
1103         is called recursivly. Reported by Ola Andersson <rand@ling.umu.se>.
1104
1105 Tue Oct 12 14:17:12 1999  Tim Janik  <timj@gtk.org>
1106
1107         * glib.h: removed useless g_string(x) macro that cluttered the namespace
1108         and was just a poor wrapper around the cpp '#' symbol, use #x if you
1109         need to work around this.
1110         added new macro G_STRINGIFY(arg) that will convert arg to a string,
1111         no matter whether it contains macros or not.
1112
1113 1999-10-12  Tor Lillqvist  <tml@iki.fi>
1114
1115         * config.h.win32.in: Define the new GLIB_SIZEOF_* constants here,
1116         too.
1117
1118         * glib.h: Small Win32 comments improvement.
1119
1120 Tue Oct 12 12:16:12 1999  Tim Janik  <timj@gtk.org>
1121
1122         * gmessages.c (g_printf_string_upper_bound): completly new implementation
1123         for printf string upper bounds calculation.
1124         we handle all glibc 2.1 format specifiers now, except for positional
1125         parameters (%nn$...) and wide char strings, plus some obscure upper
1126         case variants of the standard conversions. this fixes a lot of
1127         bugs in the old code, i.e.
1128         - NULL format strings
1129         - floats with exponents >+24
1130         - %G
1131         - precision specifications in general
1132         - negative field widths
1133         - %p for SIZEOF_VOID_P > 4 platforms
1134         we now issue warnigns in places where the old code would have
1135         caused buffer overruns anyways. warnings are suppressed when invoked
1136         from glogv(), to avoid infinite recursions if someone passes a log
1137         message that comes with really obscure format specifications.
1138
1139 Tue Oct 12 11:49:00 1999  Tim Janik  <timj@gtk.org>
1140
1141         * gstrfuncs.c: nuked old g_printf_string_upper_bound() version.
1142
1143 Tue Oct 12 03:34:40 1999  Tim Janik  <timj@gtk.org>
1144
1145         * glib.h: added GFloatIEEE754 and GDoubleIEEE754 unions to access sign,
1146         mantissa and exponent of IEEE floats and doubles (required by the new
1147         version of g_printf_string_upper_bound). the unions are endian specific,
1148         we handle G_LITTLE_ENDIAN and G_BIG_ENDIAN as of currently. ieee floats
1149         and doubles are supported (used for storage) by at least intel, ppc and
1150         sparc, reference:
1151         http://twister.ou.edu/workshop.docs/common-tools/numerical_comp_guide/ncg_math.doc.html
1152         
1153 Mon Oct 11 18:01:49 1999  Tim Janik  <timj@gtk.org>
1154
1155         * configure.in: added additional checks to figure sizes of size_t,
1156         ptrdiff_t and intmax_t (required by g_printf_string_upper_bound).
1157
1158 Wed Oct  6 12:44:23 PDT 1999 Manish Singh <yosh@gimp.org>
1159
1160         * configure.in: blah. use G_WITH_CYGWIN instead of G_HAVE_CYGWIN
1161
1162 1999-10-05  Tor Lillqvist  <tml@iki.fi>
1163
1164         * glib.h: (Win32) Drop the mapping of POSIX function names to the
1165         underscored versions, it's unnecessary after all. With MSVC we get
1166         them from oldnames.lib, with gcc-2.95 and mingw32 from
1167         -lmoldname-msvc. Add comment about what headers to include for
1168         prototypes.
1169
1170         * glibconfig.h.win32.in: Don't define WIN32 and NATIVE_WIN32.
1171
1172         * gerror.c (g_on_error_query): (Win32) Slightly increased verbosity.
1173
1174         * build-dll: Don't strip.
1175
1176         * tests/string-test.c tests/dirname-test.c: Use G_OS_WIN32.
1177
1178         * glib.def: Add g_thread_use_default_impl.
1179
1180 Sun Oct  3 19:46:55 PDT 1999 Manish Singh <yosh@gimp.org>
1181
1182         * configure.in: use G_HAVE_CYGWIN instead of G_OS_FEATURE_CYGWIN
1183
1184 Sun Oct  3 19:25:42 PDT 1999 Manish Singh <yosh@gimp.org>
1185
1186         * acconfig.h
1187         * configure.in
1188         * glibconfig.h.win32: G_OS_FOO #defines. I *think* I got the cygwin
1189         and beos stuff right, but I haven't tested it. The respective
1190         porters should fix any screwups
1191
1192         * glib.h
1193         * gerror.c
1194         * gmain.c
1195         * gmessages.c
1196         * gscanner.c
1197         * gthread.c
1198         * gtimer.c
1199         * gutils.c
1200         * testglib.c: use G_OS stuff
1201
1202 Wed Sep 22 01:53:18 1999  Tim Janik  <timj@gtk.org>
1203
1204         * glib.h (NULL): define NULL as (0L) if __cplusplus is defined, to
1205         avoid "ANSI C++ forbids implicit conversion from `void *' in argument
1206         passing" errors upon NULL usage in C++ programs (gcc-2.95 is on crack
1207         for erroring out on this, instead of just issueing a warning).
1208
1209         * glib.h (g_trash_stack_pop): use uncasted NULL again.
1210         
1211 Fri Sep 17 10:24:45 1999  Tim Janik  <timj@gtk.org>
1212
1213         * gmem.c (g_mem_chunk_compute_size) (g_mem_chunk_new): applied patch
1214         from Soeren Sandmann <sandmann@daimi.au.dk>, to force mem chunk's area
1215         sizes to be a multitiple of atom_size, and to eliminate the MAX_MEM_AREA
1216         restriction of 65536 bytes. we also catch cases where users pass an area
1217         size < atom size with a return_if_fail statement now (which is ok,
1218         because previously this lead to memory corruption anyways).
1219
1220 Thu Sep 16 13:19:54 1999  Tim Janik  <timj@gtk.org>
1221
1222         * glib.h (g_trash_stack_pop): add explicit (GTrashStack*) cast for NULL
1223         pointer to cure ANSI C++ error.
1224
1225 Mon Sep 13 23:25:59 1999  Tim Janik  <timj@gtk.org>
1226
1227         * gmessages.c (g_logv): in case we have to abort the program,
1228         debugging is enabled and we are not called recursively, try
1229         to abort with raise (SIGTRAP) first, so developers may ignore
1230         certain failure conditions during debugging stage.
1231
1232 Thu Aug 26 15:09:36 1999  Tim Janik  <timj@gtk.org>
1233
1234         * Makefile.am:
1235         * gmodule/Makefile.am:
1236         * gthread/Makefile.am: added --export-dynamic so we can load dynmic
1237         modules, (required, according to the libtool 1.3.3 docu).
1238
1239 1999-07-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1240
1241         * grand.c (g_rand_new): Use /dev/urandom, as it doesn't block,
1242         which /dev/random might do. Do not XOR the time, when getting the
1243         seed form /dev/urandom, as this is good itself. Prevent the
1244         initial seed from being zero, which causes the PRNG to produce
1245         only zeros. Hints from Colin Plumb <colin@pgp.com>.
1246
1247 1999-08-17  Tor Lillqvist  <tml@iki.fi>
1248
1249         * glib.h (g_trash_stack_push): Add a cast.
1250
1251         * gslist.c
1252         * glist.c: Make the inline functions static inline, and add
1253         separate extern wrappers. Not all compilers produce callable entry
1254         points for inline functions, even if gcc does.
1255
1256 Sun Aug 15 02:47:14 1999  Tim Janik  <timj@gtk.org>
1257
1258         * glib.h (g_trash_stack_pop): eliminate memset() call, since string.h
1259         has not neccessarily been included prior to glib.h.
1260
1261 Mon Aug  2 21:03:10 1999  Tim Janik  <timj@gtk.org>
1262
1263         * configure.in: added --enable-msg-prefix option.
1264
1265         * gmessages.c (g_log_default_handler): feature "prg_name (pid:%u): "
1266         if --enable-msg-prefix was selected (use "(process:%u): " if
1267         g_get_prgname () returns NULL, along the lines of g_on_error_query).
1268
1269 1999-08-03  Tor Lillqvist  <tml@iki.fi>
1270
1271         * glib.h
1272         * gstrfuncs.c
1273         * tests/strfunc-test.c: Rename g_strccpy to g_strcompress and
1274         g_strecpy to g_strescape per Tim Janik's suggestion. Dropped the
1275         destination parameter, always g_malloc a new string.  Fix bug in
1276         g_strcompress, octal digits were gobbled up without limit, should
1277         use max three.
1278
1279         Sources that use g_strescape must have ifdefs to be compilable
1280         both with GLib 1.2 and 1.3.
1281
1282 Sat Jul 31 17:52:03 PDT 1999 Manish Singh <yosh@gimp.org>
1283
1284         * glib.h
1285         * gstrfuncs.c: the #define for g_strescape interfered with the
1286         compilation of the function, so just remove the function and
1287         note that it's deprecated in the header
1288
1289 1999-08-01  Tor Lillqvist  <tml@iki.fi>
1290
1291         * gstrfuncs.c (g_strccpy, g_strecpy): New functions.
1292
1293         * glib.h: Declare and document them. Define the deprecated
1294         g_strescape as a macro that calls g_strecpy.
1295
1296         * tests/strfunc-test.c (main): Test them.
1297
1298         * makefile.{cygwin,msc}.in
1299         * tests/makefile.{cygwin,msc}.in: Remove gstack and its test
1300         program.
1301
1302         * glib.def: Additions and removals.
1303
1304         * README.win32: Improve gcc build instructions.
1305
1306         * build-dll: Also build import library for MSVC.
1307
1308 Sat Jul 24 20:11:35 1999  Tim Janik  <timj@gtk.org>
1309
1310         * merged GLib 1.3.0 with glib-1.2.3 from Fri Jul 16 22:18:36.
1311         * incorporated proposed cleanups from gtk-devel-list.
1312
1313         * bumped version number to GLib-1.3.1
1314
1315         * glib.h:
1316         * gqueue.c:
1317         * gstring.c:
1318         * glist.c:
1319         removed string tokenisation (we got g_strsplit() and g_strjoin()
1320         already) and readline functions.
1321         s/g_list_delete/g_list_delete_link.
1322         implemented g_slist_delete_link.
1323         removed notion of g_ATEXIT() macro in glib.h, this is an *internal*
1324         macro, g_atexit() is provided for public consumption.
1325         added GTrashStack inline utility functions.
1326         reimplement double eneded queues.
1327         removed GStack implementation, people can use a queue or a (singly)
1328         linked list for this task.
1329         deprecated g_strescape(), we need the SunOS variants here.
1330
1331         * gdate.c: added DEBUG_MSG() macro to wrap old messages.
1332         
1333         * *.*: CVS merges.
1334
1335         * upgrade to libtool 1.3.3.
1336
1337 1999-07-21  Tor Lillqvist  <tml@iki.fi>
1338
1339         Win32: With the latest gcc (2.95, pre-release), we can have binary
1340         compatibility with MSVC by using the switch -fnative-struct. No
1341         longer build DLLs with .gcc in the name when using gcc.
1342
1343         * README.win32: Renew gcc build instructions.
1344
1345         * build-dll: Comments change, handle also .a files.
1346
1347         * makefile.cygwin.in
1348         * tests/makefile.cygwin.in: Remove .gcc from DLL name.
1349         
1350 1999-07-13  Tor Lillqvist  <tml@iki.fi>
1351
1352         * README.win32: Correct URL for mingw runtime sources.
1353
1354         * build-dll: Combine commands with &&.
1355
1356         * glib.h: Map also rmdir() and hypot() for MSVCRT library.
1357
1358         * makefile.cygwin.in
1359         * tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
1360         now called *.gcc.dll, to avoid binary incompatibilities with
1361         MSVC-compiled versions.
1362
1363         * makefile.msc.in: Cosmetics.
1364
1365 1999-07-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1366
1367         * configure.in: Test for pthread_join rather than for
1368         pthread_create to determine the right thread-lib. Makes it work on
1369         mips-sgi-irix6.5. Hitn from to Jari Vuoksenranta
1370         <javu@piano.ux.phys.jyu.fi>.
1371
1372 1999-07-02  Tor Lillqvist  <tml@iki.fi>
1373
1374         * README.win32: Note about need to fix another bug in the mingw32
1375         headers.
1376
1377         * makefile.msc.in: Debugging turned on via an nmake variable,
1378         no need to edit the makefile.
1379
1380 1999-07-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1381
1382         * configure.in, acconfig.h, gutils.c: Added a g_memmove
1383         replacement for platforms without memmove, where bcopy can't
1384         handle overlapping copies and the corresponding checks, which is
1385         taken form the PERL Configure routine.
1386
1387         * glib.h: Updated the commentary about g_memmove to be right and
1388         more GLib-like.
1389         
1390         * configure.in: Removed test for rand_r, as it isn't used anymore.
1391
1392 1999-06-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1393
1394         * glib.h, grand.c: Finally removed the g_random_normal and
1395         g_rand_normal functions.
1396
1397 1999-06-28  Tor Lillqvist  <tml@iki.fi>
1398
1399         * glib.def: Add missing export of g_strncasecmp.
1400
1401 1999-06-21  Jose Mercado  <jmercado@mit.edu>
1402
1403         * glib.spec.in: Changed version number (1.1->1.3) in files section
1404         to allow rpm to build packages again.
1405
1406 1999-06-21  Tor Lillqvist  <tml@iki.fi>
1407
1408         * README.win32: Update the pthreads snapshot version we want.
1409         Advice how to hand-expand the makefile.*.in files.
1410
1411         * config.h.win32.in: Define values needed by Sebastian Wilhelmi's
1412         new thread stuff.
1413
1414         * glib.def: Add new functions.
1415
1416         * glibconfig.h.win32.in: Update the pthreads snapshot version.
1417         Fix typo.
1418
1419         * gthread.c: Include config.h, guard inclusion of unistd.h.  When
1420         using gcc on Win32, g_thread_functions_for_glib_use must be marked
1421         for export here, too.
1422
1423         * gtimer.c: Implement g_usleep on native Win32 using Sleep (which
1424         only has millisecond granularity, though).
1425         
1426         * makefile.cygwin.in
1427         * makefile.msc.in: Update pthreads snapshot version. File
1428         name changes. Remove testgthread.
1429
1430         * tests/makefile.cygwin.in
1431         * tests/makefile.msc.in: Add thread-test. Link with gthread lib.
1432
1433 1999-06-18  Jeff Garzik  <jgarzik@pobox.com>
1434
1435         * tests/Makefile.am:  Re-order tests in alpha order.
1436
1437 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1438
1439         * configure.in: Changed test for pthread_attr_setstacksize from
1440         AC_TRY_COMPILE to AC_TRY_LINK.
1441
1442 1999-06-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1443
1444         * configure.in, acglib.m4, acconfig.h, glib.h, gthread.c:
1445         Completed the thread support in GLib. Thread creation,
1446         prioritizing threads, yielding, joining threads as well as
1447         reader/writer locks and recursive mutexes are now in place. Please
1448         test heavily on your platform. It is so far tested on
1449         Linux/i386/pthreads, Solaris/Sparc/pthreads and
1450         Solaris/Sparc/solaristhreads.
1451
1452         * gtimer.c, glib.h: Implement g_usleep (gulong microseconds) for
1453         thread safe sleeping. (sleep() is not MT-safe at all!)
1454
1455         * gutils.c: Avoid compiler warning.
1456
1457         * tests/Makefile.am, tests/thread-test.c: New program to test some
1458         aspects of the thread implementation.
1459
1460         * gthread.c, Makefile.am: Renamed from gmutex.c to reflect the
1461         change of content.
1462
1463         * configure.in: Purged all appearances of nspr. 
1464
1465 Wed Jun  2 11:42:46 PDT 1999 Manish Singh <yosh@gimp.org>
1466
1467         * acinclude.m4
1468         * config.guess
1469         * config.status
1470         * ltconfig
1471         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
1472
1473 1999-05-29  Tor Lillqvist  <tml@iki.fi>
1474
1475         * gstrfuncs.c (g_strescape): Backslashify also '"' characters.
1476
1477         * glib.h: Document g_strescape.
1478
1479 1999-05-12  Tor Lillqvist  <tml@iki.fi>
1480
1481         * glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
1482         _fstat.
1483
1484         * README.win32: Advice also to remove -lmoldname in the
1485         patch to the egcs-1.1.2 spec file.
1486
1487 Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
1488
1489         * gmodule/Makefile.am: Another small fix.
1490
1491 1999-05-08  Tor Lillqvist  <tml@iki.fi>
1492
1493         * Makefile.am tests/Makefile.am: Correct rules for making the
1494         win32-related files that are made from corresponding .in files.
1495         Is there a cleaner way than explicitly writing rules that invoke
1496         config.status?
1497
1498 Fri Jul 16 22:18:36 PDT 1999 Manish Singh <yosh@gimp.org>
1499
1500         * ltconfig
1501         * ltmain.sh: upgrade to libtool 1.3.3
1502
1503 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1504
1505         * gdate.c, gstrfuncs.c, gstring.c: Fixed the use of the
1506         is..... and to..... macros, which take unsigned chars, not chars!
1507         Thanks to Morten Welinder <terra@diku.dk> for pointing this out.
1508
1509 Thu Jun  3 16:30:31 PDT 1999 Manish Singh <yosh@gimp.org>
1510
1511         * gerror.c (g_on_error_query): check isatty() before querying so
1512         we don't loop endlessly
1513
1514 Sat May 29 11:16:29 PDT 1999 Manish Singh <yosh@gimp.org>
1515
1516         * acinclude.m4
1517         * config.guess
1518         * config.status
1519         * ltconfig
1520         * ltmain.sh: upgrade to libtool 1.3.2
1521
1522 1999-05-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1523
1524         * gmain.c: provide a poll prototype for SunOS, as they do not do
1525         it self. Hint from Christian Parg <cparg@fs-design.de>.
1526
1527 Tue May 25 12:23:07 1999  Owen Taylor  <otaylor@redhat.com>
1528
1529         * gstrfuncs.c (g_strchug): Use g_memmove() not memmove().
1530         (Reported by Charles Levert <charles@comm.polymtl.ca>)
1531
1532 Mon May 10 22:03:52 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
1533
1534         * Released GLib 1.2.3
1535
1536 1999-05-08  Tor Lillqvist  <tml@iki.fi>
1537
1538         * Makefile.am tests/Makefile.am: Correct rules for making the
1539         win32-related files that are made from corresponding .in files.
1540         Is there a cleaner way than explicitly writing rules that invoke
1541         config.status?
1542         
1543 Sat May  1 10:18:01 PDT 1999 Manish Singh <yosh@gimp.org>
1544
1545         * acinclude.m4
1546         * config.guess
1547         * config.status
1548         * ltconfig
1549         * ltmain.sh: upgrade to libtool 1.3
1550
1551 1999-04-30  Tor Lillqvist  <tml@iki.fi>
1552
1553         * Makefile.am: Don't distribute glibconfig.h.win32.in, but
1554         glibconfig.h.win32. Generate it when making a dist. Also generate
1555         makefile.msc and config.h.win32 from corresponding .in files when
1556         making dist.
1557
1558         * configure.in: Also substitute @GLIB_INTERFACE_AGE@ and
1559         @GLIB_BINARY_AGE@ (needed in config.h.win32).
1560         
1561         * glibconfig.h.win32.in: Use static mutex structure and initial
1562         value corresponding to the 1999-04-07 snapshot of pthreads-win32.
1563
1564         * tests/Makefile.am: Distribute makefile.msc. Generate it when
1565         making dist.
1566
1567         * tests/makefile.msc.in: New file.
1568
1569         * tests/node-test.c: Include <stdlib.h> for exit().
1570
1571 Thu Apr 29 02:16:36 1999  Tim Janik  <timj@gtk.org>
1572
1573         * gstrfuncs.c: minor code cleanups.
1574
1575 Tue Apr 27 13:11:29 1999  Owen Taylor  <otaylor@redhat.com>
1576
1577         * gmain.c (g_main_poll): Mask out ERR HUP and NVAL from
1578         the events field so we don't give IRIX fits.
1579
1580 Tue Apr 20 08:42:22 1999  Tim Janik  <timj@gtk.org>
1581
1582         * gscanner.c (g_scanner_unexp_token): behave conservative with
1583         G_TOKEN_IDENTIFIER_NULL and always assume scanner->value.v_string
1584         to be "null" in that case.
1585
1586 1999-04-20  Havoc Pennington  <hp@pobox.com>
1587
1588         * gutils.c (g_vsnprintf):  When using the vsnprintf()
1589         implementation, '\0'-terminate the resulting string
1590         and return its length rather than -1.
1591
1592 Mon Apr 19 13:42:21 1999  Owen Taylor  <otaylor@redhat.com>
1593
1594         * gmain.c (g_main_iterate): Added missing
1595         #ifdef G_THREADS_ENABLED. (I never liked G_THREADS_ENABLED in
1596         the first place!)
1597
1598 1999-04-18  Havoc Pennington  <hp@pobox.com>
1599
1600         * gutils.c (g_snprintf): When using the vsnprintf()
1601         implementation, '\0'-terminate the resulting string
1602         and return its length rather than -1.
1603
1604 Fri Apr 16 06:52:07 1999  Tim Janik  <timj@gtk.org>
1605
1606         * gscanner.c (g_scanner_unexp_token): feature G_TOKEN_EOF as a valid
1607         expected token as well, so we get "- expected end of file" instead of
1608         "- expected (unknown) token <0>".
1609
1610 Tue Apr 13 16:16:14 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
1611
1612         * Released GLib 1.2.2
1613
1614 1999-04-12  Elliot Lee  <sopwith@mh69.mh.cuc.edu>
1615
1616         * g_strchug(): s/strcpy/memmove/
1617
1618 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1619
1620         * configure.in: Adjusted the test for an unimplemented
1621         getpwuid_r. Info from Michael Pruett <mikep@ugcs.caltech.edu>.
1622
1623 Sun Apr 11 15:07:34 1999  Tim Janik  <timj@gtk.org>
1624
1625         * configure.in: bumped versin number to GLib 1.2.2, interface 2,
1626         binary 2.
1627         
1628         * NEWS: updates.
1629
1630 Sun Apr 11 14:37:06 1999  Tim Janik  <timj@gtk.org>
1631
1632         * gstrfuncs.c (g_strcasecmp): always check for s1, s2 != NULL.
1633
1634 Sat Apr 10 19:30:50 1999  Tim Janik  <timj@gtk.org>
1635
1636         * glib.h: removed braces around inline strings for the G_GNUC_FUNCTION
1637         and G_GNUC_PRETTY_FUNCTION macros, so the macros can be used for compile
1638         time string concatenation.
1639
1640 Thu Apr  8 19:53:19 1999  Owen Taylor  <otaylor@redhat.com>
1641
1642         * gmain.c (g_main_iterate): Check for two threads
1643         calling g_main_iterate at once.
1644
1645         * gmain.c: If the set of poll file descriptors changes
1646         during a call to poll(), abort that call, and start
1647         a new poll. My test program still segfaults
1648         obscurely on glibc 2.0 (in read()!!!), but now it works on
1649         glibc 2.1, so I'll blame something else for the other segfault.
1650
1651 1999-03-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1652
1653         * configure.in: Fixed slight bug, that made configure hang on some
1654         systems. Please do not merge this into 1.3 branch. It's taken care
1655         of differently there. Info from J. Rhett Aultman
1656         <cuplan@alley.gator.net>
1657         
1658 Wed Mar 24 21:23:47 CST 1999 Shawn T. Amundson <amundson@gtk.org>
1659
1660         * Released GLib 1.2.1
1661
1662         * README:
1663           INSTALL: 
1664           NEWS: 
1665           sanity_check: updated
1666
1667         * glibconfig.h.win32.in:
1668           Makefile.am:
1669           docs/glib-config.1.in:
1670           docs/Makefile.am: Added files used to generate new files.
1671
1672         * glibconfig.h.win32:
1673           docs/glib-config.1: Removed, now generated.
1674
1675         * configure.in: Added to output now-generated files.
1676         
1677 Tue Mar 23 13:43:39 PST 1999 Manish Singh <yosh@gimp.org>
1678
1679         * giounix.c: add user_data param to check and prepare functions
1680
1681 Mon Mar 22 03:54:43 1999  Tim Janik  <timj@gtk.org>
1682
1683         * glib.h:
1684         * gmain.c: add user_data to the GSource ->check and ->prepare functions,
1685         so it can be used to e.g. pass a GPollFd.
1686         (g_main_poll): only add poll records with an events mask != 0 to the
1687         fd_array. don't even bother calling poll_func() if fds=timeout=0.
1688         added debugging printouts around poll_func() invokation that can be
1689         enabled with #define G_MAIN_POLL_DEBUG.
1690
1691 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
1692
1693         * acinclude.m4
1694         * config.guess
1695         * config.sub
1696         * ltconfig
1697         * ltmain.sh: upgrade to libtool 1.2f
1698
1699         * autogen.sh: libtool is not required to autogen glib
1700
1701         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
1702         needed)
1703
1704 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1705
1706         * gmem.c: Fixed another stupid fault of mine: Did
1707         s/g_static_/g_private_/g
1708
1709 Wed Mar 17 03:17:42 1999  Tim Janik  <timj@gtk.org>
1710         
1711         * configure.in bumped versin number to GLib 1.2.1, interface 1,
1712         binary 1.
1713         
1714         * NEWS: updates.
1715
1716         * glib.h: added GLIB_CHECK_VERSION() macro similar to
1717         GTK_CHECK_VERSION().
1718
1719 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
1720
1721         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
1722         to g_return_if_fail().
1723         (g_mem_profile): 
1724         (g_mem_chunk_print): 
1725         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
1726         messages.
1727
1728         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
1729         to g_return_if_fail().
1730         * grel.c (g_*): changed a bunch of g_assert() statements to
1731         g_return_if_fail() and added some extra ones to check relation != NULL.
1732
1733 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1734
1735         * configure.in: Also accept _Pctime_r instead of ctime_r, while
1736         seraching for the right `_REENTRANT' flag. This is for Digital
1737         UNIX 4.0d. Thanks to Sascha Brawer <sb@adasys.ch>.
1738
1739 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
1740
1741         * configure.in: check for working realloc (NULL,).
1742         * gmem.c (g_realloc): use malloc() for initial allocation on systems
1743         where realloc(NULL,) will not work (this is the case on SunOS, reported
1744         by Tom Geiger).
1745
1746 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
1747
1748         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
1749         flag around the call to g_hook_free() to avoid spurious
1750         warnings (happens during destruction phase).
1751
1752 1999-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1753
1754         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
1755         from config.h.win32 to glibconfig.h.win32
1756
1757         * acconfig.h, configure.in, config.h.win32: Added test for DCE
1758         versions of mutex_trylock and cond_timedwait. The win32 versions
1759         are posix, aren't they?
1760
1761 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1762
1763         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
1764         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
1765
1766 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1767
1768         * gutils.c (g_get_any_init): Fixed yet another bloody
1769         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
1770         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
1771         test better than that, but have no idea, how to do that easily.
1772
1773 Sun Feb 21 22:11:51 CST 1999  Shawn T. Amundson <amundson@gtk.org>
1774
1775         * Released GLib 1.2.0
1776
1777         * AUTHORS: updated
1778
1779 Wed Feb 24 00:08:42 CST 1999 Shawn T. Amundson <amundson@gtk.org>
1780
1781         * *.[ch]: inserted additional note to look for ChangeLog and
1782           AUTHORS file for a log of modifications.
1783
1784 Sun Feb 21 14:01:00 1999  Dr Mike <drmike@redhat.com>
1785
1786         * Made specfile generated, tweaked slightly
1787         
1788 Sat May  8 06:00:17 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
1789
1790         * configure.in
1791           gmodule/Makefile.am
1792           gthread/Makefile.am: Better testing reveals better
1793           methods.  Fixes for BeOS.
1794
1795 Sat May  8 01:52:29 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
1796
1797         * configure.in
1798           gerror.c
1799           gmain.c
1800           gstrfuncs.c
1801           gutils.c
1802           ltconfig
1803           ltmain.sh
1804           gmodule/Makefile.am
1805           gmodule/gmodule.c
1806           gmodule/gmoduleconf.h.in
1807           gmodule/gmodule-beos.c
1808           gthread/Makefile.am: Port to BeOS by myself and Richard Offer.
1809
1810 1999-05-06  Tor Lillqvist  <tml@iki.fi>
1811
1812         * makefile.msc.in makefile.cygwin.in glibconfig.h.win32.in
1813         config.h.win32.in tests/makefile.msc.in tests/makefile.cygwin.in:
1814         New files, used to generate corresponding non-.in files when
1815         making a dist. This is just so the version numbers will be kept in
1816         synch automatically.
1817
1818         * configure.in: Also substitute @GLIB_MAJOR_VERSION@,
1819         @GLIB_MINOR_VERSION@, and @GLIB_INTERFACE_AGE@.
1820         
1821         * Makefile.am tests/Makefile.am: Also distribute makefile.cygwin.
1822         
1823         * gerror.c (g_on_error_query): On Win32, put up a MessageBox and
1824         then exit.
1825
1826         * glib.def: Add a couple of functions.
1827         
1828 Sat May  1 10:26:20 PDT 1999 Manish Singh <yosh@gimp.org>
1829
1830         * acinclude.m4
1831         * config.guess
1832         * config.status
1833         * ltconfig
1834         * ltmain.sh: upgrade to libtool 1.3
1835
1836 1999-04-25  Tor Lillqvist  <tml@iki.fi>
1837
1838         * README.win32: More editing.
1839         * build-dll: Use gcc, not ld to link.
1840         * glib.h: On native Win32 use _unlink().
1841         * gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
1842         not _MSC_VER.
1843         * gstring.c: Include <io.h> on Win32 for _read prototype.
1844         * gutils.c: Remove old IO channel code (was in #if 0).
1845         * makefile.cygwin: Don't need to link with kernel32 and msvcrt
1846         explicitly, they are included anyway.
1847
1848 1999-04-24  Tor Lillqvist  <tml@iki.fi>
1849
1850         Support added for building using a GNU toolchain on Win32,
1851         i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).
1852
1853         * README.win32: Updated.
1854         * build-dll makefile.cygwin tests/makefile.cygwin: New files.
1855         * glib.h glib.def glibconfig.h.win32: Slight updates. 
1856         * gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
1857         * gmain.c gutils.c testglib.c tests/string-test.c: Test for
1858         NATIVE_WIN32, not _MSC_VER.
1859         * gmutex.c: Must declare g_thread_functions_for_glib_use as
1860         exported (using the GUTILS_C_VAR macro).
1861         * gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
1862         * gmodule/gmoduleconf.h.win32: Need underscore with gcc.
1863         * gthread/gthread.c: With gcc on Win32, must use memcpy to assign
1864         value of g_thread_functions_for_glib_use (?).
1865         * makefile.msc tests/makefile.msc: Cosmetics.
1866
1867 Fri Apr 23 14:29:25 BST 1999  Tony Gale <gale@gtk.org>
1868
1869         * glib.h: Fix typo in g_string_ncasecmp macro (by me).
1870           Add b_string_strncasecmp macro.
1871
1872 1999-04-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1873
1874         * gutils.c (g_get_any_init): use sysconf (_SC_GETPW_R_SIZE_MAX) as
1875         the new initinal bufsize for getpwuid_r on systems, that support
1876         this. Hint from Holger Duerer <H.Duerer@zait.uni-bremen.de>.
1877
1878 Sat Apr 17 20:55:13 BST 1999  Tony Gale <gale@gtk.org>
1879
1880         * glib.h, gstring.c: Add new g_string functions for reading
1881           from file/socket descriptors, and tokenising strings.
1882
1883           Added various g_string macros.
1884
1885 Tue Apr 13 23:28:32 1999  Tor Lillqvist  <tml@iki.fi>
1886
1887         * README.win32: Mention the tests directory.
1888
1889         * glib.def: Add the functions from grand.c.
1890
1891         * glibconfig.h.win32: Add unsigned max values, and the format
1892         strings.
1893
1894         * makefile.msc: Add grand.
1895
1896         * tests/{date-test,node-test}.c: Include <stdlib.h> for exit().
1897
1898         * tests/makefile.msc: New file.
1899
1900 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1901
1902         * glib.h: Moved struct declaration up. Style fixes.
1903
1904         * grand.c: Style fixes. Only try to open /dev/random once.
1905
1906         * tests/rand-test.c (main): New tests; Slight bug fix. 
1907
1908 1999-04-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1909
1910         * grand.c, tests/rand-test.c: New files to implement the Mersenne
1911         Twister Pseudo Random Number Generator.
1912
1913         * glib.h, AUTHORS, Makefile.am, tests/Makefile.am: Changed
1914         accordingly.
1915
1916 Thu Apr  8 21:12:30 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
1917
1918         * Released GLib 1.3.0
1919
1920 1999-03-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1921
1922         * configure.in: Added a check for the right format to printf and
1923         scanf long longs. It is %qi instead of %lli on FreeBSD for
1924         whatever reason.
1925
1926 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
1927
1928         * Makefile.am (glibconfig.h): Make sure `glibconfig.h' exists
1929         after the rule is fired.
1930         (install-exec-local): Install glibconfig.h only if the contents
1931         are different from the currently installed glibconfig.h.
1932
1933 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
1934
1935         * Makefile.am (configexecincludedir): Rename from 
1936         configincludedir so that glibconfig.h will be installed 
1937         as part of `make install-exec'. 
1938
1939 Thu Mar 25 22:45:47 1999  Tor Lillqvist  <tml@iki.fi>
1940
1941         * config.h.win32: Update version numbers.
1942
1943         * glibconfig.h.win32: Update version numbers and pthreads-win32-
1944         related magic values.
1945
1946         * README.win32: Some improvements.
1947
1948         * makefile.msc: Add gqueue and gstack. Correct version number.
1949
1950 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
1951
1952         * acinclude.m4
1953         * config.guess
1954         * config.sub
1955         * ltconfig
1956         * ltmain.sh: upgrade to libtool 1.2f
1957
1958         * autogen.sh: libtool is not required to autogen glib
1959
1960         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
1961         needed)
1962
1963 1999-03-18  Jeff Garzik  <jgarzik@pobox.com>
1964
1965         * glib.def: Add new g_list, g_stack, g_queue functions.
1966
1967 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1968
1969         * configure.in: added new AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
1970         to hold various defines to get the right thread implementation on
1971         different platforms. Also look in -ldce for pthread_create. Should
1972         make it work on HP-UX 10.x. Information from "D. Emilio Grimaldo
1973         Tunon" <emilio_tunon@nl.compuware.com>.
1974
1975 1999-03-17  Jeff Garzik  <jgarzik@pobox.com>
1976
1977         * gstack.c, gqueue.c:
1978         Add copyright, clean up code a bit.
1979
1980 1999-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1981
1982         * configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
1983         platforms with only /usr/include/values.h.
1984
1985         * acconfig.h: Removed unnecessary macros.
1986
1987         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
1988         from config.h.win32 to glibconfig.h.win32. Taken from glib 1.2
1989         branch.
1990
1991         * configure.in: Also accept _Pctime_r instead of ctime_r, while
1992         seraching for the right `_REENTRANT' flag. This is for Digital
1993         UNIX 4.0d. Taken from glib 1.2 branch.
1994
1995 Wed Mar 17 03:14:56 1999  Tim Janik  <timj@gtk.org>
1996
1997         * glib.h: added GLIB_CHECK_VERSION() macro similar to
1998         GTK_CHECK_VERSION().
1999
2000 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
2001
2002         * merges from glib-1-2:
2003         
2004 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
2005
2006         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
2007         to g_return_if_fail().
2008         (g_mem_profile):
2009         (g_mem_chunk_print):
2010         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
2011         messages.
2012
2013         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
2014         to g_return_if_fail().
2015         * grel.c (g_*): changed a bunch of g_assert() statements to
2016         g_return_if_fail() and added some extra ones to check relation != NULL.
2017
2018 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
2019
2020         * configure.in: check for working realloc (NULL,).
2021         * gmem.c (g_realloc): use malloc() for initial allocation on systems
2022         where realloc(NULL,) will not work (this is the case on SunOS, reported
2023         by Tom Geiger).
2024
2025 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
2026
2027         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
2028         flag around the call to g_hook_free() to avoid spurious
2029         warnings (happens during destruction phase).
2030
2031 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2032
2033         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
2034         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
2035
2036 1999-03-16  Timur Bakeyev  <mc@bat.ru>
2037
2038         * configure.in: Fix problem with pthread_create in libc, as running
2039         "gcc test.c -l " is not legal.
2040
2041 1999-03-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2042
2043         * tests/type-test.c: Added a test for the
2044         G_(U)?INT(16|32|64)_FORMAT and G_(MIN|MAX|MAXU)(SHORT|INT|LONG)
2045         macros.
2046
2047         * configure.in: Removed G_(U)?INT8_FORMAT again, as it can't be
2048         used for scanf.
2049
2050         * configure.in: Added the macros G_MAXU(SHORT|INT|LONG). I do not
2051         know how to handle these on platforms with /usr/include/values.h,
2052         but without /usr/include/limits.h. Please someone add this.
2053
2054
2055 1999-03-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2056
2057         * configure.in: Added the macros G_(U)?INT(8|16|32|64)_FORMAT to
2058         use for printf and (much more important) scanf format strings for
2059         the corresponding GLib types. 
2060
2061         * glib.h Added G_(U)?(SHORT|INT|LONG)_FORMAT for consistency. It
2062         however makes no sense to also provide G_(FLOAT|DOUBLE)_FORMAT, as
2063         they are different for printf (f for both) and scanf (f for float,
2064         lf for double). Defining G_INT_FORMAT makes sense however, as we
2065         might want to define gint to something different than int someday
2066         in the future. Idea from Sascha Brawer <sb@adasys.ch>.
2067         
2068 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
2069
2070         * gdate.c:
2071         Commented out debugging output.
2072
2073         * tests/Makefile.am, tests/date-test.c:
2074         Added test of the GDate module, based closely on testgdate.c.
2075
2076         * tests/Makefile.am:
2077         Bugfix - compile tests with @GLIB_DEBUG_FLAGS@.
2078
2079 1999-03-14  Raja R Harinath  <harinath@cs.umn.edu>
2080
2081         * configure.in (glibconfig.h): Remove widechar tests and defines.
2082         (fd_set): Change the grep for `fd_mask' to search for `fd_set'.
2083         * gerror.c (fd_mask): Remove conditional typedef.  It is not used
2084         elsewhere in the file.
2085         * gmain.c (fd_mask): Likewise.
2086
2087 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2088
2089         * configure.in: Test for posix threads first, then for dce threads.
2090
2091 1999-03-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2092
2093         * configure.in: Revamped the thread configure stuff. Now dce
2094         threads (old posix draft) are recogniced. This is necessary,
2095         because dce threads are in fact working quite differently from
2096         posix threads. Also changed the conditions for checking for MT
2097         safe functions a bit, because G_THREADS_IMPL_NONE still have to
2098         compile thread safe. NOTE: Please do not commit my change to
2099         glib-1-2/{acconfig.h,configure.in,config.h.win32} from 1999-03-03,
2100         as the current change will take care of that too.
2101
2102 Tue Mar  9 14:37:32 1999  Jeff Garzik  <jgarzik@pobox.com>
2103
2104         * Makefile.am, glib.h, gstack.c, gqueue.c,
2105           tests/Makefile.am, tests/queue-test.c, tests/stack-test.c:
2106         Added stack, queue ADTs and related tests.
2107
2108         * glib.h, glist.c:
2109         New g_list_delete() function.
2110
2111 Sat Mar  6 11:03:08 1999  Asbjorn Pettersen  <ape@lrdpf.spacetec.no>
2112
2113         * gutils.c (g_get_any_init): add OS/2 changes.
2114         change '\\' in HOME to '/'.
2115
2116 1999-03-03  Josh MacDonald  <jmacd@spin.dsl.pacbell.net>
2117
2118         * glib.def: g_spaced_primes_closest was omitted here, so I
2119         couldn't build Xdelta on Windows.
2120
2121 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2122
2123         * gutils.c (g_get_any_init): Fixed yet another bloody
2124         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
2125         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
2126         test better than that, but have no idea, how to do that easily.
2127
2128 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
2129
2130         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
2131         new one.
2132
2133         * configure.in: set glib version to 1.3.0.