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