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