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