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