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