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