make the datalists a safe type (not using a generic gpointer) by expecting
[platform/upstream/glib.git] / ChangeLog.pre-2-12
1 Fri Sep 18 18:46:14 1998  Tim Janik  <timj@gtk.org>
2
3         * glib.h:
4         * gdataset.c: make the datalists a safe type (not using a generic
5         gpointer) by expecting a GData* argument in the g_datalist functions.
6         provide g_dataset_foreach() and g_datalist_foreach() functions that
7         allow a GDataForeachFunc function to walk the data lists.
8         (g_dataset_destroy_internal): made this function truely reentrant (i.e.
9         can be called from within destroy notifiers as well).
10         the *_foreach functions are _not_ reentrant (unless all the other
11         dataset and datalist functions).
12
13 Fri Sep 18 03:41:20 1998  Tim Janik  <timj@gtk.org>
14
15         * gtree.c (g_tree_new): check for key_compare_func != NULL (reported
16         by Michal Kara).
17
18 Thu Sep 17 18:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
19
20         * config.h.in: removed from repository
21
22         * install-sh
23         * missing
24         * mkinstalldirs: updated to latest automake version
25
26 Thu Sep 17 06:36:25 1998  Tim Janik  <timj@gtk.org>
27
28         * glib.h:
29         * gdataset.c: implemented g_datalist_* along the lines of g_dataset,
30         but operates on an opaque gpointer *datalist; pointer, e.g. for the
31         implementation of GtkObject named data.
32         we cache a certain portion of the already freed data entries now, to
33         gain a slight performance improve with data reallocation.
34
35 Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
36
37         * Makefile.am glib-config.in l*: Update to libtool-1.2b,
38         change library versioning scheme to drop LT_RELEASE
39         from the -l line, while keeping it in the soname.
40
41 Fri Sep 11 02:11:46 1998  Tim Janik  <timj@gtk.org>
42
43         * glib.h: explicitely include the prototypes for inline functions
44         to cure gcc warnings for -Wmissing-prototypes.
45
46 Wed Sep  9 02:52:04 PDT 1998 Manish Singh <yosh@gimp.org>
47
48         * configure.in: added -posix check for NeXTStep
49
50 Tue Sep  8 05:04:06 1998  Tim Janik  <timj@gtk.org>
51
52         * glib.h: abandon the use of ATEXIT(), we keep the fallback
53         macros for backwards compatibility. people ought to use g_atexit().
54
55         * gutils.c (g_atexit): new function to take over the implementation
56         of ATEXIT. this function is guarranteed to succeed, similar to
57         g_malloc().
58
59 Mon Sep  7 20:07:38 PDT 1998 Manish Singh <yosh@gimp.org>
60
61         * configure.in: comment the -std1 check and save LIBS properly
62
63 Mon Sep  7 07:53:21 1998  Tim Janik  <timj@gtk.org>
64
65         * configure.in: check for all three inline keywords individually.
66
67         * glib.h: inlining hassle. for compilers that don't allow the `inline'
68         keyword, mostly because of strict ANSI C compliance or dumbness, we try
69         to fall back to either `__inline__' or `__inline'. 
70         we define G_CAN_INLINE, if the compiler seems to be actually *capable*
71         to do function inlining, in which case inline function bodys do make
72         sense. we also define G_INLINE_FUNC to properly export the function
73         prototypes if no inlinig can be performed. we special case most of the
74         stuff, so inline functions can have a normal implementation by defining
75         G_INLINE_FUNC to extern and G_CAN_INLINE to 1.
76
77         * ltconfig: (compiler PIC flag test): special case linux for non
78         aout systems to honour lcc's position independant code (cases
79         "linux*aout)" and "linux*)" got added). (this needs to go into
80         libtool which does an advanced test, checking for __LCC__).
81
82         * autogen.sh: take $CC=lcc into account by invoking automake with
83         --include-deps so lcc isn't scared by gcc's auto-dependancy
84         generation code. care about $ACLOCAL_FLAGS. optionally feature
85         autoheader.
86
87         * minor fixups in other places to cure some of lcc's warnings.
88
89 Sun Sep  6 19:08:53 PDT 1998 Manish Singh <yosh@gimp.org>
90
91         * configure.in: added -std1 check for ANSI compliance (from gtk)
92
93 Sun Sep  6 12:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
94
95         * glib.h: provide proper ATEXIT behavior on NeXTStep by !atexit
96
97 Sat Sep  5 18:03:36 1998  Tom Tromey  <tromey@cygnus.com>
98
99         * gutils.c (GLIB_INLINE): Define.
100         * glib.h (GLIB_INLINE): New define.
101         (g_bit_nth_msf): Use it.  Also, add prototype.
102         (g_bit_storage): Likewise.
103         (g_bit_storage): Likewise.
104
105 Sat Sep  5 04:40:02 1998  Tim Janik  <timj@gtk.org>
106
107         * glib.h: 
108         (g_chunk_new0): use g_mem_chunk_alloc0() to allocate the memchunk,
109         so the correct size of the memchunk is allocated with 0's and not
110         a memory portion of the size of the desired type.
111
112         * gmem.c: new function g_mem_chunk_alloc0() which will initialize
113         a memory area allocated with g_mem_chunk_alloc() with 0's.
114
115 Wed Sep  2 19:13:28 1998  Owen Taylor  <otaylor@redhat.com>
116
117         * garray.c glib.h (g_array_[ap/pre]pend_vals): make
118         data argument const.
119
120 Wed Aug 26 06:32:40 1998  Tim Janik  <timj@gtk.org>
121
122         * glib.h:
123         * gstrfuncs.c: new function g_strnfill() to return a new string
124         of specified length, filled with a specific character.
125
126 Tue Sep  1 23:46:31 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
127
128         * testglib.c (main): Update the array tests.  Reduce the number of
129         iterations for the prepend test from 10000 to 100 since it is
130         O(n^2) and was taking longer than I would like to wait.
131
132         * garray.c: I've worked on the GArray interface, mostly.  It was
133         seriously broken before and I hate to do it, but this is going to
134         break some code.  It is important to do this now, because more and
135         more people are starting to use glib and the interface was both
136         broken and inconsistent.  First, rename the _truncate functions of
137         both the GArray and GPtrArray classes to _set_size, since this
138         function can also be used to extend the arrays.  GArray now
139         accepts two more initialization arguments: clear and element_size.
140         Instead of providing the type to each access function, the array
141         now stores the element size.  Clear, if set, causes the library to
142         zero element's memory as the array expands.  The major broken-ness
143         here was that array->len was in bytes, not elements.  Now, since
144         the array knows its element size, array->len is correct and I have
145         removed the g_array_length macro.  The only macro which now
146         accepts the type as an argument is g_array_index, which casts the
147         element to the right type--this interface does not change.  The
148         append and prepend functions simply need the types removed.
149         g_ptr_array_remove_index now returns the removed element.
150
151         * gprimes.c (g_spaced_primes_closest): Move this function out of
152         ghash.c and rename it from g_hash_closest_prime.  Fix the primes
153         so that they are actually prime (they weren't all -- isn't that
154         nice?).
155
156 Mon Aug 24 02:08:56 1998  Tim Janik  <timj@gtk.org>
157
158         * glib.h:
159         * gstring.c:
160         * gstrfuncs.c:
161         (g_vsprintf): removed this function which was not publically
162         exported in glib.h. to export it, it should have been named
163         differently in the first place, since its semantics differ from
164         vsprintf(). apart from that, it was a possible cause for
165         problems since it worked on a previously allocated memory area and
166         was used in a lot places of glib. exporting it would have been a
167         guararant for problems with threaded programs.
168         (g_printf_string_upper_bound): exported this function to return
169         a string size, guarranteed to be big enough to hold the fully
170         expanded format+args string. added 'q', 'L' and 'll' flag handling.
171         in fact, the newly allocated area is in most cases much bigger than
172         required.
173         (g_strdup_vprintf()): new function returning a newly allocated string
174         containing the contents of *format and associated args (size is
175         calculated with g_printf_string_upper_bound()).
176         (g_strdup_printf): new function which wraps g_strdup_vprintf().
177
178         * configure.in: check for va_copy() or __va_copy() alternatively.
179         check whether va_lists can be copyied by value.
180
181         * glib.h: provide a definition for G_VA_COPY.
182
183         * glib.h:
184         * gmessages.c:
185         (g_logv):
186         (g_vsnprintf):
187         pass va_lists by value, not by reference, since this causes problems
188         on platforms that implement va_list as as arrays. internaly, use
189         G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second
190         va_list variable, if multiple passes are required. changed all
191         callers.
192
193         * glib.h:
194         * gerror.h:
195         renamed g_debug() to g_on_error_query(), cleaned up a bit.
196         renamed g_stack_trace() to g_on_error_stack_trace() since both
197         functions cluttered different namespaces.
198         there is an appropriate comment in glib.h now that explains the
199         unix and gdb specific dependencies of both functions.
200         removed g_attach_process().
201         g_on_error_stack_trace() should probably be handled with caution,
202         i've seem several different linux versions (2.0.x) become unstable
203         after invokation of this function.
204
205 1998-08-18: Elliot Lee <sopwith@redhat.com>
206
207         . In gmem.c, add the ability to exclude memory chunks from the
208           memory profiling information.
209
210 Tue Aug 18 18:23:09 PDT 1998 Manish Singh <yosh@gimp.org>
211
212         * glib.h
213         * gstrfuncs.c: added g_strndup
214
215 Tue Aug 18 04:40:17 1998  Tim Janik  <timj@gtk.org>
216
217         * glib.h:
218         * gmessages.c: new function g_log_set_always_fatal() to set an
219         additional fatal_mask for log levels that are considered to be fatal
220         globally (required by gtk). since this mask is not domain-associated,
221         it is restricted to the log levels, introduced by glib itself.
222
223         * gmem.c:
224         * grel.c:
225         * gtree.c (g_tree_node_check):
226         don't use g_print() calls for informational/debugging output,
227         but log all this stuff through g_log() with G_LOG_LEVEL_INFO.
228         libraries shouldn't use printf(), g_print() or g_printerr() at all.
229
230 Tue Aug 18 02:46:44 1998  Tim Janik  <timj@gtk.org>
231
232
233         * glib.h (__STRICT_ANSI__): if __STRICT_ANSI__ is defined, make
234         `inline' a noop, since strict ANSI rules don't permit `inline'.
235
236 Mon Aug 17 15:21:42 1998  Tim Janik  <timj@gtk.org>
237
238         * grel.c: made private functions static.
239
240 Sun Aug 16 23:23:46 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
241
242         * gmodule/Makefile.am: added gmodule-dl.c and gmodule-dld.c to
243           EXTRA_DIST
244         * glib.spec: version = 1.1.3
245
246 Mon Aug 17 01:46:14 1998  Tim Janik  <timj@gtk.org>
247
248         * glib.m4: feature an extra MODULES parameter, so glib-config can
249         be invoked with the "gmodule" argument.
250
251         * glib.h: changed the log level to G_LOG_LEVEL_CRITICAL for all
252         g_return*_if_fail statements, and made them issue a message
253         like "assertion `%s' failed".
254
255         * gmessages.c (g_logv): ugh, don't pass log_domain as NULL to
256         g_log_find_domain.
257
258 Sun Aug 16 20:28:27 1998  Tim Janik  <timj@gtk.org>
259
260         * version bump to 1.1.3, binary age 0, interface age 0.
261
262         * glib.h: be nice to platforms that don't have gint64 and don't
263         issue #warning on every compilation. since glib doesn't require
264         gint64 itself, packages that need gint64 should test for this
265         themselves.
266
267         * glib.h:
268         * gutils.c: added a new function g_vsnprintf().
269
270 Sun Aug 16 Elliot Lee
271
272         glib.h: #error out if we don't recognize the SIZEOF_VOID_P
273                 #warning if no gint64
274
275 Fri Aug 14 16:41:53 1998  Tim Janik  <timj@gtk.org>
276
277         * glib.h: added static inline functions for bit mask tests:
278         g_bit_nth_lsf, g_bit_nth_msf and g_bit_storage.
279
280 Fri Aug 13 14:23:37 1998  Tim Janik  <timj@gtk.org>
281
282         * glib.h:
283         * gmessages.c:
284         revised the message handling system, which is now based on a new
285         mechanism g_log*. most of the assertment macros got adapted to
286         feature the new g_log() call with an additional specification of
287         the log level in a preprocessor macro G_LOG_DOMAIN. if G_LOG_DOMAIN
288         is undefined upon the includion of glib.h, it'll be defined with a
289         value of (NULL) and thus preserves the original bahaviour for
290         warning and error messages. the message handler setting functions
291         for g_warning, g_error and g_message are only provided for backwards
292         compatibility and might get removed somewhen.
293
294         * Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
295         to "GLib" upon compilation. we currently have to add this definition
296         to the DEFS variable.
297         * testglib.c: we need an ugly #undef G_LOG_DOMAIN at the start
298         of this file currently, since automake doesn't support per target
299         _CFLAGS yet.
300
301         * glib.h: changed some gints to gbooleans, made a few const corrections,
302         removed some superfluous G_STMT_START{}G_STMT_END wrappers, added some
303         in other required places.
304
305         * gnode.c:
306         (g_node_prepend):
307         (g_node_insert_before):
308         (g_node_insert):
309         (g_node_append_data):
310         (g_node_prepend_data):
311         (g_node_insert_data_before):
312         (g_node_insert_data):
313         (g_node_append):
314         return (node), so these macros/functions can be usefully chained with
315         g_node_new().
316
317 Mon Aug 10 17:56:11 PDT 1998 Manish Singh <yosh@gimp.org>
318
319         * glib.h: it's GTime now, and it's back!
320
321 Mon Aug 10 02:17:19 1998  Tim Janik  <timj@gtk.org>
322
323         * Makefile.am: minor hack to cause SUBDIRS (gmodule) to be build
324         last. we do this by making all-recursive-am depend on all-am.
325
326 Sun Aug  9 15:56:11 1998  Tim Janik  <timj@gtk.org>
327
328         * configure.in: added GModule checks. generate files in gmodule/.
329         * glib-config.in: support library specifications `glib' and `gmodule'.
330         * Makefile.am: feature the gmodule/ subdir.
331
332 Wed Aug  5 10:04:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
333
334         * Released GLib 1.1.2
335
336 Wed Aug 05 01:15:36 1998  George Lebl  <jirka@5z.com>
337
338         * testglib.c: fix 64-bitness in g_prints, sizeof doesn't
339           seem to return int so I cast it for printing, probably
340           just cosmetic
341
342 Tue Aug  4 19:54:06 PDT 1998 Shawn T. Amundson <amundson@gkt.org>
343
344         * Released GLib 1.1.1
345
346 Tue Aug  4 15:17:54 1998  Tim Janik  <timj@gtk.org>
347
348         * configure.in: version bump to 1.1.1, binary age 1, interface age 0.
349         * NEWS: updates.
350         * README: updates.
351         * INSTALL: updates and fixes.
352         * COPYING: include the GNU LGPL, rather than shipping an empty file.
353         * AUTHORS: listed original authors here, and added people who made
354         significant improvements to glib.
355
356         * glib.h:
357         * gutils.c: implement g_get_current_dir() which returns a newly
358         allocated string, instead of a g_getcwd() variant that operates
359         on a static buffer.
360         export glib_interface_age and glib_binary_age.
361         as a convenience, macro definitions have been added for
362         g_node_insert_data, g_node_insert_data_before, g_node_append_data and
363         g_node_prepend_data.
364
365         * testglib.c: minor cleanups, print current dir.
366
367 Mon Aug  3 16:02:26 1998  Tim Janik  <timj@gtk.org>
368
369         * glib.h:
370         * gnode.c: change order of gpointer data; field in struct _GNode to
371         be partly binary compatible with GList and GSList.
372
373 1998-08-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
374
375         * garray.c (g_ptr_array_remove_index): bugfix: index check for
376         array has been wrong.
377
378 Fri Jul 31 22:17:05 1998  Tim Janik  <timj@gtk.org>
379
380         * testglib.c (g_node_test): added a GNode test.
381
382 Fri Jul 31 09:08:16 1998  Tim Janik  <timj@gtk.org>
383
384         * Makefile.am: compile gnode.c.
385
386         * glib.h:
387         * gnode.c: added implementation of n-way trees.
388
389         * gtree.c (g_tree_traverse): added a warning to the switch() statement
390         which says that G_LEVEL_ORDER is not implemented.
391
392 Mon Jul 27 00:17:30 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
393
394         * Released GLib 1.1.0
395
396 Mon Jul 27 01:02:27 1998  Tim Janik  <timj@gtk.org>
397
398         * glib.h: #if 0'ed out the GTime definition, until it is definitively
399         needed. #if 0'ed out the g_getcwd() version, because it is the wrong
400         implementation.
401
402 Sat Jul 25 16:09:00 1998  Mark Crichton <crichton@expert.cc.purdue.edu>
403
404         * glib.h: gtime changed to g_time.  gtime is used in
405         /usr/include/time.h in NetBSD, causing multiple headaches.
406         If this isn't the right way of fixing it.... ;)
407
408 Thu Jul 23 00:29:14 1998  Tim Janik  <timj@gtk.org>
409
410         * glib.h:
411         * gscanner.c: new functions to make a scanner scope sensitive wrt
412         symbol lookups.
413         g_scanner_scope_foreach_symbol, g_scanner_scope_lookup_symbol,
414         g_scanner_scope_remove_symbol, g_scanner_scope_add_symbol and
415         g_scanner_set_scope.
416         g_scanner_add_symbol, g_scanner_remove_symbol and
417         g_scanner_foreach_symbol are now aliases for scope 0.
418
419 Mon Jul 20 23:05:34 1998  George Lebl  <jirka@5z.com>
420
421         * glib.h: typo fixed for alphas for gint64
422
423 Tue Jul 14 09:05:18 1998  Tim Janik  <timj@gtk.org>
424
425         * glib.h:
426         * gutils.c: new fuction g_dirname() which returns a newlly
427         allocated string.
428
429 Fri Jul 10 06:33:43 1998  Tim Janik  <timj@gtk.org>
430
431         * glib.h:
432         * gutils.h: added a bunch of utility/wrapper functions:
433         g_basename(), g_getcwd(), g_get_user_name(), g_get_real_name(),
434         g_get_home_dir(), g_get_tmp_dir(), g_get_prgname() and g_set_prgname().
435
436         * gutils.c: removed all g_str* functions.
437         * gstrfuncs.c: moved the bunch g_str* functions from gutils.c in this
438         place. this file shall never include <unistd.h> to avoid clashes for
439         some of the g_str* functions on some OSes.
440
441 Fri Jul 10 00:29:03 EEST 1998 Lauri Alanko <nether@gimp.org>
442
443         * glib.h:
444         * ghash.c: Renamed g_hash_table_lookup_full to
445         g_hash_table_lookup_extended to conform with naming conventions.
446
447 Tue Jul  7 03:18:58 EEST 1998 Lauri Alanko <nether@gimp.org>
448
449         * glib.h:
450         * ghash.c: Generic cleanup, added a function:
451         (g_hash_table_lookup_full): Return whether the lookup succeeded,
452         and also retrieve the key and value. This allows one to
453         distinguish between failed lookup and finding a NULL, and also
454         allows one to free a key in the hash.
455
456 Mon Jul  6 10:12:05 PDT 1998 Manish Singh <yosh@gimp.org>
457
458         * ltconfig: fix for properly detecting shared lib support on
459         SunPro cc (taken from libtool 1.2.a)
460
461 Sat Jul  4 13:38:52 PDT 1998 Manish Singh <yosh@gimp.org>
462
463         * glib.h: added g_array_length
464
465 Tue Jun 30 11:58:25 1998  Tim Janik  <timj@gtk.org>
466
467         * gscanner.c (g_scanner_unexp_token): take symbol_2_token into
468         account. react on valid/invalid string pairs.
469
470 Sat Jun 27 21:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
471
472         * glib.m4: ftp.glib.org -> ftp.gtk.org, since glib.org isn't
473         ours. ;)
474
475 Fri Jun 19 03:11:02 1998  Tim Janik  <timj@gtk.org>
476
477         * gdataset.c: removed g_dataset_try_key, g_dataset_force_id and
478         g_dataset_retrive_key in favour of GQuarks.
479         a GQuark is an numeric id wich is associated with a certain string.
480         (g_quark_try_string): try to get the quark associated with this string,
481         if the lookup failed return 0.
482         (g_quark_from_string): get the associated quark for a string, if there
483         isn't currently a GQuark associated with this string, then allocate a
484         new quark and return that.
485         (g_quark_from_static_string): like the above function, but the string
486         isn't strdup()ed to save memory.
487         (g_quark_to_string): get the string that is associated with a certain
488         GQuark.
489
490         * gdataset.c (g_dataset_id_set_data_full): invoke the destroy function
491         _after_ the new data has been setup.
492
493 Thu Jun 18 02:35:21 1998  Owen Taylor  <otaylor@gtk.org>
494
495         * glib.h: Changed messages for g_return_[val]_if_fail to
496         be somewhat more clear: assertion "blah" failed.
497
498 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
499
500         * testglib.c (main): Use GINT_TO_POINTER casts to remove compiler
501         warnings.
502
503         * grel.c: #include <string.h>
504
505 Fri Jun 12 15:39:06 1998  Tim Janik  <timj@gtk.org>
506
507         * glib.h (GScanner): cleanups of the structure fields (binary
508         incompatible).
509
510 Fri Jun 12 00:39:28 1998  Josh MacDonald  <jmacd@icw.EECS.Berkeley.EDU>
511
512         * glib.h: add new hash and equal functions g_int_*.  complement
513         g_direct_hash with g_direct_equal.
514
515         * grel.c: new file, GRelations implement tuples of N-N mappings.
516         A comment in glib.h briefly describes the interface.
517
518         * ghash.c: new function, g_hash_table_size
519
520         * glib.h: new typedefs, gsize, gssize, gtime.
521
522         * garray.c: new functions implementing a simplified GArray.  This
523         GPtrArray is an array of gpointers and has functions to add and
524         remove elements, much like java.lang.Vector.
525
526         * garray.c: new functions for the single-byte special case of
527         GArray.  The functions g_byte_array* operate on arrays of bytes.
528         Internally, a GArray is used.
529
530         * testglib.c: tests for g_ptr_array, g_byte_array, and g_relation...
531
532 1998-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
533
534         * gdataset.c: #include <string.h>
535
536 Thu Jun 11 04:15:31 1998  Tim Janik  <timj@gtk.org>
537
538         * glib.h:
539         * gdataset.c: new function g_dataset_retrive_key. adjusted prealloc
540         sizes, to take up less space on initial allocation.
541
542 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
543
544         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
545         the version from which glib's libtool forked.  Needed for people
546         who use post-1.2 alphas of libtool.
547         * configure.in (enable_mem_check, enable_mem_profile): Replace
548         `echo -n' with AC_MSG_CHECKING.
549         (fd_set): Explain test for `fd_set' better.
550
551 Wed Jun 10 19:29:51 1998  Owen Taylor  <otaylor@gtk.org>
552
553         * Makefile.am glib.m4 configure.in:
554
555         Moved out from GTK+; added AM_PATH_GLIB macro.
556
557 Wed Jun 10 12:56:07 1998  Owen Taylor  <otaylor@gtk.org>
558
559         * glib.h: renamed g_const_pointer => gconstpointer
560
561 Tue Jun  9 17:47:33 1998  Owen Taylor  <otaylor@gtk.org>
562
563         * glib.h: Remove #error - HP/UX.
564
565 Sat May 23 19:00:01 1998  Owen Taylor  <otaylor@gtk.org>
566   [ Combination of:
567      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
568      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
569
570         * glib.h ghash.c gstring.c gdataset.c gutils.c:
571         - Added new typedef g_const_pointer; expunged all incorrect
572           uses of 'const gpointer'.
573         - Fixed up warnings that that created,
574         - Changed GHashFunc and GCompareFunc to take g_const_pointer
575           arguments. (Necessary, but will cause warnings in existing
576           code until fixed)
577         - Added other new const in harmless positions.
578
579 Mon Jun  8 01:06:47 1998  Tim Janik  <timj@gtk.org>
580
581         * glib.h: added enum-helper macros for code generation.
582         added G_BREAKPOINT().
583
584 Sat Jun  6 14:09:22 PDT 1998 Manish Singh <yosh@gimp.org>
585
586         * gmem.c: commented out MEM_PROFILE and MEM_CHECK, causing weird
587         problems
588
589 Wed Jun  3 06:19:42 1998  Tim Janik  <timj@gtk.org>
590
591         * glib.h (g_chunk_new0): convenience macro, for allocating small chunks
592         like g_chunk_new() with additional 0 initialization.
593
594 Mon Jun  1 04:43:27 1998  Tim Janik  <timj@gtk.org>
595
596         * ghash.c (g_hash_table_insert): wrote a comment describing why
597         a hash node's key should not also get replaced when overriding
598         previous entries.
599
600 Tue May 26 18:30:06 1998  Tim Janik  <timj@gtk.org>
601
602         * glib.h (g_string_sized_new): new function to controll the preallocated
603         size of a GString.
604
605         * glib.h (g_strreversed): new function to reverse a string.
606
607 Mon May 18 22:14:39 1998  Owen Taylor  <otaylor@gtk.org>
608 (Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp> : gtk-joke-980517-0.patch)
609
610         * gutils.c: Restored a missing prototype for g_vsprintf.
611
612 Wed May 20 05:02:26 1998  Tim Janik  <timj@gtk.org>
613
614         * glib.h: conditionally define NULL, FALSE and TRUE.
615         (g_mem_chunk_create): new convenience macro as a short hand for
616         g_mem_chunk_new().
617         (g_chunk_free): new convenience macro to be consistent with g_chunk_new.
618
619 Tue, 19 May 1998 09:00:02 +0200  Â§Paolo Molaro <lupus@debian.org>
620
621         * gcompletion.c: generic functions for com<TAB>pletion...
622
623 Sun May 17 10:48:27 1998  Tim Janik  <timj@gtk.org>
624
625         * gscanner.c (g_scanner_unexp_token): provide usefull default
626         specifications for identifier_spec and symbol_spec.
627
628         * glib.h: new functions g_slist_nth_data and g_list_nth_data to return
629         the data of the nth element in the list.
630
631 Fri May 15 22:31:49 1998  Tim Janik  <timj@gtk.org>
632
633         * gscanner.c (g_scanner_unexp_token): removed spurious va_end(args)
634         that for some reason didn't produce a compiler wrning on my machine
635         (is va_end undefined for i386?).
636
637 Fri May 15 12:32:08 1998  rodo  <doulik@karlin.mff.cuni.cz>
638
639         * gscanner.c: replaced some snprintf with g_snprintf
640
641 Fri May 15 00:56:59 1998  Tim Janik  <timj@gtk.org>
642
643         * glib.h: further support for gcc function attributes: G_GNUC_FORMAT,
644         G_GNUC_NORETURN and G_GNUC_CONST.
645
646         * gscanner.c (g_scanner_stat_mode): changed stat() to lstat().
647         (g_scanner_msg_handler): "\n" at end of line!
648         (g_scanner_foreach_symbol): new function to iterate over the symbol
649         table (GScanner does value-wrapping).
650
651 Thu May 14 04:14:12 1998  Tim Janik  <timj@gtk.org>
652
653         * glib.h: typedef gint gboolean;
654         this is needed to provide portability with big-endian platforms (e.g.
655         try sizeof(bool) for c++ on big-endians - it's 4).
656         this is also needed to maintain some_union.d_gint==some_union.d_gboolean.
657         plus, gint to gboolean casts and vice versa need to be possible without
658         loss.
659
660 Tue May 12 19:22:58 1998  Owen Taylor  <otaylor@gtk.org>
661
662         * glib/glib.h: Added macros G[U]INT_TO_POINTER() and
663         GPOINTER_TO_[U]INT for storing small integers integers
664         inside pointers.
665
666         * glib/testglib.c: Print sizeof() results
667         as g_print("%ld", (glong)sizeof(foo)), to deal with
668         size_t being long on Alpha's.
669
670 Tue May 12 16:54:15 1998  Owen Taylor  <otaylor@gtk.org>
671         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
672
673         * glib.h gstring.c gmessages.c: Added some missing
674         const to arguments.
675
676         * gutils.c (g_strsignal.c): Added missing return statements.
677
678 Mon May 11 21:11:54 1998  Owen Taylor  <otaylor@gtk.org>
679
680         * gutils.c gmessages.c: Moved g_error, g_warning, g_message and
681         g_print from gutils.c to new file gmessages.c, to avoid having to
682         include <unistd.h> in gutils.c which was causing problems for the
683         g_strsignal implementation on FreeBSD boxes.
684
685 Mon May 11 09:53:43 1998  Tim Janik  <timj@gtk.org>
686
687         * configure.in: preserve automake CFLAGS.
688
689         * Makefile.am: fully rename the created library to libglib-1.1.la.
690         this means we need to change certain portions of the Makefile.am on
691         major/minor version bumps.
692
693         * ltmain.sh: the -release option is not required anymore.
694
695         * glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
696         avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
697         MIN, ABS and CLAMP, these macros might be screwed from other headers.
698
699 Mon May 11 01:44:10 1998  Tim Janik  <timj@gtk.org>
700
701         * gdataset.c: new file, gdatasets implement the object data
702         mechanism from GtkObject. a generic data pointer is associated with
703         a certain location and a key id.
704
705 Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>
706
707         * glib/gmem.c: Experimentally restore GMemChunk
708         to its primeval state - where mem areas are
709         freed incrementally instead of searching the tree
710         every time a mem area is completely empty. Also,
711         always keep one mem chunk around. (Reduced calls
712         to malloc() a lot, but doesn't really improve
713         performance significiantly)
714
715 Thu May  7 08:17:28 1998  Tim Janik  <timj@gtk.org>
716
717         * glib.h (G_GNUC_PRINTF):
718         (G_GNUC_SCANF): macros to facilitate the printf/scanf format argument
719         checking of gcc.
720
721         * gstring.c: const corrections, string!=NULL checks at function entry.
722         (g_string_down): new function for tolower(3) conversion.
723         (g_string_up): new function for toupper(3) conversion.
724
725         * gutils.c: const corrections.
726         (g_strdown): g_string_down() counterpart.
727         (g_strup): g_string_up() counterpart.
728
729         * gscanner.c (g_scanner_unexp_token):
730         (g_scanner_error):
731         (g_scanner_warn): new functions to let a scanner put out warnings
732         or errors, especially to react on unexpected tokens.
733
734         * gslist.c:
735         (g_slist_index): find out about about the position of a
736         certain data pointer.
737         (g_slist_position): find out about about the position of a
738         certain node.
739
740         * glist.c:
741         (g_list_index): find out about about the position of a
742         certain data pointer.
743
744 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
745
746         * ltmain.sh: added a new commandline flag -postfix similar to -release,
747         but will immediately change the library name.
748
749         * Makefile.am: specify -postfix and -version-info
750
751         * configure.in: version bump to 1.1.0. added GLIB_INTERFACE_AGE and
752         GLIB_BINARY_AGE. calculate LT_* variables for libtool.
753
754 Fri May  1 16:36:08 1998  Owen Taylor  <otaylor@gtk.org>
755
756         * gutils.c: (g_strcasecmp). Check for isupper before
757         taking tolower, and account for macroized tolower.
758
759         * gutils.c (g_error): Check for recursion.
760
761 1998-04-27  Elliot Lee  <sopwith@cuc.ml.org>
762
763         * glist.c (g_list_position): New function to find the position of
764         a link in a list - should be the inverse of g_list_nth(), but
765         haven't tested it so poof.
766
767 Thu Apr 30 21:41:30 1998  Owen Taylor  <otaylor@gtk.org>
768
769         * gstring.c : Check arguments more carefully,
770         (gtk-draco-980423-1.patch; ramsey@rhrk.uni-kl.de)
771
772 Tue Apr  7 19:36:48 1998  Owen Taylor  <owt1@cornell.edu>
773
774         * gutils.c (g_direct_compare): Removed, because that's what
775         a NULL comparison function means. And it wasn't 64 bit safe.
776
777 Mon Apr  6 18:43:25 1998  Tim Janik  <timj@gtk.org>
778
779         * gscanner.c (g_scanner_get_token_ll): fixed a bug that caused floats
780         of the format ".xxx" to be parsed as "xxx".
781
782 Fri Apr  3 20:36:35 1998  Owen Taylor  <owt1@cornell.edu>
783
784         * gutils.c (g_parse_debug_string): Make debug string
785         parsine case-insensitive
786
787 Fri Apr  3 17:03:18 PST 1998 Manish Singh <yosh@gimp.org>
788
789         * gstring.c: corrected possible overrun when inserting into
790         GStrings (thanks Elrond)
791
792 Fri Apr  3 18:05:45 1998  Owen Taylor  <owt1@cornell.edu>
793
794         * testglib.c: Removed literal german from strings
795         to appease SGI compiler.
796
797 Thu Mar 26 20:47:21 1998  Owen Taylor  <owt1@cornell.edu>
798
799         * configure.in glib glibconfig.h.in: Add test for atexit/on_exit -
800         use on_exit if atexit not found in definition of ATEXIT.
801
802 Wed Mar 25 15:23:37 1998  Owen Taylor  <owt1@cornell.edu>
803
804         * Makefile.am: Switched glibconfig.h rule from HEADERS
805         to DATA, so that it is not added to DISTFILES
806
807 Wed Mar 18 22:27:08 PST 1998 Manish Singh <yosh@gimp.org>
808
809         * garray.c: g_rarray_truncate length done correctly
810
811 Sun Mar 15 07:13:34 1998  Tim Janik  <timj@gimp.org>
812
813         * gutils.c: changed *_handler variables to be named glib_*_handler,
814         so you can easily access them from gdb.
815
816 Sat Mar 14 17:47:43 1998  Owen Taylor  <owt1@cornell.edu>
817
818         * Makefile.am: Don't refer to current directory as $(top_builddir)
819         to avoid confusing non-gmakes
820
821 Sat Mar 14 01:37:35 1998  Owen Taylor  <owt1@cornell.edu>
822
823         * Makefile.am (configincludedir): Moved glibconfig.h to
824           $(pkglibdir)/include
825
826 Tue Mar 10 02:03:12 1998  Tim Janik  <timj@gimp.org>
827
828         * gscanner.c (g_scanner_destroy_symbol_table_entry): new function to
829         free symbol table entries upon destruction
830         (gtk-gronlund-980309-0.patch.gz).
831
832 Mon Mar  9 15:02:21 1998  Tim Janik  <timj@gimp.org>
833
834         * glib.h: changed *_length functions to return guint.
835         changed *_nth functions to take guint as argument.
836
837         * glist.c: adapted g_list_length and g_list_length.
838
839         * gslist.c: adapted g_slist_length and g_slist_length.
840
841 Mon Mar  2 17:51:18 1998  Owen Taylor  <owt1@cornell.edu>
842
843         * glib.h gutils.c : changed g_strcasecmp
844           to take gchar* not guchar*
845
846         * testglib.c: Remove trailing ; after functions
847
848 Sun Mar  1 19:04:40 1998  Owen Taylor  <owt1@cornell.edu>
849
850         * glib.h gstring.c: Added g_string_insert[_c]()
851           and g_string_erase().
852
853           From: Stefan Wille  <1wille@vsys1.informatik.uni-hamburg.de>
854
855 Mon Feb 16 23:05:06 1998  Owen Taylor  <owt1@cornell.edu>
856
857         * glist.c (g_list_insert_sorted): Changed function
858           so elements are always inserted, even if they compare
859           equal with another.
860
861 Thu Feb 12 22:48:11 1998  Owen Taylor  <owt1@cornell.edu>
862
863         * gstring.c glib.h: removed deprecated g_string_equal
864           and g_string_hash.
865
866 Tue Feb 10 13:04:36 1998  Owen Taylor  <owt1@cornell.edu>
867
868         * configure.in: Add check to see if the C library's
869           iswalnum can actually be used. (Not true for
870           Linux libc-5.4.38)
871
872 Sat Feb  7 11:48:09 1998  Owen Taylor  <owt1@cornell.edu>
873
874         * gstring.c gutils.c: added some additional consts in
875           appropriate places to remove a warning
876
877 Sat Feb  7 11:15:54 1998  Owen Taylor  <owt1@cornell.edu>
878
879         * gutils.c: include <ctype.h> for tolower()
880
881 Fri Jan 30 23:57:17 PST 1998 Manish Singh <yosh@gimp.org>
882
883         * added and autoconfigured in a new utility function
884         g_strcasecmp
885
886 Wed Jan 28 23:53:27 PST 1998 Manish Singh <yosh@gimp.org>
887
888         * glist.c
889         * gslist.c
890         * testglib.c: the sort functions compared backwards. Fixed
891         * glib.h: list iterator macros now check for NULL pointers
892
893 Tue Jan 27 09:46:57 PST 1998 Manish Singh <yosh@gimp.org>
894
895         * gstring.c: g_string_prepend and g_string_prepend_c had
896         interchanged src and dest parameters for g_memmove. Fixed.
897
898 Tue Jan 27 01:38:52 PST 1998 Manish Singh <yosh@gimp.org>
899
900         * gslist.c: fixed a really, really lame error. g_slist_insert
901         didn't hook the data in! Reworked the routine to reflect the
902         functionality of g_list
903
904 Wed Jan 21 01:13:25 1998  Tim Janik  <timj@psynet.net>
905
906         * Applied patch from (Raja R Harinath <harinath@cs.umn.edu>)
907           to add function g_snprintf.
908         * configure.in (AC_CHECK_FUNCS): Check for vsnprintf.
909         * glib.h: Add prototype for g_snprintf.
910         * glibconfig.h.in: Add HAVE_VSNPRINTF.
911         * gutils.c (g_snprintf): new function.
912
913 Sat Jan 17 23:52:40 1998  Owen Taylor  <owt1@cornell.edu>
914
915         * gstring.{c,h} gscanner.c:
916            renamed g_string_equal => g_str_equal
917            renamed g_string_hash => g_str_hash
918           And const corrected. Old functions left in for now.
919
920 Fri Jan  9 20:03:46 1998  Tim Janik  <timj@psynet.net>
921
922         * gutils.c (g_strerror): changed message for EAGAIN from
923         "no more processes" to "try again" since EAGAIN is used with
924         functions else than fork().
925
926         * gscanner.c (g_scanner_get_token_ll): use strtol() instead of
927         strtoul() to avoid conflicts with solaris.
928
929         * merged the glib portions from Jan 2 to Jan 7 out of gtk+/ChangeLog
930         into this file.
931
932 Wed Jan  7 02:14:30 PST 1998 Manish Singh <yosh@gimp.org>
933
934         * glib.h:
935         * glist.c:
936         * gslist.c:
937         * testglib.c: Added g_[s]list_insert_sorted function
938         and appropriate tests in testglib
939
940 Sat Jan  3 20:23:25 1998  Owen Taylor  <owt1@cornell.edu>
941
942         * glib.h: Changed guint32 -> guint for bitfields.
943         (Bitfields must be int or unsigned int?)
944
945 Fri Jan  2 23:52 PST 1998 Jay Painter <jpaint@serv.net>
946
947         * glib_pre1.h:
948         * glib_pre2.h:
949         * glib.h: reverted glibconfig.h and glib.h files back to the
950         way they were before my ugly hack.
951
952         * gscanner.c: removed inlines from clist and gscanner
953
954 Tue Dec 23 02:49:51 1997  Tim Janik  <timj@psynet.net>
955
956         * gscanner.c: new file for GScanner: Flexible lexical scanner for
957         general purpose.
958         * glib_pre2.h: added GScanner includes. added g_strconcat and g_strtod.
959         gutils.c (g_strconcat): new function for string concatenation of NULL
960         terminated parameter list.
961         (g_strtod): new function to perform best string to double conversion
962         with or without consideration of the current locale.
963
964 Mon Dec 15 19:33:58 1997  Tim Janik  <timj@psynet.net>
965
966         * glist.c: minor optimizations:
967         (g_list_append): `if' optimized for common code path, commented out
968         unneccessary `assert', saved one variable assignment.
969         (g_list_prepend): saved two (conditioned) variable assignment.
970         (g_list_insert): saved one  (conditioned) variable assignment,
971         saved one variable assignment.
972         (g_list_remove): `if' optimized for common code path, saved two
973         variable assignments by using `g_list_free_1' (which is even
974         faster) instead of `g_list_free'.
975         (g_list_reverse): saved allocation of one variable, saved one
976         variable assignment.
977
978 Wed Dec 10 23:27:20 1997  Tim Janik  <timj@psynet.net>
979
980         * glib_pre1.h:
981         * glib_pre2.h:
982         * glib.h: this file now gets concatenated by makeglib_h from
983         glib_pre1.h and glib_pre2.h to merge in glibconfig.h wich got
984         created by configure (done by Jay Painter).
985
986         * glib_pre2.h: the g_assert*() and g_return_*_fail() macros
987         are wrapped by G_STMT_START and G_STMT_END now, to avoid conflicts
988         when used within if (...) g_macro(); else ... conditionals.
989
990 Tue Dec 17 13:14:07 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
991
992         * glib.h: Changed 'g_return_if_fail' and 'g_return_val_if_fail' to
993         not call 'g_string' but to simply stringify the
994         expression. Calling 'g_string' causes the expression to be
995         expanded which is undesired.
996
997 Sun Dec  1 01:30:48 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
998
999         * Started ChangeLog