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