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