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