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