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