aa8bb0fc7aa09ac4f48288e7dd4ca8339d2bd20f
[platform/upstream/glib.git] / ChangeLog.pre-2-0
1 Mon Jan 25 10:07:53 1999  Raph Levien  <raph@gimp.org>
2
3         * configure.in: (#define G_THREADS_IMPL...) Changed the #define,
4         adding the G_THREADS_IMPL_ prefix to $g_threads_impl_def because
5         it looked wrong to me and was breaking gimp compile.
6
7 Mon Jan 25 15:34:43 1999  Timur Bakeyev <mc@bat.ru>
8
9         * configure.in, gstrfuncs.c: Inverted logic of NO_SYS_SYGLIST_DECL -
10         now it's normal (see 1999-01-19 Josh MacDonald). Also, remove from
11         #include <signal.h> wrapper NO_SYS_SYGLIST - *sys_syglist[] declara-
12         tion hides there.
13
14 1999-01-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
15
16         * configure.in: Do not use the thread libs, when searching for
17         some functions, as this might require glib to always be linked
18         with the thread libs on some platforms.
19
20         * gutils.c (g_get_any_init): Don't set errno to zero and use it
21         only as the error code, if the function returned a value less
22         0. It might happen, that the call succeeds, even though the errno
23         is set during the call (i.e. it first looks for a passwd file,
24         which is not found). Submitted by Michael Natterer
25         <mitschel@cs.tu-berlin.de>. BTW: Sorry for all the mess with that
26         `getpwuid_r' change, but it had to be done once.
27
28 Sun Jan 24 10:33:30 1999  Tim Janik  <timj@gtk.org>
29
30         * gutils.c (g_get_any_init): reverted raja's changes, since they leaked
31         a struct passwd contents buffer and for the rest mostly substituted a
32         while loop with a bunch of gotos.
33         restored the getpwuid() code to what we had after my recent clean ups
34         ("Sat Jan 23 02:14:28 1999 Tim Janik"), module yosh's recent changes.
35         to feature solaris behaviour of directly returning errno, we don't
36         modify error anymore if it's > 0 and simply reset errno.
37         don't reset g_home_dir for !NATIVE_WIN32 && !NATIVE_WIN32.
38
39 1999-01-24  Raja R Harinath  <harinath@cs.umn.edu>
40
41         * gutils.c 
42         (g_get_any_init) [HAVE_GETPWUID_R && HAVE_GETPWUID_R_POSIX]: 
43         Hopefully got the error handling for `getpwuid_r' right.
44         (g_get_any_init) [HAVE_GETPWUID_R && !HAVE_GETPWUID_R_POSIX]:
45         Fix typo (change `pw == NULL' to `pw != NULL').
46         
47 Sun Jan 24 00:36:22 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
48
49         * ghash.c:
50         - Revert previous "fix" (which really just did things a
51           different way).
52         - (g_hash_table_remove): Don't need to support multiple values
53           for a single key.
54
55         * tests/hash-test.c:
56         Add test where hash function always returns a single value.
57         Add beginnings of tests for g_hash_table_foreach[_remove] and
58         g_hash_table_remove.
59
60 Sat Jan 23 20:40:06 PST 1999 Manish Singh <yosh@gimp.org>
61
62         * gutils.c: removed the #warning about MT without getpwuid_r
63
64         * configure.in: and moved it here
65
66 Sat Jan 23 22:45:59 1999  Jeff Garzik  <jgarzik@pobox.com>
67
68         * ghash.c (g_hash_table_lookup_node, g_hash_table_lookup,
69                    g_hash_table_insert, g_hash_table_remove,
70                    g_hash_table_lookup_extended):
71           - Fixed bug that overwrote nodes in hash buckets instead of
72             adding them to the hash bucket node list.
73             Hash tables now work as advertised.
74
75         (g_hash_table_resize):
76           - Use g_new0 instead of manual init.
77           - Space out code a bit for readability.
78
79         (g_hash_nodes_destroy):
80           - Replaced "if (!hash_node) return;" with
81             "if (hash_node) {do stuff}".
82             Testing takes up less code space than explicit call to
83             'return' before end of function.  (look at gcc -S)
84
85         Updated module header copyright to 1999.
86         New module macro G_HASH_BUCKET for (table,key)->bucket lookups.
87
88         * tests/hash-test.c:
89         - Add two new tests, one with strings as the keys and values, and
90           one with ints as the keys and values.  Tests indirect (strings)
91           and direct (ints) hashing.
92         - Cleanup unused junk left over from testglib.c.
93         - Converted a g_print call to g_assert_not_reached.
94         - Updated copyright to 1999.
95
96         * testglib.c, tests/string-test.c:
97         - Init 'tmp_string' var to NULL, silencing uninit-var warning.
98
99 1999-01-23  Raja R Harinath  <harinath@cs.umn.edu>
100
101         * gutils.c (g_get_any_init) [HAVE_GETPWUID_R]:
102         Rewrite not to look at `errno' if library call succeeds, since
103         `errno' is not reset to 0.
104         
105 Sat Jan 23 16:17:04 1999  Tor Lillqvist  <tml@iki.fi>
106
107         * glibconfig.h.win32: Update the magic values for
108         pthread_mutex_t size and initializer bytes to match the
109         latest version of pthreads for Win32.
110
111 Sat Jan 23 02:14:28 1999  Tim Janik  <timj@gtk.org>
112
113         * gutils.c (g_get_any_init): cleaned up the errno mess for
114         GETPWUID. we especially don't want to g_error() out here!
115         the warning for G_THREADS_ENABLED and !HAVE_GETPWUID_R isn't
116         gcc related.
117         if !HAVE_PWD_H and !NATIVE_WIN32, g_free the home dir before
118         resetting it to NULL, why are we doing this anyways?
119         reordered code a bit so we always provide defaults (except
120         for g_home_dir).
121
122 Thu Jan 21 12:40:11 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
123
124         * tests/{Makefile.am, string-test.c, strfunc-test.c}:
125         Separate string and strfunc tests, working towards goal of
126         having separate test for each of the GLib modules.
127         Add a couple GString length tests.
128
129 Thu Jan 21 09:36:05 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
130
131         * configure.in:
132         Use AC_PREREQ not AC_REQUIRE for autoconf version test.
133
134 1999-01-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
135
136         * gutils.c (g_get_any_init): Changed error handling again, as the
137         error is not always set in errno, it is the return value on some
138         systems. What an evil world.
139
140 Thu Jan 21 05:35:20 1999  Tor Lillqvist  <tml@iki.fi>
141
142         * gstrfuncs.c: Include signal.h only when the signal names will be
143         needed.
144
145 Wed Jan 20 22:09:59 EST 1999 Mandrake <mandrake@mandrake.net>
146
147         * configure.in / Makefile.am : made some adjustments for automake 1.4
148         and autoconf 2.13 (per suggestions made by  Raja R Harinath
149         <harinath@cs.umn.edu>)
150
151 Wed Jan 20 20:33:14 EST 1999 Mandrake <mandrake@mandrake.net>
152
153         * autogen.sh: automake 1.4 and libtool 1.2d notices.
154         (maybe I'll write an actual test for automake 1.4 later)
155
156 Wed Jan 20 15:05:25 PST 1999 Manish Singh <yosh@gimp.org>
157
158         * HACKING: new file
159
160         * Makefile.am: since we require automake 1.4 now, ditch the build
161         top-level first and just use SUBDIRS
162
163         * gmodule/Makefile.am: use noinst_LTLIBRARIES instead of overriding
164         the install rule
165
166 Wed Jan 20 16:16:01 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
167
168         * gutils.c (g_get_any_init):
169         Revert previous patch, move error value set line down to proper
170         place.  Caught by Elliot Lee <sopwith@redhat.com>.
171
172 Wed Jan 20 20:48:58 GMT 1999  Adam D. Moss  <adam@gimp.org>
173
174         * gutils.c (g_get_any_init): All gtk apps were broken
175         here on my setup.  I changed the error to a warning to at
176         least get things limping.
177
178 1999-01-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
179
180         * gutils.c (g_get_any_init): Use getpwuid_r with the right
181         signature, if available.
182
183         * configure.in, acconfig.h: Test for existance of getpwuid_r and
184         its signature.
185
186 Tue Jan 19 20:52:43 1999  Tor Lillqvist  <tml@iki.fi>
187         
188         * Makefile.am (EXTRA_DIST): Add new Win32 files.
189
190         * README.win32: Describe the conditional compilation macros.
191
192         * makefile.lcc: Removed.
193
194 1999-01-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
195
196         * configure.in: Moved test for localtime_r and rand_r to a place
197         after the determination of the G_THREAD_LIBS and use them for
198         finding those functions, necessary on systems with a different C
199         library libc_r for threaded progs, like FreeBSD 2.2.x. Info from
200         Timur Bakeyev <mc@bat.ru>.
201
202 Tue Jan 19 00:44:24 1999  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
203
204         * gstrfuncs.c (g_strsignal): The "extern char* sys_siglist"
205         declaration breaks systems with different declarations, like
206         mine (FreeBSD).  So, I added a configuration variable to decide
207         whether the declaration is neccesary.  Change also appears on
208         line 275 of configure.in.
209
210 Sun Jan 17 17:13:54 CST 1999 Shawn T. Amundson <amundson@gtk.org>
211
212         * Released GLib 1.1.13
213
214         * README:
215           INSTALL:
216           docs/glib-config: ver=1.1.13
217
218 Mon Jan 18 00:02:46 1999  Tim Janik  <timj@gtk.org>
219
220         * NEWS: updates for 1.1.13.
221
222 Sun Jan 17 17:15:59 1999  Tim Janik  <timj@gtk.org>
223
224         * gtree.c (g_tree_traverse): removed assertion about rtree->root being
225         NULL, so this function can be applied to unpopulated trees as well, fix
226         provided by Simon Kagedal <sika8225@csd.uu.se>.
227
228 Sun Jan 17 11:17:19 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
229
230         * glib.spec: add packager address
231
232 Sun Jan 17 11:10:05 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
233
234         * glib.spec: increment version number to 1.1.13
235
236 Sun Jan 17 16:14:03 1999  Tim Janik  <timj@gtk.org>
237
238         * glib.h (g_error): if !defined (G_LOG_DOMAIN) define G_LOG_DOMAIN as
239         ((gchar*) 0) instead of ((void*) 0) to silence egcs C++ mode, reported
240         by Seth Alves <alves@hungry.com>.
241
242 Sun Jan 17 14:13:52 1999  Tim Janik  <timj@gtk.org>
243
244         * glib.h: added a define G_HOOK_DEFERRED_DESTROY, to substitute a noop
245         GHookList.hook_destroy function.
246
247         * ghook.c (g_hook_destroy_link): don't really call hook_destroy if it
248         is G_HOOK_DEFERRED_DESTROY. for the case where we invoke hook->destroy()
249         we now clean up the hook completely afterwards, i.e. data, func and
250         destroy are immediately set to NULL and hook_free can't play with that
251         values anymore.
252
253         * gmain.c (g_source_add): set hook_destroy to G_HOOK_DEFERRED_DESTROY,
254         instead of using an ugly _noop() hack, this is to avoid an uneccessary
255         function invokation. set hook_free to g_source_destroy_func, this way
256         we always invoke the destroy notifiers for user_data and source_data
257         after execution of dispatch(). thus, g_source_destroy_func() will always
258         be called within the main_loop lock (this wasn't really assured
259         before), and can release and reaquire the look around destroy notifier
260         invokation.
261
262 Sun Jan 17 11:01:40 1999  Tor Lillqvist  <tml@iki.fi>
263
264         * config.h.win32 glibconfig.h.win32: Increment version number here
265         also.
266
267 Sun Jan 17 05:12:17 1999  Tim Janik  <timj@gtk.org>
268
269         * configure.in: incremented version number to 1.1.13, bin age 0,
270         interface age 0.
271
272         * glib.h: added hook_destroy member to struct _GHookList.
273
274         * ghook.c (g_hook_destroy_link): if the hook_list defines a hook_destroy
275         function, use that to marshal hook destruction notifiers.
276
277         * gmain.c: removed g_source_free_func and added g_source_destroy_func,
278         which marshalls the user_data and source_data destructors of sources
279         outside of the main_loop lock.
280         removed GIdleData struct since its sole member callback can be passed
281         as source_data directly.
282         added a gboolean return value to all g_source_remove* functions,
283         indicating whether the source could be removed, because these functions
284         don't issue warnings upon unseccessful removals themselves. this way at
285         least the caller gets a chance to warn upon failing removals.
286         (g_main_iterate): set in_check_or_prepare around calls to check() or
287         prepare().
288         (g_main_pending): simply return FALSE if called from within check() or
289         prepare().
290         (g_main_iteration): issue a warning if called from within check() or
291         prepare() and bail out with FALSE.
292         (g_main_run): likewise.
293         (g_source_remove_by_funcs_user_data): new function to remove sources by
294         user data and function table.
295         (g_idle_remove_by_data): new function to really remove idles only, since
296         g_source_remove_by_user_data would remove timeouts or other sources as
297         well.
298
299 1999-01-16  Tor Lillqvist  <tml@iki.fi>
300
301         * Merge in current Win32 version:
302
303         * README.win32: More text.
304
305         * config.h.win32 glibconfig.h.win32: Update to match the
306         corresponding generated files on Unix.
307
308         * makefile.msc: Update with new source files, and gthread
309         library. Use the compiler flag -MD instead of using -D_DLL and
310         /nodefaultlib:libc msvcrt.lib in the link phase.
311
312         * glib.def: Update to include new functions, drop removed ones.
313
314         * glib.h: Add comments about main loop and polling on Win32. (In
315         general, it's only for the GIMP's use.) Add Win32 IO Channel
316         functions. Remove the obsoleted old IO Channel stuff (which was
317         in #if 0 already).
318
319         * giowin32.c: New file.
320
321         * gmain.c: Include config.h, conditionalize <sys/time.h>
322         inclusion.  Add g_poll implementation for Win32 (only for the
323         GIMP's needs for now, it's hard or even impossible to be as clean
324         and generic as on Unix). Implement g_get_current_time on Win32. If
325         threads aren't supported, don't try to wake up main thread's
326         loop. On Win32, use a semaphore and not a pipe to wake up the main
327         loop.
328
329         * gmessages.c: On Win32, allocate a console window if the standard
330         output handle is invalid before writing to stdout, and reopen stdout
331         to that console window.
332
333         * giochannel.c: Conditionalize unistd.h inclusion. Some indentation
334         cleanup.
335
336         * gstrfuncs.c: Include <signal.h>.
337
338         * gutils.c: On Win32, also check the HOMEDRIVE and HOMEPATH
339         environment variables.
340
341 Sun Jan 17 01:06:38 1999 Timur Bakeyev <mc@bat.ru>
342
343         * configure.in: Add support for FreeBSD 2.2.x macro _THREAD_SAFE.
344
345 Wed Jan 13 11:27:24 PST 1999 Manish Singh <yosh@gimp.org>
346
347         * glib.h: don't use inline for !__GNUC__ case with g_warning,
348         g_error, and g_message wrappers since some compilers throw
349         away arguments in this case
350
351 Tue Jan 12 21:59:14 PST 1999 Manish Singh <yosh@gimp.org>
352
353         * acinclude.m4
354         * ltconfig
355         * ltmain.sh: upgrade to libtool 1.2d (with fixes for irix6 and osf)
356
357         * testglib.c: removed unused cruft
358
359 Tue Jan 12 09:57:06 PST 1999 Manish Singh <yosh@gimp.org>
360
361         * gdate.c: #warning isn't portable, check for gcc
362
363 1999-01-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
364
365         * gdate.c: Include config.h to get HAVE_LOCALTIME_R macro.
366
367         * configure.in: Moved function check back to the place, they've
368         been before.
369
370 1999-01-11  Jeff Garzik  <jgarzik@pobox.com>
371
372         * gstrfuncs.c:
373         Do not use vasprintf.
374
375         * configure.in, glib.h, testglib.c, tests/.cvsignore,
376           tests/Makefile.am, tests/alloca-test.c:
377         Do not use alloca.
378
379 1999-01-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
380
381         * configure.in: Test for localtime_r only after including the
382         right MT enabling CFLAGS (i.e. -D_REENTRANT on most systems).
383
384         * configure.in: Find right thread system on DG/UX. Thanks to Marc
385         J. Fraioli <fraioli@dg-rtp.dg.com> for hint. Finally removed the
386         stuff for -fstack-check, that didnt work anyway.
387
388         * gdate.c (g_date_set_time): Emit warning, if no localtime_r
389         function is available on thread enabled systems. Define ptm only,
390         if really needed, and assert on it.
391
392 Sat Jan  9 15:08:44 1999  Jeff Garzik  <jgarzik@pobox.com>
393
394         * testglib.c:
395         Make all aux functions static.
396
397         * tests/Makefile.am, tests/dirname-test.c, tests/type-test.c:
398         New tests dirname-test and type-test, from testglib.
399
400 Sat Jan  9 13:53:00 1999  Jeff Garzik  <jgarzik@pobox.com>
401
402         * configure.in:
403         Add checks for vasprintf, localtime_r.
404
405         * gdate.c (g_date_set_time):
406         Use localtime if localtime_r is not available.
407
408         * gstrfuncs.c (g_strdup_vprintf):
409         Use glibc vasprintf if possible; it's a bit faster than using
410         GLib routines, and makes output code a bit smaller.
411
412         * acconfig.h:
413         Remove HAVE_VSNPRINTF and HAVE_VPRINTF.  autoheader picks these
414         up automatically and puts them in config.h.in.
415
416 Thu Jan  7 15:14:08 1999  Owen Taylor  <otaylor@redhat.com>
417
418         * gmain.c (g_source_free_func): Call the source-specific
419         free function when the hook is freed not when it
420         is destroyed; this fixes a bug where a timeout destroyed
421         from itself would access already freed data.
422
423 1999-01-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
424
425         * gutils.c (g_get_any_init): Here we must replace getpwuid by
426         getpwuid_r, but as I do not know how for now, I just made a FIXME
427         note ;-)
428
429         * gdate.c (g_date_set_time): localtime --> localtime_r to make it
430         thread safe.
431
432         * configure.in: We do not need to check for broken solaris mutex
433         intitializer any longer. Provide a macro to show the used thread
434         implementation. Not nice, but this is needed until thread support
435         is completed here inside glib.
436
437 Tue Jan  5 12:23:52 PST 1999 Manish Singh <yosh@gimp.org>
438
439         * configure.in: ditch whitespace before GLIB_SYSDEFS #includes,
440         the # needs to be in column 1
441
442         * gthread/testgthread.c: cleanups
443
444         * tests/node-test.c: #include unistd.h for exit()
445
446 1999-01-04  Andrew T. Veliath  <andrewtv@usa.net>
447
448         * glib.h (g_array_insert_val): fix macro to be shorthand of
449         g_array_insert_vals.
450
451 Mon Jan  4 15:35:29 PST 1999 Manish Singh <yosh@gimp.org>
452
453         * acglib.m4: some echos interpret \n's and some don't. Deal with
454         accordingly.
455
456 Mon Jan  4 20:58:50 1999  Tim Janik  <timj@gtk.org>
457
458         * gscanner.c: eliminated extraneous "register" qualifiers in variable
459         declarations.
460
461         * gmain.c: #undef events and revents which may have been defined in
462         sys/poll.h for SVR3,4 compatibility on some AIX systems. fix been
463         provided by Philippe Defert <Philippe.Defert@cern.ch>.
464
465 Mon Jan  4 14:38:11 1999  Tim Janik  <timj@gtk.org>
466
467         * glib.h: adjusted the g_strdup_a, g_strndup_a and g_strconcat3_a macros
468         so their arguments get only evaluated once. changed g_strconcat3_a to
469         have the same semantics as g_strconcat, i.e. if a certain argument is
470         NULL, the rest of the parameter list is skipped.
471
472         * tests/alloca-test.c: removed #if/#endif G_HAVE_ALLOCA, we need to be
473         able to compile on all systems. added test for g_strconcat() semantics.
474
475         * we need a alloca() replacement for !G_HAVE_ALLOCA rsn!
476
477 Mon Jan  4 02:58:13 CST 1999 Shawn T. Amundson <amundson@gtk.org>
478
479         * Released GLib 1.1.12
480
481         * INSTALL:
482           NEWS:
483           README:
484           configure.in:
485           glib.spec:
486           docs/glib-config.1: version=1.1.12
487
488         * tests/Makefile.am: fixed so it works properly with
489           builddir and srcdir.
490
491 Sun Jan  3 01:38:14 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
492
493         * tests/Makefile.am:
494         add array-test.c, tree-test.c
495
496         * tests/array-test.c, tests/tree-test.c:
497         New module, tests array family
498
499         * tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
500           tests/string-test.c, tests/node-test.c:
501         Clean out cruft left over from testglib.
502
503 Sat Jan  2 22:42:25 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
504
505         * Makefile.am, configure.in, tests/*:
506         Added 'make check' tests, based on testglib code.
507
508 Sat Jan  2 19:52:45 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
509
510         * glib.h, testglib.c:
511         Added g_alloca, g_new_a, g_new0_a macros.
512
513 Sat Jan  2 16:45:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
514
515         * testglib.c: Added g_strdup_printf check.
516
517 Fri Jan  1 21:58:40 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
518
519         * glib.h:
520         (g_strdup_a, g_strndup_a): Handle NULL strings like g_strdup.
521         s/g_strconcat_a/g_strconcat3_a/ to reflect fixed number of args
522
523         * testglib.c:
524         Added g_strdup, g_strconcat checks.
525         Added str==NULL checks for alloca string macros.
526         s/g_strconcat_a/g_strconcat3_a/
527
528 Fri Jan  1 18:30:41 PST 1999 Manish Singh <yosh@gimp.org>
529
530         * testglib.c: made the alloca tests follow the testglib style
531
532         * Makefile.am: minor cleanups, mostly cosmetic
533
534 Fri Jan  1 20:43:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
535
536         * glib.h: added g_strndup_a macro
537
538         * testglib.c:
539         Added tests for new alloca-based string routines.
540         Reformatted a couple strings.
541
542 Sat Jan  2 02:20:59 1999  Tim Janik  <timj@gtk.org>
543
544         * ghook.c:
545         (g_hook_list_invoke):
546         (g_hook_list_invoke_check):
547         (g_hook_list_marshal_check):
548         (g_hook_list_marshal): avoid unneccessary extra hook referencing (the
549         explicit hook referencing became unneccessarry with my changes from
550         Mon Dec 21 21:48:29 1998).
551
552         * gmain.c (g_main_iterate): fixed reference counting leaks with
553         premature loop aborts.
554
555 Fri Jan  1 22:47:44 1999  Tim Janik  <timj@gtk.org>
556
557         * gscanner.c (g_scanner_unexp_token): handle G_TOKEN_IDENTIFIER_NULL
558         as G_TOKEN_IDENTIFIER.
559
560 Fri Jan  1 17:09:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
561
562         * configure.in, glib.h:
563         Added two new alloca-based function macros, g_strdup_a and
564         g_strconcat_a.  These are stack-based and much faster than
565         their g_malloc-based counterparts.  Kudos to Ulrich Drepper
566         for help on this one.
567
568 Wed Dec 30 18:24:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
569
570         * Released GLib 1.1.11
571
572         * INSTALL:
573           NEWS:
574           README:
575           configure.in:
576           docs/glib-config.1: version=1.1.11
577
578 1998-12-30  Raja R Harinath  <harinath@cs.umn.edu>
579
580         * glib.h (G[U]INT64_FROM_{LE,BE}):
581         Define to G[U]INT64_TO_{LE,BE}, not G[U]INT32_TO_{LE,BE}.
582
583 Fri Dec 25 19:56:33 PST 1998 Manish Singh <yosh@gimp.org>
584
585         * acglib.m4
586         * configure.in: provide defaults for POLL sysdefs, simple enums
587         don't work with bitwise logic. Reported by Daniel Skarda
588         <0rfelyus@atrey.karlin.mff.cuni.cz>
589
590 Wed Dec 23 00:43:25 CST 1998 Shawn T. Amundson <amundson@gtk.org>
591
592         * INSTALL:
593           NEWS:
594           README:
595           configure.in:
596           docs/glib-config.1: version=1.1.10
597
598 Wed Dec 23 04:18:11 1998  George Lebl  <jirka@5z.com>
599
600         * gmain.c: (g_get_current_time) don't cast to timeval since
601           timeval is for some reason not always a struct of longs, weird
602
603 Tue Dec 22 10:32:11 1998  Tim Janik  <timj@gtk.org>
604
605         * ghook.c (g_hook_first_valid): fixed buglet that could cause bogus
606         warnings.
607
608 Mon Dec 21 21:48:29 1998  Tim Janik  <timj@gtk.org>
609
610         * glib.h:
611         * gmain.c: there was a reference count race for hooks during invocation
612         loops. since all (known) hook loop implementations, do currently start
613         out with g_hook_first_valid() and iterate with g_hook_next_valid(),
614         g_hook_first_valid() will now return a referenced hook, and
615         g_hook_next_valid() will "eat" that, and eventually transfer it to
616         the next hook. <sigh> unfortunately this requires g_hook_next_valid()
617         to take the hook_list as additional argument.
618
619         * gmain.c (g_main_iterate): adjusted callers of g_hook_next_valid().
620
621 Mon Dec 21 03:48:04 1998  Tim Janik  <timj@gtk.org>
622
623         * gmain.c (g_main_iterate): default initialize source_timeout with -1
624         so we have a sane timeout value if (*prpare) doesn't set it.
625
626 Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
627
628         * glib.h gmain.c (G_PRIORITY_LOW): Add #defines defining
629         scale of priorities.
630
631 Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
632
633         * gmain.c (g_main_poll): Allocate space for pollfd's
634         _after_ adding poll wake-up-pipe record.
635
636         * gmain.c (g_main_add_poll): Changed name
637         of internal function g_main_add_poll_unlocked()
638         back from the non-sensical g_main_add_unlocking_poll().
639
640 Sat Dec 19 06:25:55 1998  Tim Janik  <timj@gtk.org>
641
642         * glib.m4: fixed a minor bug that would let configures bail out
643         if the MODULES argument contained newlines.
644
645         * acglib.m4: new file to be included by configure.in. it holds
646         special GLIB_ autoconfiguration macros, eventually some of the
647         easier ones should be moved into glib.m4, e.g. GLIB_IF_VAR_EQ,
648         GLIB_STR_CONTAINS or GLIB_ADD_TO_VAR.
649
650 Sat Dec 19 04:27:17 1998  Tim Janik  <timj@gtk.org>
651
652         * fixed up sys/poll.h and sys/types.h inclusions.
653
654 Sat Dec 19 03:10:50 1998  Tim Janik  <timj@gtk.org>
655
656         * fixed up gthread includes, cleaned up glibconfig.h a little bit.
657
658 Fri Dec 18 12:51:39 1998  Owen Taylor  <otaylor@redhat.com>
659
660         * gmain.c: Fix errors in computation of timeout
661         expiration times > 1sec.
662
663 1998-12-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
664
665         * configure.in (have_threads): Changed the last pthread_cond_init
666         to pthread_attr_init.
667
668 Fri Dec 18 00:03:17 1998  Tim Janik  <timj@gtk.org>
669
670         * glib.h:
671         * gmain.c:
672         (g_main_is_running): new function to check whether a main loop has been
673         quitted.
674         (g_main_new): added a gboolean argument to determine whether the loop
675         should be considered initially running or not. however, g_main_run ()
676         will still reset the main loops running state to TRUE upon initial
677         entrance.
678
679         * gmain.c:
680         (g_main_iterate): documented this function's purpose in 5 steps.
681         for step 2), flag sources as G_SOURCE_READY even if !dispatch and
682         check G_SOURCE_READY prior to (*prepare), so we don't call (*prepare)
683         on them multiple times.
684
685 Thu Dec 17 23:43:47 1998  Tim Janik  <timj@gtk.org>
686
687         * gmain.c (g_main_add_poll): reordered arguments, so GPollFD* comes
688         first, <sigh> (sorry Snorfle, i should have let you know in the first
689         place).
690         (g_main_dispatch): stack G_HOOK_FLAG_IN_CALL flags. call source's
691         destructor when destroying a source.
692
693 1998-12-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
694
695         * garray.c (g_ptr_array_remove_index): Fixed size in g_memmove,
696         reported by Alexander Larsson <alla@lysator.liu.se>.
697
698         * gmem.c: Fixed bug, that made compile fail for -DENABLE_MEM_PROFILE.
699
700 Wed Dec 16 23:04:26 CST 1998 Shawn T. Amundson <amundson@gtk.org>
701
702         * Released GLib 1.1.9
703
704         * INSTALL:
705           NEWS:
706           README:
707           configure.in:
708           glib.spec:
709           docs/glib-config.1: version=1.1.9
710
711 Wed Dec 16 22:32:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
712
713         * glib.h:
714           giounix.c: s/g_main_poll_add/g_main_remove_add/g
715                      s/g_main_poll_remove/g_main_remove_poll/g
716                      s/g_main_poll_add_unlocking/g_main_add_unlocking_poll/g
717           (from Tim Janik)
718
719 Wed Dec 16 20:04:10 PST 1998 Manish Singh <yosh@gimp.org>
720
721         * configure.in: check for pthread_attr_init in all cases, du4
722         needs this since most of the other functions are just #defines
723
724 Thu Dec 17 04:10:49 1998  Tim Janik  <timj@gtk.org>
725
726         * glib.h (G_LOCK_DECLARE_*): if !G_THREADS_ENABLED, eat the
727         trailing semicolon with a bogus function declaration, instead
728         of with a bogus variable declarations, so we avoid unused
729         variable warnings.
730
731 Wed Dec 16 07:49:16 PST 1998 Shawn T. Amundson <amundson@gtk.org>
732
733         * Released GLib 1.1.8  (CVS tag is GLIB_1_1_8a)
734
735 1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
736
737         * giounix.c (g_io_channel_unix_get_fd): Fixed small bug.
738
739 1998-12-16  Joel Becker  <jlbec@ocala.cs.miami.edu>
740
741         * glib.h, gscanner.c: changed func_data to user_data in
742         g_scanner_scope_symbol_foreach and associated friends, because
743         AIX headers #define func_data.
744
745 1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
746
747         * configure.in: Fixed stupid bug, that made
748         g_static_mutex_lock(*mutex) not work as expected.
749
750         * docs/glib-config.1: Updated to reflect the existence of gthread.
751
752         * gmain.c (g_main_poll_add_unlocking): Changed
753         g_main_poll_add_unlocked to g_main_poll_add_unlocking to match
754         semantic, (indeed, main_loop must be locked, when calling this
755         function). Removed the unlocking from the end of that function, as
756         that is not right. Made a 'HOLDS' comment above the function.
757
758 Wed Dec 16 03:16:58 1998  Tim Janik  <timj@gtk.org>
759
760         * configure.in: version bump to 1.1.8, binary age 0, interface age 0.
761
762         * glib.h: changed g_lock() to G_LOCK(), g_unlock() to G_UNLOCK() and
763         g_trylock() to G_TRYLOCK(), since these are macros that expand to
764         nothing with --disable-threads.
765         changed G_LOCK_DEFINE() to G_LOCK_DECLARE() and introduced
766         G_LOCK_DECLARE_STATIC() to achive the results of static G_LOCK_DECLARE().
767         changed semantics of g_thread_supported to g_thread_supported() so it
768         can be used as a function like g_module_supported(). the actuall
769         definition is still a macro that expands into a variable for
770         performance reasons though.
771         various indentation and coding style cleanups.
772
773         * configure.in: added --enable-threads that defaults to yes.
774
775         * gmutex.c: changed tests g_thread_supported to g_thread_supported (),
776         changed variable settings of g_thread_supported
777         to g_threads_got_initialized.
778
779         garray.c:
780         gcache.c:
781         gdataset.c:
782         gdate.c:
783         ghash.c:
784         glist.c:
785         gmain.c:
786         gnode.c:
787         gslist.c:
788         gstring.c:
789         gtree.c:
790         gutils.c:
791         changed s/g_lock/G_LOCK/, s/g_unlock/G_UNLOCK/,
792         s/static G_LOCK_DEFINE/G_LOCK_DECLARE_STATIC/.
793
794 Tue Dec 15 23:16:05 CST 1998 Shawn T. Amundson <amundson@gtk.org>
795
796         * INSTALL:
797           NEWS:
798           README
799           configure.in:
800           glib.spec:
801           docs/glib-config.1: Incremented version
802
803 Wed Dec 16 22:29:48 1998  Joel Becker  <jlbec@ocala.cs.miami.edu>
804
805         * configure.in: fixed the AIX thread checking.
806         Just an error on the wildcard.  BTW, -D_THREAD_SAFE
807         is correct for AIX.
808
809 Wed Dec 16 02:02:48 1998  Tim Janik  <timj@gtk.org>
810
811         * glib-config.in (lib_glib): fixed library and flag ordering for
812         --libs
813
814 Tue Dec 15 17:17:46 1998  Owen Taylor  <otaylor@redhat.com>
815
816         * glib.h giounix.c giochannel.c: Use an "inheritance"
817         scheme for IO channel memory allocation.h
818
819 1998-12-15  Havoc Pennington  <hp@pobox.com>
820
821         * gdate.c (g_date_prepare_to_parse): Solaris has a broken strftime
822         that produced garbage output for the test date I was using to
823         set up the parser. So use a different date that Solaris seems
824         to like.
825
826 1998-12-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
827
828         * configure.in: Dont complain, if --without-threads or
829         --with-threads=none is supplied; Test for pthread_attr_init
830         instead of pthread_cond_init, if threads seems to be supported by
831         standard glib. (CFLAGS): Use G_THREAD_CFLAGS for compiling of glib
832         as well.
833
834         * glib.h, gmutex.c: Changed private to private_key to avoid
835         problems when compiling with under C++.
836
837 1998-12-15  Jeff Garzik  <jgarzik@Pobox.com>
838
839         * configure.in:
840         bugfixes, correctly support --without-threads and friends
841
842         * gthread/testgthread.c: corrected 64-bitness problem
843
844 Tue Dec 15 10:40:09 1998  Owen Taylor  <otaylor@redhat.com>
845
846         * gnode.c glist.c gslist.c: Make sure all
847         calls to g_node_validate_allocator are within
848         current_allocator lock, so we have consistency
849         on that point. (Should not really matter,
850         but this way we match the comments)
851
852         * glist.c (g_list_free_1): Removed some lines
853         that should never have been committed. (For
854         debugging)
855
856 1998-12-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
857
858         * gthread/gthread-nspr.c, configure.in: Added new default thread
859         implementation on top of the mozilla nspr library.
860
861         * gmem.c, gmessaged.c, gthread/gthread.c, gthread/gthread-*.c:
862         Changed GStaticMutex and GStaticPrivate in gmem.c and gmessages.c
863         into GMutex and GPrivate resp. to make error reporting and use of
864         gmem possible in most (not all, though) gthread functions. Also
865         initialized the modules via new init functions.
866
867         * configure.in: Fixed syntax bug in definition of type
868         GStaticMutex.
869
870         * gthread/testgthread.c: Updated to work with nspr, but see note
871         there for remaining problems.
872
873 1998-12-10  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
874
875         * gmutex.c, glib.h: Now abort, if a mutex/cond/private is
876         allocated before the thread system is set up.
877
878         * gthread/gthread.c (g_thread_init): Removed g_thread_try_init(),
879         as it is not necessary. Changed the error message. Corrected logic
880         for g_thread_use_default_impl.
881
882         * gmutex.c (g_mutex_init): Keep the thread private data array
883         after calling g_thread_init().
884
885 1998-12-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
886
887         * gthread/testgthread.c (new_thread): Now also working for posix
888         threads; (wait_thread): Now a better implementation, that does not
889         use 100% CPU.
890
891         * Made the thread related code follow GNU coding standard.
892
893         * Made a comment (HOLDS:) above each function, that expects the
894         given locks to be held.
895
896         * Changed try_lock to trylock throughout.
897
898         * glib.c: Eventually removed the #if 0'ed code for old GStaticMutex.
899
900         * glib.c: Corrected g_trylock macro for G_DEBUG_LOCKS.
901
902         * gmain.c (g_main_poll_add_unlocked): first take a new poll record
903         form the poll_free_list.
904
905         * gmem.c, gstrfuncs.c, gutils.c: Made it MT safe.
906
907         * gthraed/*.c: Added copyright headers.
908
909         * gthread/gthread-solaris.c: do not use g_log for errors, as g_log
910         uses these module and endless recursions might happen, just use a
911         plain fprintf(stderr,...).
912
913         * gthread/gthread.c (g_thread_try_init): Call g_mutex_init().
914
915         * gthread/testgthread.c: updated test program.
916
917 Tue Dec  8 18:49:56 1998  Owen Taylor  <otaylor@redhat.com>
918
919         * Start at adding thread-safety. (mostly work
920         of Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
921
922         - configure.in now looks for a system thread implementation.
923         Currently support is included for POSIX threads
924         and Solaris threads. The default support is built
925         into a separate library -lgthread.
926
927         - The thread implementation can be modified by passing
928         a vector of functions g_thread_init().
929
930         - The default or supplied functions are used to
931         implement a small set of thread functions for
932         mutexes, condition variables, and thread-private
933         data.
934
935         - GLib now uses these functions to provide thread
936         safety. (In the sense that all global static
937         data is locked... individual structures must still
938         be locked by the caller.)
939
940 Sat Dec 12 19:08:59 1998  Tim Janik  <timj@gtk.org>
941
942         * configure.in: always define G_HAVE_INLINE if __cplusplus is
943         defined, reported by Wan-Teh Chang <wtc@netscape.com>.
944
945 Thu Dec 10 21:49:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
946
947         * Released GLib 1.1.7
948
949         * INSTALL:
950           NEWS:
951           README:
952           configure.in:
953           glib.spec:
954           docs/glib-config.1: Increased version to 1.1.7
955
956 Wed Dec  9 22:44:44 EST 1998 Joel Becker <jlbec@ocala.cs.miami.edu>
957
958         * Removed #define of G_COMPILED_WITH_DEBUGGING from glibconfig.h
959         It shouldn't be there, and it was causing a double #define.
960         (config.h defines it also)
961
962 Tue Dec  8 12:18:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
963
964         * Released GLib 1.1.6
965
966         * NEWS: updated
967
968 Mon Dec  7 23:10:41 PST 1998 Manish Singh <yosh@gimp.org>
969
970         * gmain.c: fixes to #undef HAVE_POLL case
971
972 1998-12-02  Havoc Pennington  <hp@pobox.com>
973
974         * gdate.c (g_date_set_month): If Julian is valid, we have to
975         update the dmy representation before setting the components
976         of it.
977         (g_date_set_day): Same.
978         (g_date_set_year): Same.
979
980 1998-12-02  Havoc Pennington  <hp@pobox.com>
981
982         * testgdate.c, testgdateparser.c: Two new files. This is kind of
983         ugly code, but I want to go ahead and make the tests available.
984         It isn't contaminating any other code. :-) Since one of these
985         is interactive and the other takes a while to run, I've kept
986         them separate from testglib for now.
987         * Makefile.am: Build gdate test programs.
988
989 1998-12-02  Havoc Pennington  <hp@pobox.com>
990
991         * gdate.c (g_date_valid): Rely on GDate::dmy and GDate::Julian
992         flags, rather than re-checking the validity of the actual
993         values. This should be the correct behavior, the old way was
994         leftover cruft.
995
996         * glib.h, gdate.c: Changed MDY to DMY throughout.
997
998 Sat Nov 28 12:53:47 1998  Owen Taylor  <otaylor@redhat.com>
999
1000         * Makefile.am configure.in acconfig.h giochannel.c
1001           glib.h glist.c gmain.c gutils.c:
1002
1003         - Revised GIOChannel to provide a generic virtual-function
1004           based interface.
1005         - Added unix fd-based GIOChannel's
1006         - Added generic main-loop abstraction
1007         - Added timeouts and idle functions using main-loop abstraction.
1008
1009 1998-12-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1010
1011         * glib.h:
1012         * gdate.c: changed `gpointer struct_tm_p' parameter of
1013         g_date_to_struct_tm back to `struct tm *tm' and forward declared
1014         `struct tm' in glib.h; yes, this is nice, we still need not
1015         include time.h.
1016
1017 Tue Dec  1 23:01:44 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1018
1019         * INSTALL:
1020           NEWS:
1021           README:
1022           glib.spec:
1023           docs/glib-config.1: Incremented versions to 1.1.6.
1024
1025 Wed Dec  2 02:10:59 1998  Tim Janik  <timj@gtk.org>
1026
1027         * gdate.c: s/time_t/GTime/ and s/g_print/g_message/
1028         include time.h.
1029
1030         * glib.h: removed #include <time.h>, changed time_t paramter of
1031         g_date_set_time() to time_t, changed struct tm parameter of
1032         g_date_to_struct_tm to `gpointer struct_tm_p'. yes, this is not
1033         nice, but including time.h actually breaks a bunch of code.
1034
1035         * incremented GLib version to 1.1.6.
1036
1037 1998-11-30  Havoc Pennington  <hp@pobox.com>
1038
1039         * gdate.c: New file, implements calendrical calculations.
1040
1041         * glib.h: Added declarations for GDate module.
1042
1043 Mon Nov 30 07:12:10 1998  Tim Janik  <timj@gtk.org>
1044
1045         * glib.h:
1046         * ghook.c: added g_hook_list_marshal_check() to eventually destroy
1047         hooks after they got marshalled.
1048
1049 Sun Nov 29 17:31:43 EST 1998  Jeff Garzik  <jgarzik@pobox.com>
1050
1051         * configure.in, Makefile.am, gmodule/Makefile.am:
1052         Put -DFOO stuff into Makefile.am INCLUDES.
1053
1054 Sun Nov 29 14:17:09 PST 1998 Manish Singh <yosh@gimp.org>
1055
1056         * configure.in: put debug -DFOO stuff into CPPFLAGS, not CFLAGS,
1057         so CFLAGS can be overridden at make time properly
1058
1059 Sat Nov 28 01:23:25 1998  Tim Janik  <timj@gtk.org>
1060
1061         * ghash.c: implemented incremental freezing facility.
1062
1063 Thu Nov 26 01:36:20 1998  Tim Janik  <timj@gtk.org>
1064
1065         * glib.h:
1066         * ghash.c: reverted the g_hash_table_set_key_freefunc() addition,
1067         since it's to specialized and needs to be resolved in a generic
1068         fashion.
1069
1070 Tue Nov 24 18:57:59 PST 1998 Manish Singh <yosh@gimp.org>
1071
1072         * applied glib-tml-981120-0, change log appended below.
1073
1074         * glibconfig.h.win32: passthrough 64-bit constants unchanged, VC++
1075         infers them
1076
1077 Fri Nov 20 22:26:43 1998  Tor Lillqvist  <tml@iki.fi>
1078
1079         * glib.h: Moved MSC pragmas from glib.h to glibconfig.h.win32.
1080         peer_offset field in WIN32 part of GIOChannel removed, need_wakeups
1081         added. Added "extern" to __declspec(dllimport).
1082
1083         * gutils.c: Initialise need_wakeups.
1084
1085         * glibconfig.h.win32: Pragmas moved here. Define G_GINT64_CONSTANT.
1086
1087         * gmodule/gmodule.def: Added g_module_build_path.
1088
1089         * gscanner.c: (g_scanner_cur_value) Move initailisation of v
1090         to before its use.
1091
1092         * glib.def: Added g_(s)list_sort.
1093
1094         * makefile.msc: A few more comments.
1095
1096 Tue Nov 24 14:05:47 EST 1998    Michael K. Johnson <johnsonm@redhat.com>
1097
1098         * glib.h: added GFreeFunc and g_hash_table_set_key_freefunc()
1099         prototype.
1100         * ghash.c: added g_hash_table_set_key_freefunc() implementation.
1101         Modified the prototypes of the functions g_hash_node_destroy() and
1102         g_hash_nodes_destroy(), and changed the functions that call them
1103         to match the new definitions.
1104         This changes no external interfaces, and should create no binary
1105         or source incompatibilities.  It does add a member to the
1106         GHashTable structure.
1107
1108 Tue Nov 24 09:40:00 1998  Tim Janik  <timj@gtk.org>
1109
1110         * glib.h: removed the GListAllocator type and its g_*_allocator_*()
1111         function variants (which weren't working anyways) in favour of a
1112         generic GAllocator type. new functions:
1113         g_allocator_new, g_allocator_free, g_slist_push_allocator,
1114         g_slist_pop_allocator, g_list_push_allocator, g_list_pop_allocator,
1115         g_node_push_allocator and g_node_pop_allocator.
1116
1117         * gstring.c: removed bogus slist allocator code.
1118         * gtree.c: maintain own list of free tree nodes and don't waste
1119         GSLists for that, removed bogus slist allocator code.
1120         * glist.c: use GAllocators for node allocation.
1121         * gslist.c: use GAllocators for node allocation.
1122         * gnode.c: use GAllocators for node allocation.
1123
1124         * gdataset.c: cleanups wrt automatic initialization.
1125
1126 Mon Nov 23 10:03:58 1998  Owen Taylor  <otaylor@gtk.org>
1127
1128         * glib.h garray.[ch]: added g_array_insert_vals() to
1129         insert elements at an arbitrary index, and
1130         g_array_insert_val() macro.
1131
1132 Sun Nov 22 17:07:03 1998  Tim Janik  <timj@gtk.org>
1133
1134         * glib.h:
1135         * gslist.c: new function g_slist_copy() to duplicate a list with all its
1136         data pointers.
1137         * glist.c: new function g_list_copy.
1138
1139 Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1140
1141         * INSTALL:
1142           NEWS:
1143           README:
1144           configure.in:
1145           glib.spec: Updated to version 1.1.5
1146
1147         * Released GLib 1.1.5
1148
1149 Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
1150
1151         * gdataset.c: There was a code path into g_data_set_internal
1152           through a function (g_datalist_id_set_full). Neither function
1153           checked for g_dataset_init having been run, but
1154           g_data_set_internal used the memchunk. I added
1155           a check into g_data_set_internal so it will do the
1156           initialization if needed. (There's probably a better way.)
1157
1158 Mon Nov 16 07:48:06 1998  Tim Janik  <timj@gtk.org>
1159
1160         * glib.h (g_bit_nth_msf): fixed off-by-one error, so we don't waste
1161         a loop iteration if (-1) was passed, reported by Andreas Bombe
1162         <andreas.bombe@munich.netsurf.de>.
1163
1164 Fri Nov 13 15:17:34 1998  Owen Taylor  <otaylor@redhat.com>
1165
1166         * glist.c gslist.c glib.h: Added g_list_sort() and
1167         g_slist_sort() to merge sort GLists and GSLists.
1168         Submitted by Sven Over <sven.over@ob.kamp.net>
1169         over a year ago!
1170
1171         * testglib.c: Test the new sort functions.
1172
1173 Wed Nov 11 23:23:22 EST 1998 Jeff Garzik <jgarzik@pobox.com>
1174
1175         * Makefile.am : INCLUDES is the right way to add to CFLAGS, not
1176         DEFS.  Also there are bugs with '+=' in makefiles.
1177         Got rid of DEFS line by moving G_LOG_DOMAIN setting into INCLUDES.
1178         Removed redundant -I from INCLUDES.
1179
1180 Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net>
1181
1182         * docs/*.sgml : Batch of new documentation that should be easier
1183         to maintain and extend. Plus generate whatever sort of doc file
1184         you would like. I didn't change the Makefile stuff as I'm not sure
1185         what default doc type people want. Oh and this is all DocBook format.
1186         Enjoy!
1187
1188 Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org>
1189
1190         * configure.in: use __extension__ for long long on gcc >= 2.8 and
1191         egcs, and provide a G_GINT64_CONSTANT wrapper so -ansi -pedantic
1192         compiles clean.
1193
1194         * glib.h: make the endian x86 asm __const__ so the compiler can do
1195         better optimizations. Also remove the cc clobber, these shouldn't
1196         be changing condition codes. Ditch some redundant casts. Add an
1197         optimization for 64-bit endian conversions in x86. Use constant
1198         wrapper for the generic method.
1199
1200         * testglib.c: use constant wrappers for 64-bit constants
1201
1202 1998-11-04  Phil Schwan  <pschwan@cmu.edu>
1203
1204         * configure.in: Added 'strncasecmp' to the list of functions to be
1205         searched for.
1206         * glib.h: Added a prototype for 'g_strncasecmp'
1207         * gstrfuncs.c: (g_strncasecmp) new function modeled closely after
1208         'g_strcasecmp'
1209
1210 Wed Nov  4 15:06:44 PST 1998 Manish Singh <yosh@gimp.org>
1211
1212         * config.h.win32 (new file)
1213         * glibconfig.h.win32
1214         * glib.def
1215         * makefile.msc: applied glib-tml-981104, win32 sync
1216
1217 1998-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1218
1219         * glib.h:
1220         * garray.c:
1221         (g_array_remove_index): new function for removing an entry from an
1222         array while preserving the order
1223         (g_array_remove_index_fast): new function for removing an entry
1224         from an array. the order might be distorted
1225         (g_ptr_array_remove_index_fast, g_ptr_array_remove_fast): new
1226         functions; working similiar to the above. (they have the semantic
1227         of the old g_ptr_array_remove[_index] functions)
1228         (g_ptr_array_remove_index, g_ptr_array_remove): new semantic. now
1229         the order of the elements in the array is not changed
1230         (g_byte_array_remove_index, g_byte_array_remove_index_fast): new
1231         functions; byte_array wrapper for g_array_remove_index[_fast]
1232
1233 Sun Nov  1 23:00:18 PST 1998 Manish Singh <yosh@gimp.org>
1234
1235         * glib.h
1236         * configure.in: endian macros defined using the glibconfig.h
1237         mechanism now
1238
1239         * ghook.c: casts for GHookFunc and GHookCheckFunc to avoid warnings
1240
1241 Sat Oct 31 20:14:22 PST 1998 Manish Singh <yosh@gimp.org>
1242
1243         * applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog
1244         entry appended below)
1245
1246         * testglib.c
1247         * gstrfuncs.c
1248         * glib.h: use G_HAVE_GINT64, since HAVE_GINT64 is gone
1249
1250         * gmessages.c
1251         * gscanner.c: #include <config.h> in here too, for HAVE_UNISTD_H
1252
1253 1998-11-01 Tor Lillqvist <tml@iki.fi>
1254
1255         * glib.def: Added the new functions.
1256
1257         * gutils.c:
1258         (g_getenv): Better implementation on Win32. No loop necessary.
1259         (g_get_any_init): Use P_tmpdir if defined as tmp directory. Don't
1260         set home dir always to NULL on Win32.  Don't use tmp directory as
1261         last resort home directory, but return NULL if no home
1262         directory is known (application must check).
1263
1264         * makefile.msc: Better touch command, just COPYing a single file
1265         sets the timestamp from that file, which isn't what touching should
1266         do.
1267
1268 1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
1269
1270         Land glib-rrh-19981025-0.patch.
1271         * Makefile.am (glibconfig.h): New rule.
1272         (stamp-gc-h): New rule.  Generate `glibconfig.h'.
1273         * configure.in (AM_CONFIG_HEADER): It is now `config.h'.
1274         (HAVE_BROKEN_WCTYPE): On Solaris, look for iswalnum in -lw before
1275         concluding "broken wctype".
1276         (glibconfig.h): Use AC_OUTPUT_COMMANDS to put generation code into
1277         config.status.
1278         * glib.h: Remove a lot of tests and defines.  All these have been
1279         moved to `configure.in (glibconfig.h)'.
1280         * gerror.c: Include <config.h>.
1281         * gmem.c: Likewise.
1282         * gstrfuncs.c: Likewise.
1283         * gutils.c: Likewise.
1284
1285 Sat Oct 31 05:08:26 1998  Tim Janik  <timj@gtk.org>
1286
1287         * glib.h: removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros.
1288         added macros G_STRUCT_OFFSET(), G_STRUCT_MEMBER_P() and
1289         G_STRUCT_MEMBER() for handling structure fields through their offsets.
1290         (struct _GHookList): added a hook_free function member, that can be used
1291         to free additional fields in derived hook structures.
1292         g_hook_free(): if hook_list->hook_free != NULL, call this function prior
1293         to freeing the hook. (this functionality should have been there in the
1294         first place, it just got forgotten as an implementation detail).
1295
1296 Wed Oct 28 00:49:32 PST 1998 Manish Singh <yosh@gimp.org>
1297
1298         * glib.h: G_BREAKPOINT for alpha from Robert Wilhelm
1299         <robert@physiol.med.tu-muenchen.de>
1300
1301 Tue Oct 27 07:25:53 1998  Tim Janik  <timj@gtk.org>
1302
1303         * glib.h:
1304         * gscanner.c:
1305         (g_scanner_sync_file_offset): new function for file input.
1306         rewind the filedescriptor to the current buffer position and blow
1307         the file read ahead buffer. usefull for third party uses of our
1308         filedescriptor, which hooks onto the current scanning position.
1309         (this became neccessary with the implementation of buffered
1310         reads).
1311         (g_scanner_input_file):
1312         (g_scanner_input_text): automatically blow the read ahead buffer.
1313         (g_scanner_get_char): blow the read ahead buffer when the end of
1314         input is reached, i.e. a '\000' char is read.
1315
1316 Tue Oct 27 00:27:31 PST 1998 Manish Singh <yosh@gimp.org>
1317
1318         * glib.h: get rid of duplicate #g_htonl and friends in the
1319         NATIVE_WIN32 part
1320
1321 Mon Oct 26 22:42:01 PST 1998 Manish Singh <yosh@gimp.org>
1322
1323         * glibconfig.h.win32
1324         * gutils.c
1325         * makefile.msc: win32 patch from Tor Lillqvist (glib-tml-981027-0),
1326         fixes some minor win32 buglets
1327
1328 Mon Oct 26 22:12:03 PST 1998 Manish Singh <yosh@gimp.org>
1329
1330         * glib.h: reimplemented the endian stuff, using inline asm
1331         for x86. #define g_htonl and friends.
1332
1333         * testglib.c: new tests for the endian stuff
1334
1335         * configure.in: care for AIX in gmodule linker flags test (from
1336         Joel Becker <jlbec@raleigh.ibm.com>). Check $host_os for linux
1337         instead of existance of /usr/include/linux
1338
1339         * gutils.c: buh-bye evil warning. Thou hast been #ifdef'd out
1340         of thine existance!
1341
1342 Tue Oct 27 03:00:50 1998  Tim Janik  <timj@gtk.org>
1343
1344         * glib.h: removed dummy structure definitions for struct _GCache,
1345         _GTree, _GTimer, _GMemChunk, _GListAllocator and _GStringChunk.
1346
1347         * gutils.c: implement glib's inline functions _after_ all include
1348         statements have been processed.
1349         removed Tor's MAXPATHLEN check since there already was one supplied
1350         further down in this file.
1351         (LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32,
1352         since lcc maybe used on other platforms as well. why in hell is this
1353         stuff required?
1354         (g_get_any_init): for windows, if the user name is supplied, use it as
1355         realname also.
1356         in general, if there is no homedir specified, use the tmpdir that
1357         we already figured.
1358
1359         * gtimer.c (g_timer_elapsed): changed a g_assert() statement to
1360         g_return_if_fail().
1361
1362         * applied glib-tml-981020-0.patch for WIN32 portability, added some
1363         comments and g_return_if_fail() statements, minor indentation fixes.
1364         ChangeLog entry from Tor Lillqvist is appended.
1365
1366         * glib.h (struct dirent): use lower case structure members.
1367
1368         * glib.h:
1369         * makefile.lcc:
1370         * makefile.msc:
1371         s/COMPILING_GLIB/GLIB_COMPILATION/
1372
1373 1998-10-20: Tor Lillqvist <tml@iki.fi>
1374
1375         * README.win32 glib.def gmodule.def
1376         * glibconfig.h.win32 gmodule/gmoduleconf.h.win32:
1377         New files for the Windows port. The .def files list exported
1378         symbols for the Microsoft linker and compatibles.
1379
1380         * configure.in:
1381         Added checks for some platform-dependent headers: pwd.h sys/param.h
1382         sys/select.h sys/time.h sys/times.h unistd.h, and the function lstat.
1383
1384         * gerror.c:
1385         Conditionalized inclusion of system-dependent headers. Changes
1386         for Windows: no gdb to do a stack trace. Just call abort().
1387
1388         * glib.h:
1389         Changes for Windows:
1390
1391         Added macros G_DIR_SEPARATOR, G_DIR_SEPARATOR_S for
1392         platform-dependent file name syntax elements. Added macros
1393         G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S for
1394         platform-dependent search path syntax conventions.
1395
1396         Added pragmas for Microsoft C to make it more pedantic.
1397
1398         Marked GLib's global variables for export from DLL.
1399
1400         Added the function g_strescape that escapes backslashes.
1401
1402         Added functions g_path_is_absolute and g_path_skip_root to
1403         handle platform-dependent file name syntax.
1404
1405         Added the function g_getenv that expands environment variables
1406         that contain references to other environment variables, as is
1407         typical on Windows NT.
1408
1409         Added the GIOChannel structure which is used to encapsulate the
1410         IPC mechanism used by the GIMP's plug-ins, and possibly other
1411         things later. On Unix a GIOChannel encapsulates just a file
1412         descriptor. On Windows it contains a file handle from _pipe() and a
1413         few other things related to the implementation of gdk_input_add
1414         and GIMP plug-in communication. Subject to change.
1415
1416         Removed duplicate declarations of the version variables.
1417
1418         For the Microsoft compiler, declare own implementation of
1419         ftruncate and the <dirent.h> functions.
1420
1421         * gmem.c:
1422         Define a symbolic name  for the profiling table size.
1423
1424         * gmessages.c:
1425         Conditionalized inclusion of unistd.h. On Windows, output using
1426         stdio to stdout.
1427
1428         * gscanner.c:
1429         Conditionalized inclusion of unistd.h. Added changes for
1430         Microsoft C. Added CR to the skipped character set. Added small
1431         workaround for MSC compiler bug in g_scanner_cur_value.
1432
1433         * gstrfuncs.c:
1434         Added the function g_strescape, which escapes the backslash
1435         character. Needed especially when printing Windows filenames.
1436
1437         * gtimer.c:
1438         Conditionalized inclusion of unistd.h and sys/time.h. Added
1439         implementations for Windows.
1440
1441         * gutils.c:
1442         Conditionalized inclusion of platform-dependent headers. Use
1443         the platform-independent file name syntax macros.
1444         Conditionalize code on platform-dependent features. Added the
1445         functions g_path_is_absolute g_path_skip_root and g_getenv.
1446         Added the GIOChannel-related functions. Added
1447         compiler-dependent Unix compatibility functions for Windows.
1448
1449         * makefile.lcc makefile.msc:
1450         New files. Compiler-specific makefiles for LCC-Win32 and
1451         Microsoft C. Only Microsoft C is actually supported currently.
1452
1453         * testglib.c:
1454         Added pathname check cases for Windows. Added workaround for
1455         bug in the Microsoft runtime library. Improved some tests a bit.
1456
1457 Sun Oct 25 01:24:01 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1458
1459         * Released GLib 1.1.4
1460
1461         * docs/Makefile.am:
1462         * docs/.cvsignore
1463         * docs/glib-config.1:
1464         * docs/glib.texi: Moved docs from gtk and created glib-config.1
1465         from gtk-config.1 in gtk
1466
1467         * configure.in:
1468         * Makefile.am:
1469         * sanity_check: added in docs directory, change rule 'release'
1470         to 'snapshot' and created a new 'release' rule for doing the
1471         distribution.  Added in a 'sanity' rule.
1472
1473         * NEWS:
1474         * README:
1475         * INSTALL: Updated for the release
1476
1477 Sun Oct 25 07:30:10 1998  Tim Janik  <timj@gtk.org>
1478
1479         * gscanner.c:
1480         (g_scanner_peek_next_char):
1481         (g_scanner_get_char): no more characters are available if read() returns
1482         anything less than 1, not only on 0 return.
1483
1484         * glib.h:
1485         * gstrfuncs.c: final API cleanup of string arrays to suit sopwith's
1486         argument order requirements.
1487         (g_strsplit): renamed from g_str_array_split().
1488         (g_strjoinv): renamed from g_str_array_joinv(), string array is
1489         now passed as last parameter. removed `const' qualifier from string
1490         array pointer (again).
1491         (g_strjoin): new function from sopwith to concatenate strings with
1492         an additional seperator.
1493         (g_strfreev): renamed from g_str_array_free.
1494
1495 Sat Oct 24 22:23:04 PDT 1998 Manish Singh <yosh@gimp.org>
1496
1497         * gnode.c: small fix to g_node_children_foreach to make it work right.
1498         From Paco Moya <paco@cadnotebk17.eecs.berkeley.edu>
1499
1500 Wed Oct 21 19:22:58 1998  Tim Janik  <timj@gtk.org>
1501
1502         * configure.in (G_MODULE_HAVE_DLERROR): reverted part of the changes
1503         from Sebastian Wilhelmi (1998-10-20). don't specify a specific loading
1504         behaviour (i.e. RTLD_NOW) when we are not sure whether it is supplied.
1505         changed the return value from (!f2 && f1) to (!f2 || f1) so we default
1506         to not needing an underscore. reverted the extra plugin.c building,
1507         because .lo files are not ELF libraries, this can't work. This needs
1508         further investigation on Solaris...
1509
1510 Wed Oct 21 17:03:05 1998  Tim Janik  <timj@gtk.org>
1511
1512         * glib.h:
1513         * gstrfuncs.c: API cleanups of the new g_str* functions for consistency
1514         with the existing naming scheme for g_str* functions. grouped the g_str*
1515         functions that will return a newly allocated string seperatedly. all of
1516         the in_place arguments were skipped, the caller is supposed to pass a
1517         g_strdup()ed string if he wants to retrive a new copy. indentation and
1518         coding style fixups. added some g_return_if_fail() statements.
1519         string array functions are prefixed with g_str_array_.
1520         (g_strdelimit): return the modified string like all other g_str*
1521         functions, that operate in place.
1522         (g_strchug): renamed from g_str_chug(), removed in_place argument.
1523         (g_strchomp): renamed from g_str_chomp(), removed in_place argument.
1524         (g_strstrip): renamed from g_str_strip(), removed in_place argument.
1525         (g_str_array_join): renamed from g_strconcatv(), since it actually
1526         operates on a string array and has totaly different semantics from
1527         g_strconcat(). check for separator != NULL, don't segfault if the first
1528         string is NULL. removed the `const' from the string array that's passed,
1529         so users can operate on gchar** string arrays.
1530         (g_str_array_split): renamed from g_str_split() because we actually
1531         produce a string array. reimplemented this function for efficiency.
1532         removed macro aliases g_str_joinv and g_str_join.
1533
1534 1998-10-20  Elliot Lee  <sopwith@redhat.com>
1535
1536         * glib.h, gstrfuncs.c: Move string join/split/free routines from
1537         libgnome/gnome-string, rename, and add g_str_chug.
1538
1539 1998-10-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1540
1541         * configure.in: made the check for needed _ in module's func-names
1542         work on solaris. (G_MODULE_NEED_USCORE must be set outside
1543         AC_CACHE_VAL, dlopen(0,0) refused to work on solaris).
1544
1545 Tue Oct 20 03:32:58 PDT 1998 Manish Singh <yosh@gimp.org>
1546
1547         * configure.in
1548         * acconfig.h: added test for endianness
1549
1550         * glib.h: #define endian macros for system and some conversions
1551         between byte order
1552
1553 Thu Oct  8 06:47:27 1998  Tim Janik  <timj@gtk.org>
1554
1555         * glib.h:
1556         * gdataset.c: removed functions g_dataset_id_set_destroy and
1557         g_datalist_id_set_destroy and macros g_dataset_set_destroy and
1558         g_datalist_set_destroy.
1559         added new functions g_dataset_id_remove_no_notify and
1560         g_datalist_id_remove_no_notify plus associated macros
1561         g_dataset_remove_no_notify and g_datalist_remove_no_notify, which
1562         will remove a certain data portion without invokation of its destroy
1563         notifier, this should only be used in very controled circumstances.
1564
1565 Wed Oct  7 05:31:24 1998  Tim Janik  <timj@gtk.org>
1566
1567         * glib.h:
1568         removed the #pragma } statement after extern "C" {. use
1569         (c-set-offset 'inextern-lang 0) to fixup emacs cc-mode indentation.
1570
1571         * glib.h:
1572         * ghook.c: API and code cleanups. changed the G_HOOK_ACTIVE and
1573         G_HOOK_IN_CALL enum vals to G_HOOK_FLAG_ACTIVE and G_HOOK_FLAG_IN_CALL.
1574         changed the G_HOOK_IS_ACTIVE() and G_HOOK_IS_IN_CALL() macros to
1575         G_HOOK_ACTIVE() and G_HOOK_IN_CALL().
1576         fixed the g_hook_find* functions, so they iterate over non-active
1577         hooks as well.
1578         (g_hook_first_valid):
1579         (g_hook_next_valid): added an extra argument gboolean may_be_in_call,
1580         which indicates whether G_HOOK_IN_CALL() hooks are considered valid
1581         or not. these two functions are meant as iterators for the hook list
1582         invocation, so they need to a) provide functionality to implement
1583         may_recurse bahaviour and b) only walk active hooks.
1584
1585 Tue Oct  6 14:29:47 1998  Tim Janik  <timj@gtk.org>
1586
1587         * gmem.c (g_malloc0): fixed memory offsett when ENABLE_MEM_CHECK is
1588         defined and ENABLE_MEM_PROFILE is not (patch from Martin Pool
1589         <mbp@wistful.humbug.org.au>).
1590
1591 Sat Oct  3 01:18:10 1998  Tim Janik  <timj@gtk.org>
1592
1593         * glib.h:
1594         * ghook.c:
1595         (g_hook_list_invoke):
1596         (g_hook_list_invoke):
1597         (g_hook_list_marshal): properly handle the first valid hook to call,
1598         it maybe IN_CALL already.
1599         (g_hook_list_marshal): minor name change.
1600
1601 Fri Oct  2 23:21:21 1998  Tim Janik  <timj@gtk.org>
1602
1603         * glib.h:
1604         * ghook.c: renamed GHook.id to GHook.hook_id so we don't get troubles
1605         with ObjC which reserves "id" as a keyword (Raja R Harinath
1606         <harinath@cs.umn.edu>).
1607
1608 Wed Sep 30 10:53:03 1998  Tim Janik  <timj@gtk.org>
1609
1610         * Makefile.am: added ghook.c.
1611
1612         * glib.h:
1613         * ghook.c: generic callback maintenance functions.
1614
1615         * glib.h: define G_GNUC_UNUSED.
1616
1617 Fri Sep 25 00:04:37 1998  Tim Janik  <timj@gtk.org>
1618
1619         * configure.in: version bump to 1.1.4, binary age 0, interface age 0.
1620
1621         * glib.h (struct _GScanner): dumped peeked_char and text_len in favour
1622         of *text_end and *buffer for buffered read()s.
1623
1624         * gscanner.c: changed peeking and retrival of next character so we
1625         have buffered reads. fixed minor bug with number parsing error
1626         reporting. made some static!!! variables local ones (why did we use
1627         static temporary variables in the lowlevel tokenization code anyways?).
1628
1629 Mon Sep 21 23:23:10 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1630
1631         * Released GLib 1.1.3
1632
1633 Mon Sep 21 07:43:13 1998  Tim Janik  <timj@gtk.org>
1634
1635         * glib.h: added g_renew() which works as g_new() for g_realloc().
1636
1637 Mon Sep 21 02:22:12 1998  Tim Janik  <timj@gtk.org>
1638
1639         * NEWS file update for upcoming release of GLib + GModule
1640         version 1.1.3, binary age 0, interface age 0. (GModule uses
1641         the same version numbers as GLib.)
1642
1643         * glib.h: swap the inclusion of of float.h and limits.h to work
1644         around a egcs 1.1 oddity on Solaris 2.5.1 (fix provided by
1645         Per Abrahamsen  <abraham@dina.kvl.dk>).
1646
1647         * glib.h:
1648         * gscanner.c: renamed the GValue union to GTokenValue, this should
1649         not affect source compatibility in most cases.
1650
1651         * ghash.c: added some g_return_if_fail() statements. make
1652         g_hash_table_lookup_node() an inline function so we save an extra
1653         function invokation on lookups.
1654
1655 Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
1656
1657         * ltmain.sh: Patch to libtool-1.2b to make --disable-static
1658         work.
1659
1660 Sun Sep 20 02:09:44 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
1661
1662         * glib.h: New function g_hash_table_foreach_remove is similar to
1663         g_hash_table_foreach, but the callback's return value indicates
1664         whether to remove the element (if TRUE) or not (if FALSE).
1665         Returns the number of elements deleted.
1666
1667 Fri Sep 18 11:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
1668
1669         * glib.h
1670         * gstrfuncs.c: added g_memdup implementation
1671
1672 Fri Sep 18 18:46:14 1998  Tim Janik  <timj@gtk.org>
1673
1674         * glib.h:
1675         * gdataset.c: make the datalists a safe type (not using a generic
1676         gpointer) by expecting a GData* argument in the g_datalist functions.
1677         provide g_dataset_foreach() and g_datalist_foreach() functions that
1678         allow a GDataForeachFunc function to walk the data lists.
1679         (g_dataset_destroy_internal): made this function truely reentrant (i.e.
1680         can be called from within destroy notifiers as well).
1681         the *_foreach functions are _not_ reentrant (unless all the other
1682         dataset and datalist functions).
1683
1684 Fri Sep 18 03:41:20 1998  Tim Janik  <timj@gtk.org>
1685
1686         * gtree.c (g_tree_new): check for key_compare_func != NULL (reported
1687         by Michal Kara).
1688
1689 Thu Sep 17 18:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
1690
1691         * config.h.in: removed from repository
1692
1693         * install-sh
1694         * missing
1695         * mkinstalldirs: updated to latest automake version
1696
1697 Thu Sep 17 06:36:25 1998  Tim Janik  <timj@gtk.org>
1698
1699         * glib.h:
1700         * gdataset.c: implemented g_datalist_* along the lines of g_dataset,
1701         but operates on an opaque gpointer *datalist; pointer, e.g. for the
1702         implementation of GtkObject named data.
1703         we cache a certain portion of the already freed data entries now, to
1704         gain a slight performance improve with data reallocation.
1705
1706 Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
1707
1708         * Makefile.am glib-config.in l*: Update to libtool-1.2b,
1709         change library versioning scheme to drop LT_RELEASE
1710         from the -l line, while keeping it in the soname.
1711
1712 Fri Sep 11 02:11:46 1998  Tim Janik  <timj@gtk.org>
1713
1714         * glib.h: explicitely include the prototypes for inline functions
1715         to cure gcc warnings for -Wmissing-prototypes.
1716
1717 Wed Sep  9 02:52:04 PDT 1998 Manish Singh <yosh@gimp.org>
1718
1719         * configure.in: added -posix check for NeXTStep
1720
1721 Tue Sep  8 05:04:06 1998  Tim Janik  <timj@gtk.org>
1722
1723         * glib.h: abandon the use of ATEXIT(), we keep the fallback
1724         macros for backwards compatibility. people ought to use g_atexit().
1725
1726         * gutils.c (g_atexit): new function to take over the implementation
1727         of ATEXIT. this function is guarranteed to succeed, similar to
1728         g_malloc().
1729
1730 Mon Sep  7 20:07:38 PDT 1998 Manish Singh <yosh@gimp.org>
1731
1732         * configure.in: comment the -std1 check and save LIBS properly
1733
1734 Mon Sep  7 07:53:21 1998  Tim Janik  <timj@gtk.org>
1735
1736         * configure.in: check for all three inline keywords individually.
1737
1738         * glib.h: inlining hassle. for compilers that don't allow the `inline'
1739         keyword, mostly because of strict ANSI C compliance or dumbness, we try
1740         to fall back to either `__inline__' or `__inline'.
1741         we define G_CAN_INLINE, if the compiler seems to be actually *capable*
1742         to do function inlining, in which case inline function bodys do make
1743         sense. we also define G_INLINE_FUNC to properly export the function
1744         prototypes if no inlinig can be performed. we special case most of the
1745         stuff, so inline functions can have a normal implementation by defining
1746         G_INLINE_FUNC to extern and G_CAN_INLINE to 1.
1747
1748         * ltconfig: (compiler PIC flag test): special case linux for non
1749         aout systems to honour lcc's position independant code (cases
1750         "linux*aout)" and "linux*)" got added). (this needs to go into
1751         libtool which does an advanced test, checking for __LCC__).
1752
1753         * autogen.sh: take $CC=lcc into account by invoking automake with
1754         --include-deps so lcc isn't scared by gcc's auto-dependancy
1755         generation code. care about $ACLOCAL_FLAGS. optionally feature
1756         autoheader.
1757
1758         * minor fixups in other places to cure some of lcc's warnings.
1759
1760 Sun Sep  6 19:08:53 PDT 1998 Manish Singh <yosh@gimp.org>
1761
1762         * configure.in: added -std1 check for ANSI compliance (from gtk)
1763
1764 Sun Sep  6 12:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
1765
1766         * glib.h: provide proper ATEXIT behavior on NeXTStep by !atexit
1767
1768 Sat Sep  5 18:03:36 1998  Tom Tromey  <tromey@cygnus.com>
1769
1770         * gutils.c (GLIB_INLINE): Define.
1771         * glib.h (GLIB_INLINE): New define.
1772         (g_bit_nth_msf): Use it.  Also, add prototype.
1773         (g_bit_storage): Likewise.
1774         (g_bit_storage): Likewise.
1775
1776 Sat Sep  5 04:40:02 1998  Tim Janik  <timj@gtk.org>
1777
1778         * glib.h:
1779         (g_chunk_new0): use g_mem_chunk_alloc0() to allocate the memchunk,
1780         so the correct size of the memchunk is allocated with 0's and not
1781         a memory portion of the size of the desired type.
1782
1783         * gmem.c: new function g_mem_chunk_alloc0() which will initialize
1784         a memory area allocated with g_mem_chunk_alloc() with 0's.
1785
1786 Wed Sep  2 19:13:28 1998  Owen Taylor  <otaylor@redhat.com>
1787
1788         * garray.c glib.h (g_array_[ap/pre]pend_vals): make
1789         data argument const.
1790
1791 Wed Aug 26 06:32:40 1998  Tim Janik  <timj@gtk.org>
1792
1793         * glib.h:
1794         * gstrfuncs.c: new function g_strnfill() to return a new string
1795         of specified length, filled with a specific character.
1796
1797 Tue Sep  1 23:46:31 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
1798
1799         * testglib.c (main): Update the array tests.  Reduce the number of
1800         iterations for the prepend test from 10000 to 100 since it is
1801         O(n^2) and was taking longer than I would like to wait.
1802
1803         * garray.c: I've worked on the GArray interface, mostly.  It was
1804         seriously broken before and I hate to do it, but this is going to
1805         break some code.  It is important to do this now, because more and
1806         more people are starting to use glib and the interface was both
1807         broken and inconsistent.  First, rename the _truncate functions of
1808         both the GArray and GPtrArray classes to _set_size, since this
1809         function can also be used to extend the arrays.  GArray now
1810         accepts two more initialization arguments: clear and element_size.
1811         Instead of providing the type to each access function, the array
1812         now stores the element size.  Clear, if set, causes the library to
1813         zero element's memory as the array expands.  The major broken-ness
1814         here was that array->len was in bytes, not elements.  Now, since
1815         the array knows its element size, array->len is correct and I have
1816         removed the g_array_length macro.  The only macro which now
1817         accepts the type as an argument is g_array_index, which casts the
1818         element to the right type--this interface does not change.  The
1819         append and prepend functions simply need the types removed.
1820         g_ptr_array_remove_index now returns the removed element.
1821
1822         * gprimes.c (g_spaced_primes_closest): Move this function out of
1823         ghash.c and rename it from g_hash_closest_prime.  Fix the primes
1824         so that they are actually prime (they weren't all -- isn't that
1825         nice?).
1826
1827 Mon Aug 24 02:08:56 1998  Tim Janik  <timj@gtk.org>
1828
1829         * glib.h:
1830         * gstring.c:
1831         * gstrfuncs.c:
1832         (g_vsprintf): removed this function which was not publically
1833         exported in glib.h. to export it, it should have been named
1834         differently in the first place, since its semantics differ from
1835         vsprintf(). apart from that, it was a possible cause for
1836         problems since it worked on a previously allocated memory area and
1837         was used in a lot places of glib. exporting it would have been a
1838         guararant for problems with threaded programs.
1839         (g_printf_string_upper_bound): exported this function to return
1840         a string size, guarranteed to be big enough to hold the fully
1841         expanded format+args string. added 'q', 'L' and 'll' flag handling.
1842         in fact, the newly allocated area is in most cases much bigger than
1843         required.
1844         (g_strdup_vprintf()): new function returning a newly allocated string
1845         containing the contents of *format and associated args (size is
1846         calculated with g_printf_string_upper_bound()).
1847         (g_strdup_printf): new function which wraps g_strdup_vprintf().
1848
1849         * configure.in: check for va_copy() or __va_copy() alternatively.
1850         check whether va_lists can be copyied by value.
1851
1852         * glib.h: provide a definition for G_VA_COPY.
1853
1854         * glib.h:
1855         * gmessages.c:
1856         (g_logv):
1857         (g_vsnprintf):
1858         pass va_lists by value, not by reference, since this causes problems
1859         on platforms that implement va_list as as arrays. internaly, use
1860         G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second
1861         va_list variable, if multiple passes are required. changed all
1862         callers.
1863
1864         * glib.h:
1865         * gerror.h:
1866         renamed g_debug() to g_on_error_query(), cleaned up a bit.
1867         renamed g_stack_trace() to g_on_error_stack_trace() since both
1868         functions cluttered different namespaces.
1869         there is an appropriate comment in glib.h now that explains the
1870         unix and gdb specific dependencies of both functions.
1871         removed g_attach_process().
1872         g_on_error_stack_trace() should probably be handled with caution,
1873         i've seem several different linux versions (2.0.x) become unstable
1874         after invokation of this function.
1875
1876 1998-08-18: Elliot Lee <sopwith@redhat.com>
1877
1878         * In gmem.c, add the ability to exclude memory chunks from the
1879           memory profiling information.
1880
1881 Tue Aug 18 18:23:09 PDT 1998 Manish Singh <yosh@gimp.org>
1882
1883         * glib.h
1884         * gstrfuncs.c: added g_strndup
1885
1886 Tue Aug 18 04:40:17 1998  Tim Janik  <timj@gtk.org>
1887
1888         * glib.h:
1889         * gmessages.c: new function g_log_set_always_fatal() to set an
1890         additional fatal_mask for log levels that are considered to be fatal
1891         globally (required by gtk). since this mask is not domain-associated,
1892         it is restricted to the log levels, introduced by glib itself.
1893
1894         * gmem.c:
1895         * grel.c:
1896         * gtree.c (g_tree_node_check):
1897         don't use g_print() calls for informational/debugging output,
1898         but log all this stuff through g_log() with G_LOG_LEVEL_INFO.
1899         libraries shouldn't use printf(), g_print() or g_printerr() at all.
1900
1901 Tue Aug 18 02:46:44 1998  Tim Janik  <timj@gtk.org>
1902
1903
1904         * glib.h (__STRICT_ANSI__): if __STRICT_ANSI__ is defined, make
1905         `inline' a noop, since strict ANSI rules don't permit `inline'.
1906
1907 Mon Aug 17 15:21:42 1998  Tim Janik  <timj@gtk.org>
1908
1909         * grel.c: made private functions static.
1910
1911 Sun Aug 16 23:23:46 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1912
1913         * gmodule/Makefile.am: added gmodule-dl.c and gmodule-dld.c to
1914           EXTRA_DIST
1915         * glib.spec: version = 1.1.3
1916
1917 Mon Aug 17 01:46:14 1998  Tim Janik  <timj@gtk.org>
1918
1919         * glib.m4: feature an extra MODULES parameter, so glib-config can
1920         be invoked with the "gmodule" argument.
1921
1922         * glib.h: changed the log level to G_LOG_LEVEL_CRITICAL for all
1923         g_return*_if_fail statements, and made them issue a message
1924         like "assertion `%s' failed".
1925
1926         * gmessages.c (g_logv): ugh, don't pass log_domain as NULL to
1927         g_log_find_domain.
1928
1929 Sun Aug 16 20:28:27 1998  Tim Janik  <timj@gtk.org>
1930
1931         * version bump to 1.1.3, binary age 0, interface age 0.
1932
1933         * glib.h: be nice to platforms that don't have gint64 and don't
1934         issue #warning on every compilation. since glib doesn't require
1935         gint64 itself, packages that need gint64 should test for this
1936         themselves.
1937
1938         * glib.h:
1939         * gutils.c: added a new function g_vsnprintf().
1940
1941 Sun Aug 16 Elliot Lee
1942
1943         glib.h: #error out if we don't recognize the SIZEOF_VOID_P
1944                 #warning if no gint64
1945
1946 Fri Aug 14 16:41:53 1998  Tim Janik  <timj@gtk.org>
1947
1948         * glib.h: added static inline functions for bit mask tests:
1949         g_bit_nth_lsf, g_bit_nth_msf and g_bit_storage.
1950
1951 Fri Aug 13 14:23:37 1998  Tim Janik  <timj@gtk.org>
1952
1953         * glib.h:
1954         * gmessages.c:
1955         revised the message handling system, which is now based on a new
1956         mechanism g_log*. most of the assertment macros got adapted to
1957         feature the new g_log() call with an additional specification of
1958         the log level in a preprocessor macro G_LOG_DOMAIN. if G_LOG_DOMAIN
1959         is undefined upon the includion of glib.h, it'll be defined with a
1960         value of (NULL) and thus preserves the original bahaviour for
1961         warning and error messages. the message handler setting functions
1962         for g_warning, g_error and g_message are only provided for backwards
1963         compatibility and might get removed somewhen.
1964
1965         * Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
1966         to "GLib" upon compilation. we currently have to add this definition
1967         to the DEFS variable.
1968         * testglib.c: we need an ugly #undef G_LOG_DOMAIN at the start
1969         of this file currently, since automake doesn't support per target
1970         _CFLAGS yet.
1971
1972         * glib.h: changed some gints to gbooleans, made a few const corrections,
1973         removed some superfluous G_STMT_START{}G_STMT_END wrappers, added some
1974         in other required places.
1975
1976         * gnode.c:
1977         (g_node_prepend):
1978         (g_node_insert_before):
1979         (g_node_insert):
1980         (g_node_append_data):
1981         (g_node_prepend_data):
1982         (g_node_insert_data_before):
1983         (g_node_insert_data):
1984         (g_node_append):
1985         return (node), so these macros/functions can be usefully chained with
1986         g_node_new().
1987
1988 Mon Aug 10 17:56:11 PDT 1998 Manish Singh <yosh@gimp.org>
1989
1990         * glib.h: it's GTime now, and it's back!
1991
1992 Mon Aug 10 02:17:19 1998  Tim Janik  <timj@gtk.org>
1993
1994         * Makefile.am: minor hack to cause SUBDIRS (gmodule) to be build
1995         last. we do this by making all-recursive-am depend on all-am.
1996
1997 Sun Aug  9 15:56:11 1998  Tim Janik  <timj@gtk.org>
1998
1999         * configure.in: added GModule checks. generate files in gmodule/.
2000         * glib-config.in: support library specifications `glib' and `gmodule'.
2001         * Makefile.am: feature the gmodule/ subdir.
2002
2003 Wed Aug  5 10:04:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
2004
2005         * Released GLib 1.1.2
2006
2007 Wed Aug 05 01:15:36 1998  George Lebl  <jirka@5z.com>
2008
2009         * testglib.c: fix 64-bitness in g_prints, sizeof doesn't
2010           seem to return int so I cast it for printing, probably
2011           just cosmetic
2012
2013 Tue Aug  4 19:54:06 PDT 1998 Shawn T. Amundson <amundson@gkt.org>
2014
2015         * Released GLib 1.1.1
2016
2017 Tue Aug  4 15:17:54 1998  Tim Janik  <timj@gtk.org>
2018
2019         * configure.in: version bump to 1.1.1, binary age 1, interface age 0.
2020         * NEWS: updates.
2021         * README: updates.
2022         * INSTALL: updates and fixes.
2023         * COPYING: include the GNU LGPL, rather than shipping an empty file.
2024         * AUTHORS: listed original authors here, and added people who made
2025         significant improvements to glib.
2026
2027         * glib.h:
2028         * gutils.c: implement g_get_current_dir() which returns a newly
2029         allocated string, instead of a g_getcwd() variant that operates
2030         on a static buffer.
2031         export glib_interface_age and glib_binary_age.
2032         as a convenience, macro definitions have been added for
2033         g_node_insert_data, g_node_insert_data_before, g_node_append_data and
2034         g_node_prepend_data.
2035
2036         * testglib.c: minor cleanups, print current dir.
2037
2038 Mon Aug  3 16:02:26 1998  Tim Janik  <timj@gtk.org>
2039
2040         * glib.h:
2041         * gnode.c: change order of gpointer data; field in struct _GNode to
2042         be partly binary compatible with GList and GSList.
2043
2044 1998-08-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2045
2046         * garray.c (g_ptr_array_remove_index): bugfix: index check for
2047         array has been wrong.
2048
2049 Fri Jul 31 22:17:05 1998  Tim Janik  <timj@gtk.org>
2050
2051         * testglib.c (g_node_test): added a GNode test.
2052
2053 Fri Jul 31 09:08:16 1998  Tim Janik  <timj@gtk.org>
2054
2055         * Makefile.am: compile gnode.c.
2056
2057         * glib.h:
2058         * gnode.c: added implementation of n-way trees.
2059
2060         * gtree.c (g_tree_traverse): added a warning to the switch() statement
2061         which says that G_LEVEL_ORDER is not implemented.
2062
2063 Mon Jul 27 00:17:30 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2064
2065         * Released GLib 1.1.0
2066
2067 Mon Jul 27 01:02:27 1998  Tim Janik  <timj@gtk.org>
2068
2069         * glib.h: #if 0'ed out the GTime definition, until it is definitively
2070         needed. #if 0'ed out the g_getcwd() version, because it is the wrong
2071         implementation.
2072
2073 Sat Jul 25 16:09:00 1998  Mark Crichton <crichton@expert.cc.purdue.edu>
2074
2075         * glib.h: gtime changed to g_time.  gtime is used in
2076         /usr/include/time.h in NetBSD, causing multiple headaches.
2077         If this isn't the right way of fixing it.... ;)
2078
2079 Thu Jul 23 00:29:14 1998  Tim Janik  <timj@gtk.org>
2080
2081         * glib.h:
2082         * gscanner.c: new functions to make a scanner scope sensitive wrt
2083         symbol lookups.
2084         g_scanner_scope_foreach_symbol, g_scanner_scope_lookup_symbol,
2085         g_scanner_scope_remove_symbol, g_scanner_scope_add_symbol and
2086         g_scanner_set_scope.
2087         g_scanner_add_symbol, g_scanner_remove_symbol and
2088         g_scanner_foreach_symbol are now aliases for scope 0.
2089
2090 Mon Jul 20 23:05:34 1998  George Lebl  <jirka@5z.com>
2091
2092         * glib.h: typo fixed for alphas for gint64
2093
2094 Tue Jul 14 09:05:18 1998  Tim Janik  <timj@gtk.org>
2095
2096         * glib.h:
2097         * gutils.c: new fuction g_dirname() which returns a newlly
2098         allocated string.
2099
2100 Fri Jul 10 06:33:43 1998  Tim Janik  <timj@gtk.org>
2101
2102         * glib.h:
2103         * gutils.h: added a bunch of utility/wrapper functions:
2104         g_basename(), g_getcwd(), g_get_user_name(), g_get_real_name(),
2105         g_get_home_dir(), g_get_tmp_dir(), g_get_prgname() and g_set_prgname().
2106
2107         * gutils.c: removed all g_str* functions.
2108         * gstrfuncs.c: moved the bunch g_str* functions from gutils.c in this
2109         place. this file shall never include <unistd.h> to avoid clashes for
2110         some of the g_str* functions on some OSes.
2111
2112 Fri Jul 10 00:29:03 EEST 1998 Lauri Alanko <nether@gimp.org>
2113
2114         * glib.h:
2115         * ghash.c: Renamed g_hash_table_lookup_full to
2116         g_hash_table_lookup_extended to conform with naming conventions.
2117
2118 Tue Jul  7 03:18:58 EEST 1998 Lauri Alanko <nether@gimp.org>
2119
2120         * glib.h:
2121         * ghash.c: Generic cleanup, added a function:
2122         (g_hash_table_lookup_full): Return whether the lookup succeeded,
2123         and also retrieve the key and value. This allows one to
2124         distinguish between failed lookup and finding a NULL, and also
2125         allows one to free a key in the hash.
2126
2127 Mon Jul  6 10:12:05 PDT 1998 Manish Singh <yosh@gimp.org>
2128
2129         * ltconfig: fix for properly detecting shared lib support on
2130         SunPro cc (taken from libtool 1.2.a)
2131
2132 Sat Jul  4 13:38:52 PDT 1998 Manish Singh <yosh@gimp.org>
2133
2134         * glib.h: added g_array_length
2135
2136 Tue Jun 30 11:58:25 1998  Tim Janik  <timj@gtk.org>
2137
2138         * gscanner.c (g_scanner_unexp_token): take symbol_2_token into
2139         account. react on valid/invalid string pairs.
2140
2141 Sat Jun 27 21:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
2142
2143         * glib.m4: ftp.glib.org -> ftp.gtk.org, since glib.org isn't
2144         ours. ;)
2145
2146 Fri Jun 19 03:11:02 1998  Tim Janik  <timj@gtk.org>
2147
2148         * gdataset.c: removed g_dataset_try_key, g_dataset_force_id and
2149         g_dataset_retrive_key in favour of GQuarks.
2150         a GQuark is an numeric id wich is associated with a certain string.
2151         (g_quark_try_string): try to get the quark associated with this string,
2152         if the lookup failed return 0.
2153         (g_quark_from_string): get the associated quark for a string, if there
2154         isn't currently a GQuark associated with this string, then allocate a
2155         new quark and return that.
2156         (g_quark_from_static_string): like the above function, but the string
2157         isn't strdup()ed to save memory.
2158         (g_quark_to_string): get the string that is associated with a certain
2159         GQuark.
2160
2161         * gdataset.c (g_dataset_id_set_data_full): invoke the destroy function
2162         _after_ the new data has been setup.
2163
2164 Thu Jun 18 02:35:21 1998  Owen Taylor  <otaylor@gtk.org>
2165
2166         * glib.h: Changed messages for g_return_[val]_if_fail to
2167         be somewhat more clear: assertion "blah" failed.
2168
2169 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2170
2171         * testglib.c (main): Use GINT_TO_POINTER casts to remove compiler
2172         warnings.
2173
2174         * grel.c: #include <string.h>
2175
2176 Fri Jun 12 15:39:06 1998  Tim Janik  <timj@gtk.org>
2177
2178         * glib.h (GScanner): cleanups of the structure fields (binary
2179         incompatible).
2180
2181 Fri Jun 12 00:39:28 1998  Josh MacDonald  <jmacd@icw.EECS.Berkeley.EDU>
2182
2183         * glib.h: add new hash and equal functions g_int_*.  complement
2184         g_direct_hash with g_direct_equal.
2185
2186         * grel.c: new file, GRelations implement tuples of N-N mappings.
2187         A comment in glib.h briefly describes the interface.
2188
2189         * ghash.c: new function, g_hash_table_size
2190
2191         * glib.h: new typedefs, gsize, gssize, gtime.
2192
2193         * garray.c: new functions implementing a simplified GArray.  This
2194         GPtrArray is an array of gpointers and has functions to add and
2195         remove elements, much like java.lang.Vector.
2196
2197         * garray.c: new functions for the single-byte special case of
2198         GArray.  The functions g_byte_array* operate on arrays of bytes.
2199         Internally, a GArray is used.
2200
2201         * testglib.c: tests for g_ptr_array, g_byte_array, and g_relation...
2202
2203 1998-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2204
2205         * gdataset.c: #include <string.h>
2206
2207 Thu Jun 11 04:15:31 1998  Tim Janik  <timj@gtk.org>
2208
2209         * glib.h:
2210         * gdataset.c: new function g_dataset_retrive_key. adjusted prealloc
2211         sizes, to take up less space on initial allocation.
2212
2213 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
2214
2215         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
2216         the version from which glib's libtool forked.  Needed for people
2217         who use post-1.2 alphas of libtool.
2218         * configure.in (enable_mem_check, enable_mem_profile): Replace
2219         `echo -n' with AC_MSG_CHECKING.
2220         (fd_set): Explain test for `fd_set' better.
2221
2222 Wed Jun 10 19:29:51 1998  Owen Taylor  <otaylor@gtk.org>
2223
2224         * Makefile.am glib.m4 configure.in:
2225
2226         Moved out from GTK+; added AM_PATH_GLIB macro.
2227
2228 Wed Jun 10 12:56:07 1998  Owen Taylor  <otaylor@gtk.org>
2229
2230         * glib.h: renamed g_const_pointer => gconstpointer
2231
2232 Tue Jun  9 17:47:33 1998  Owen Taylor  <otaylor@gtk.org>
2233
2234         * glib.h: Remove #error - HP/UX.
2235
2236 Sat May 23 19:00:01 1998  Owen Taylor  <otaylor@gtk.org>
2237   [ Combination of:
2238      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
2239      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
2240
2241         * glib.h ghash.c gstring.c gdataset.c gutils.c:
2242         - Added new typedef g_const_pointer; expunged all incorrect
2243           uses of 'const gpointer'.
2244         - Fixed up warnings that that created,
2245         - Changed GHashFunc and GCompareFunc to take g_const_pointer
2246           arguments. (Necessary, but will cause warnings in existing
2247           code until fixed)
2248         - Added other new const in harmless positions.
2249
2250 Mon Jun  8 01:06:47 1998  Tim Janik  <timj@gtk.org>
2251
2252         * glib.h: added enum-helper macros for code generation.
2253         added G_BREAKPOINT().
2254
2255 Sat Jun  6 14:09:22 PDT 1998 Manish Singh <yosh@gimp.org>
2256
2257         * gmem.c: commented out MEM_PROFILE and MEM_CHECK, causing weird
2258         problems
2259
2260 Wed Jun  3 06:19:42 1998  Tim Janik  <timj@gtk.org>
2261
2262         * glib.h (g_chunk_new0): convenience macro, for allocating small chunks
2263         like g_chunk_new() with additional 0 initialization.
2264
2265 Mon Jun  1 04:43:27 1998  Tim Janik  <timj@gtk.org>
2266
2267         * ghash.c (g_hash_table_insert): wrote a comment describing why
2268         a hash node's key should not also get replaced when overriding
2269         previous entries.
2270
2271 Tue May 26 18:30:06 1998  Tim Janik  <timj@gtk.org>
2272
2273         * glib.h (g_string_sized_new): new function to controll the preallocated
2274         size of a GString.
2275
2276         * glib.h (g_strreversed): new function to reverse a string.
2277
2278 Mon May 18 22:14:39 1998  Owen Taylor  <otaylor@gtk.org>
2279 (Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp> : gtk-joke-980517-0.patch)
2280
2281         * gutils.c: Restored a missing prototype for g_vsprintf.
2282
2283 Wed May 20 05:02:26 1998  Tim Janik  <timj@gtk.org>
2284
2285         * glib.h: conditionally define NULL, FALSE and TRUE.
2286         (g_mem_chunk_create): new convenience macro as a short hand for
2287         g_mem_chunk_new().
2288         (g_chunk_free): new convenience macro to be consistent with g_chunk_new.
2289
2290 Tue, 19 May 1998 09:00:02 +0200  Paolo Molaro <lupus@debian.org>
2291
2292         * gcompletion.c: generic functions for com<TAB>pletion...
2293
2294 Sun May 17 10:48:27 1998  Tim Janik  <timj@gtk.org>
2295
2296         * gscanner.c (g_scanner_unexp_token): provide usefull default
2297         specifications for identifier_spec and symbol_spec.
2298
2299         * glib.h: new functions g_slist_nth_data and g_list_nth_data to return
2300         the data of the nth element in the list.
2301
2302 Fri May 15 22:31:49 1998  Tim Janik  <timj@gtk.org>
2303
2304         * gscanner.c (g_scanner_unexp_token): removed spurious va_end(args)
2305         that for some reason didn't produce a compiler warning on my machine
2306         (is va_end defined to nothing for i386?).
2307
2308 Fri May 15 12:32:08 1998  rodo  <doulik@karlin.mff.cuni.cz>
2309
2310         * gscanner.c: replaced some snprintf with g_snprintf
2311
2312 Fri May 15 00:56:59 1998  Tim Janik  <timj@gtk.org>
2313
2314         * glib.h: further support for gcc function attributes: G_GNUC_FORMAT,
2315         G_GNUC_NORETURN and G_GNUC_CONST.
2316
2317         * gscanner.c (g_scanner_stat_mode): changed stat() to lstat().
2318         (g_scanner_msg_handler): "\n" at end of line!
2319         (g_scanner_foreach_symbol): new function to iterate over the symbol
2320         table (GScanner does value-wrapping).
2321
2322 Thu May 14 04:14:12 1998  Tim Janik  <timj@gtk.org>
2323
2324         * glib.h: typedef gint gboolean;
2325         this is needed to provide portability with big-endian platforms (e.g.
2326         try sizeof(bool) for c++ on big-endians - it's 4).
2327         this is also needed to maintain some_union.d_gint==some_union.d_gboolean.
2328         plus, gint to gboolean casts and vice versa need to be possible without
2329         loss.
2330
2331 Tue May 12 19:22:58 1998  Owen Taylor  <otaylor@gtk.org>
2332
2333         * glib/glib.h: Added macros G[U]INT_TO_POINTER() and
2334         GPOINTER_TO_[U]INT for storing small integers integers
2335         inside pointers.
2336
2337         * glib/testglib.c: Print sizeof() results
2338         as g_print("%ld", (glong)sizeof(foo)), to deal with
2339         size_t being long on Alpha's.
2340
2341 Tue May 12 16:54:15 1998  Owen Taylor  <otaylor@gtk.org>
2342         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
2343
2344         * glib.h gstring.c gmessages.c: Added some missing
2345         const to arguments.
2346
2347         * gutils.c (g_strsignal.c): Added missing return statements.
2348
2349 Mon May 11 21:11:54 1998  Owen Taylor  <otaylor@gtk.org>
2350
2351         * gutils.c gmessages.c: Moved g_error, g_warning, g_message and
2352         g_print from gutils.c to new file gmessages.c, to avoid having to
2353         include <unistd.h> in gutils.c which was causing problems for the
2354         g_strsignal implementation on FreeBSD boxes.
2355
2356 Mon May 11 09:53:43 1998  Tim Janik  <timj@gtk.org>
2357
2358         * configure.in: preserve automake CFLAGS.
2359
2360         * Makefile.am: fully rename the created library to libglib-1.1.la.
2361         this means we need to change certain portions of the Makefile.am on
2362         major/minor version bumps.
2363
2364         * ltmain.sh: the -release option is not required anymore.
2365
2366         * glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
2367         avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
2368         MIN, ABS and CLAMP, these macros might be screwed from other headers.
2369
2370 Mon May 11 01:44:10 1998  Tim Janik  <timj@gtk.org>
2371
2372         * gdataset.c: new file, gdatasets implement the object data
2373         mechanism from GtkObject. a generic data pointer is associated with
2374         a certain location and a key id.
2375
2376 Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>
2377
2378         * glib/gmem.c: Experimentally restore GMemChunk
2379         to its primeval state - where mem areas are
2380         freed incrementally instead of searching the tree
2381         every time a mem area is completely empty. Also,
2382         always keep one mem chunk around. (Reduced calls
2383         to malloc() a lot, but doesn't really improve
2384         performance significiantly)
2385
2386 Thu May  7 08:17:28 1998  Tim Janik  <timj@gtk.org>
2387
2388         * glib.h (G_GNUC_PRINTF):
2389         (G_GNUC_SCANF): macros to facilitate the printf/scanf format argument
2390         checking of gcc.
2391
2392         * gstring.c: const corrections, string!=NULL checks at function entry.
2393         (g_string_down): new function for tolower(3) conversion.
2394         (g_string_up): new function for toupper(3) conversion.
2395
2396         * gutils.c: const corrections.
2397         (g_strdown): g_string_down() counterpart.
2398         (g_strup): g_string_up() counterpart.
2399
2400         * gscanner.c (g_scanner_unexp_token):
2401         (g_scanner_error):
2402         (g_scanner_warn): new functions to let a scanner put out warnings
2403         or errors, especially to react on unexpected tokens.
2404
2405         * gslist.c:
2406         (g_slist_index): find out about about the position of a
2407         certain data pointer.
2408         (g_slist_position): find out about about the position of a
2409         certain node.
2410
2411         * glist.c:
2412         (g_list_index): find out about about the position of a
2413         certain data pointer.
2414
2415 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
2416
2417         * ltmain.sh: added a new commandline flag -postfix similar to -release,
2418         but will immediately change the library name.
2419
2420         * Makefile.am: specify -postfix and -version-info
2421
2422         * configure.in: version bump to 1.1.0. added GLIB_INTERFACE_AGE and
2423         GLIB_BINARY_AGE. calculate LT_* variables for libtool.
2424
2425 Fri May  1 16:36:08 1998  Owen Taylor  <otaylor@gtk.org>
2426
2427         * gutils.c: (g_strcasecmp). Check for isupper before
2428         taking tolower, and account for macroized tolower.
2429
2430         * gutils.c (g_error): Check for recursion.
2431
2432 1998-04-27  Elliot Lee  <sopwith@cuc.ml.org>
2433
2434         * glist.c (g_list_position): New function to find the position of
2435         a link in a list - should be the inverse of g_list_nth(), but
2436         haven't tested it so poof.
2437
2438 Thu Apr 30 21:41:30 1998  Owen Taylor  <otaylor@gtk.org>
2439
2440         * gstring.c : Check arguments more carefully,
2441         (gtk-draco-980423-1.patch; ramsey@rhrk.uni-kl.de)
2442
2443 Tue Apr  7 19:36:48 1998  Owen Taylor  <owt1@cornell.edu>
2444
2445         * gutils.c (g_direct_compare): Removed, because that's what
2446         a NULL comparison function means. And it wasn't 64 bit safe.
2447
2448 Mon Apr  6 18:43:25 1998  Tim Janik  <timj@gtk.org>
2449
2450         * gscanner.c (g_scanner_get_token_ll): fixed a bug that caused floats
2451         of the format ".xxx" to be parsed as "xxx".
2452
2453 Fri Apr  3 20:36:35 1998  Owen Taylor  <owt1@cornell.edu>
2454
2455         * gutils.c (g_parse_debug_string): Make debug string
2456         parsine case-insensitive
2457
2458 Fri Apr  3 17:03:18 PST 1998 Manish Singh <yosh@gimp.org>
2459
2460         * gstring.c: corrected possible overrun when inserting into
2461         GStrings (thanks Elrond)
2462
2463 Fri Apr  3 18:05:45 1998  Owen Taylor  <owt1@cornell.edu>
2464
2465         * testglib.c: Removed literal german from strings
2466         to appease SGI compiler.
2467
2468 Thu Mar 26 20:47:21 1998  Owen Taylor  <owt1@cornell.edu>
2469
2470         * configure.in glib glibconfig.h.in: Add test for atexit/on_exit -
2471         use on_exit if atexit not found in definition of ATEXIT.
2472
2473 Wed Mar 25 15:23:37 1998  Owen Taylor  <owt1@cornell.edu>
2474
2475         * Makefile.am: Switched glibconfig.h rule from HEADERS
2476         to DATA, so that it is not added to DISTFILES
2477
2478 Wed Mar 18 22:27:08 PST 1998 Manish Singh <yosh@gimp.org>
2479
2480         * garray.c: g_rarray_truncate length done correctly
2481
2482 Sun Mar 15 07:13:34 1998  Tim Janik  <timj@gimp.org>
2483
2484         * gutils.c: changed *_handler variables to be named glib_*_handler,
2485         so you can easily access them from gdb.
2486
2487 Sat Mar 14 17:47:43 1998  Owen Taylor  <owt1@cornell.edu>
2488
2489         * Makefile.am: Don't refer to current directory as $(top_builddir)
2490         to avoid confusing non-gmakes
2491
2492 Sat Mar 14 01:37:35 1998  Owen Taylor  <owt1@cornell.edu>
2493
2494         * Makefile.am (configincludedir): Moved glibconfig.h to
2495           $(pkglibdir)/include
2496
2497 Tue Mar 10 02:03:12 1998  Tim Janik  <timj@gimp.org>
2498
2499         * gscanner.c (g_scanner_destroy_symbol_table_entry): new function to
2500         free symbol table entries upon destruction
2501         (gtk-gronlund-980309-0.patch.gz).
2502
2503 Mon Mar  9 15:02:21 1998  Tim Janik  <timj@gimp.org>
2504
2505         * glib.h: changed *_length functions to return guint.
2506         changed *_nth functions to take guint as argument.
2507
2508         * glist.c: adapted g_list_length and g_list_length.
2509
2510         * gslist.c: adapted g_slist_length and g_slist_length.
2511
2512 Mon Mar  2 17:51:18 1998  Owen Taylor  <owt1@cornell.edu>
2513
2514         * glib.h gutils.c : changed g_strcasecmp
2515           to take gchar* not guchar*
2516
2517         * testglib.c: Remove trailing ; after functions
2518
2519 Sun Mar  1 19:04:40 1998  Owen Taylor  <owt1@cornell.edu>
2520
2521         * glib.h gstring.c: Added g_string_insert[_c]()
2522           and g_string_erase().
2523
2524           From: Stefan Wille  <1wille@vsys1.informatik.uni-hamburg.de>
2525
2526 Mon Feb 16 23:05:06 1998  Owen Taylor  <owt1@cornell.edu>
2527
2528         * glist.c (g_list_insert_sorted): Changed function
2529           so elements are always inserted, even if they compare
2530           equal with another.
2531
2532 Thu Feb 12 22:48:11 1998  Owen Taylor  <owt1@cornell.edu>
2533
2534         * gstring.c glib.h: removed deprecated g_string_equal
2535           and g_string_hash.
2536
2537 Tue Feb 10 13:04:36 1998  Owen Taylor  <owt1@cornell.edu>
2538
2539         * configure.in: Add check to see if the C library's
2540           iswalnum can actually be used. (Not true for
2541           Linux libc-5.4.38)
2542
2543 Sat Feb  7 11:48:09 1998  Owen Taylor  <owt1@cornell.edu>
2544
2545         * gstring.c gutils.c: added some additional consts in
2546           appropriate places to remove a warning
2547
2548 Sat Feb  7 11:15:54 1998  Owen Taylor  <owt1@cornell.edu>
2549
2550         * gutils.c: include <ctype.h> for tolower()
2551
2552 Fri Jan 30 23:57:17 PST 1998 Manish Singh <yosh@gimp.org>
2553
2554         * added and autoconfigured in a new utility function
2555         g_strcasecmp
2556
2557 Wed Jan 28 23:53:27 PST 1998 Manish Singh <yosh@gimp.org>
2558
2559         * glist.c
2560         * gslist.c
2561         * testglib.c: the sort functions compared backwards. Fixed
2562         * glib.h: list iterator macros now check for NULL pointers
2563
2564 Tue Jan 27 09:46:57 PST 1998 Manish Singh <yosh@gimp.org>
2565
2566         * gstring.c: g_string_prepend and g_string_prepend_c had
2567         interchanged src and dest parameters for g_memmove. Fixed.
2568
2569 Tue Jan 27 01:38:52 PST 1998 Manish Singh <yosh@gimp.org>
2570
2571         * gslist.c: fixed a really, really lame error. g_slist_insert
2572         didn't hook the data in! Reworked the routine to reflect the
2573         functionality of g_list
2574
2575 Wed Jan 21 01:13:25 1998  Tim Janik  <timj@psynet.net>
2576
2577         * Applied patch from (Raja R Harinath <harinath@cs.umn.edu>)
2578           to add function g_snprintf.
2579         * configure.in (AC_CHECK_FUNCS): Check for vsnprintf.
2580         * glib.h: Add prototype for g_snprintf.
2581         * glibconfig.h.in: Add HAVE_VSNPRINTF.
2582         * gutils.c (g_snprintf): new function.
2583
2584 Sat Jan 17 23:52:40 1998  Owen Taylor  <owt1@cornell.edu>
2585
2586         * gstring.{c,h} gscanner.c:
2587            renamed g_string_equal => g_str_equal
2588            renamed g_string_hash => g_str_hash
2589           And const corrected. Old functions left in for now.
2590
2591 Fri Jan  9 20:03:46 1998  Tim Janik  <timj@psynet.net>
2592
2593         * gutils.c (g_strerror): changed message for EAGAIN from
2594         "no more processes" to "try again" since EAGAIN is used with
2595         functions else than fork().
2596
2597         * gscanner.c (g_scanner_get_token_ll): use strtol() instead of
2598         strtoul() to avoid conflicts with solaris.
2599
2600         * merged the glib portions from Jan 2 to Jan 7 out of gtk+/ChangeLog
2601         into this file.
2602
2603 Wed Jan  7 02:14:30 PST 1998 Manish Singh <yosh@gimp.org>
2604
2605         * glib.h:
2606         * glist.c:
2607         * gslist.c:
2608         * testglib.c: Added g_[s]list_insert_sorted function
2609         and appropriate tests in testglib
2610
2611 Sat Jan  3 20:23:25 1998  Owen Taylor  <owt1@cornell.edu>
2612
2613         * glib.h: Changed guint32 -> guint for bitfields.
2614         (Bitfields must be int or unsigned int?)
2615
2616 Fri Jan  2 23:52 PST 1998 Jay Painter <jpaint@serv.net>
2617
2618         * glib_pre1.h:
2619         * glib_pre2.h:
2620         * glib.h: reverted glibconfig.h and glib.h files back to the
2621         way they were before my ugly hack.
2622
2623         * gscanner.c: removed inlines from clist and gscanner
2624
2625 Tue Dec 23 02:49:51 1997  Tim Janik  <timj@psynet.net>
2626
2627         * gscanner.c: new file for GScanner: Flexible lexical scanner for
2628         general purpose.
2629         * glib_pre2.h: added GScanner includes. added g_strconcat and g_strtod.
2630         gutils.c (g_strconcat): new function for string concatenation of NULL
2631         terminated parameter list.
2632         (g_strtod): new function to perform best string to double conversion
2633         with or without consideration of the current locale.
2634
2635 Mon Dec 15 19:33:58 1997  Tim Janik  <timj@psynet.net>
2636
2637         * glist.c: minor optimizations:
2638         (g_list_append): `if' optimized for common code path, commented out
2639         unneccessary `assert', saved one variable assignment.
2640         (g_list_prepend): saved two (conditioned) variable assignment.
2641         (g_list_insert): saved one  (conditioned) variable assignment,
2642         saved one variable assignment.
2643         (g_list_remove): `if' optimized for common code path, saved two
2644         variable assignments by using `g_list_free_1' (which is even
2645         faster) instead of `g_list_free'.
2646         (g_list_reverse): saved allocation of one variable, saved one
2647         variable assignment.
2648
2649 Wed Dec 10 23:27:20 1997  Tim Janik  <timj@psynet.net>
2650
2651         * glib_pre1.h:
2652         * glib_pre2.h:
2653         * glib.h: this file now gets concatenated by makeglib_h from
2654         glib_pre1.h and glib_pre2.h to merge in glibconfig.h wich got
2655         created by configure (done by Jay Painter).
2656
2657         * glib_pre2.h: the g_assert*() and g_return_*_fail() macros
2658         are wrapped by G_STMT_START and G_STMT_END now, to avoid conflicts
2659         when used within if (...) g_macro(); else ... conditionals.
2660
2661 Tue Dec 17 13:14:07 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
2662
2663         * glib.h: Changed 'g_return_if_fail' and 'g_return_val_if_fail' to
2664         not call 'g_string' but to simply stringify the
2665         expression. Calling 'g_string' causes the expression to be
2666         expanded which is undesired.
2667
2668 Sun Dec  1 01:30:48 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
2669
2670         * Started ChangeLog