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