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