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