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