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