NEWS: README: configure.in: glib.spec: Updated to version 1.1.5
[platform/upstream/glib.git] / ChangeLog.pre-2-2
1 Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
2
3         * INSTALL:
4           NEWS:
5           README:
6           configure.in:
7           glib.spec: Updated to version 1.1.5
8
9         * Released GLib 1.1.5
10
11 Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
12         * gdataset.c: There was a code path into g_data_set_internal
13           through a function (g_datalist_id_set_full). Neither function
14           checked for g_dataset_init having been run, but
15           g_data_set_internal used the memchunk. I added
16           a check into g_data_set_internal so it will do the
17           initialization if needed. (There's probably a better way.)
18
19 Mon Nov 16 07:48:06 1998  Tim Janik  <timj@gtk.org>
20
21         * glib.h (g_bit_nth_msf): fixed off-by-one error, so we don't waste
22         a loop iteration if (-1) was passed, reported by Andreas Bombe
23         <andreas.bombe@munich.netsurf.de>.
24
25 Fri Nov 13 15:17:34 1998  Owen Taylor  <otaylor@redhat.com>
26
27         * glist.c gslist.c glib.h: Added g_list_sort() and
28         g_slist_sort() to merge sort GLists and GSLists.
29         Submitted by Sven Over <sven.over@ob.kamp.net>
30         over a year ago!
31
32         * testglib.c: Test the new sort functions.
33
34 Wed Nov 11 23:23:22 EST 1998 Jeff Garzik <jgarzik@pobox.com>
35
36         * Makefile.am : INCLUDES is the right way to add to CFLAGS, not
37         DEFS.  Also there are bugs with '+=' in makefiles.
38         Got rid of DEFS line by moving G_LOG_DOMAIN setting into INCLUDES.
39         Removed redundant -I from INCLUDES.
40
41 Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net>
42
43         * docs/*.sgml : Batch of new documentation that should be easier
44         to maintain and extend. Plus generate whatever sort of doc file
45         you would like. I didn't change the Makefile stuff as I'm not sure
46         what default doc type people want. Oh and this is all DocBook format.
47         Enjoy!
48
49 Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org>
50
51         * configure.in: use __extension__ for long long on gcc >= 2.8 and
52         egcs, and provide a G_GINT64_CONSTANT wrapper so -ansi -pedantic
53         compiles clean.
54
55         * glib.h: make the endian x86 asm __const__ so the compiler can do
56         better optimizations. Also remove the cc clobber, these shouldn't
57         be changing condition codes. Ditch some redundant casts. Add an
58         optimization for 64-bit endian conversions in x86. Use constant
59         wrapper for the generic method.
60
61         * testglib.c: use constant wrappers for 64-bit constants
62
63 1998-11-04  Phil Schwan  <pschwan@cmu.edu>
64
65         * configure.in: Added 'strncasecmp' to the list of functions to be
66         searched for.
67         * glib.h: Added a prototype for 'g_strncasecmp'
68         * gstrfuncs.c: (g_strncasecmp) new function modeled closely after
69         'g_strcasecmp'
70
71 Wed Nov  4 15:06:44 PST 1998 Manish Singh <yosh@gimp.org>
72
73         * config.h.win32 (new file)
74         * glibconfig.h.win32
75         * glib.def
76         * makefile.msc: applied glib-tml-981104, win32 sync
77
78 1998-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
79
80         * glib.h: 
81         * garray.c:
82         (g_array_remove_index): new function for removing an entry from an
83         array while preserving the order
84         (g_array_remove_index_fast): new function for removing an entry
85         from an array. the order might be distorted
86         (g_ptr_array_remove_index_fast, g_ptr_array_remove_fast): new
87         functions; working similiar to the above. (they have the semantic
88         of the old g_ptr_array_remove[_index] functions)
89         (g_ptr_array_remove_index, g_ptr_array_remove): new semantic. now
90         the order of the elements in the array is not changed
91         (g_byte_array_remove_index, g_byte_array_remove_index_fast): new
92         functions; byte_array wrapper for g_array_remove_index[_fast]
93
94 Sun Nov  1 23:00:18 PST 1998 Manish Singh <yosh@gimp.org>
95
96         * glib.h
97         * configure.in: endian macros defined using the glibconfig.h
98         mechanism now
99
100         * ghook.c: casts for GHookFunc and GHookCheckFunc to avoid warnings
101
102 Sat Oct 31 20:14:22 PST 1998 Manish Singh <yosh@gimp.org>
103
104         * applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog
105         entry appended below)
106
107         * testglib.c
108         * gstrfuncs.c
109         * glib.h: use G_HAVE_GINT64, since HAVE_GINT64 is gone
110
111         * gmessages.c
112         * gscanner.c: #include <config.h> in here too, for HAVE_UNISTD_H
113  
114 1998-11-01 Tor Lillqvist <tml@iki.fi>
115
116         * glib.def: Added the new functions.
117
118         * gutils.c:
119         (g_getenv): Better implementation on Win32. No loop necessary.
120         (g_get_any_init): Use P_tmpdir if defined as tmp directory. Don't
121         set home dir always to NULL on Win32.  Don't use tmp directory as
122         last resort home directory, but return NULL if no home
123         directory is known (application must check).
124
125         * makefile.msc: Better touch command, just COPYing a single file
126         sets the timestamp from that file, which isn't what touching should
127         do.
128
129 1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
130
131         Land glib-rrh-19981025-0.patch.
132         * Makefile.am (glibconfig.h): New rule.  
133         (stamp-gc-h): New rule.  Generate `glibconfig.h'.
134         * configure.in (AM_CONFIG_HEADER): It is now `config.h'.
135         (HAVE_BROKEN_WCTYPE): On Solaris, look for iswalnum in -lw before
136         concluding "broken wctype".
137         (glibconfig.h): Use AC_OUTPUT_COMMANDS to put generation code into
138         config.status.
139         * glib.h: Remove a lot of tests and defines.  All these have been
140         moved to `configure.in (glibconfig.h)'.
141         * gerror.c: Include <config.h>.
142         * gmem.c: Likewise.
143         * gstrfuncs.c: Likewise.
144         * gutils.c: Likewise.
145         
146 Sat Oct 31 05:08:26 1998  Tim Janik  <timj@gtk.org>
147
148         * glib.h: removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros.
149         added macros G_STRUCT_OFFSET(), G_STRUCT_MEMBER_P() and
150         G_STRUCT_MEMBER() for handling structure fields through their offsets.
151         (struct _GHookList): added a hook_free function member, that can be used
152         to free additional fields in derived hook structures.
153         g_hook_free(): if hook_list->hook_free != NULL, call this function prior
154         to freeing the hook. (this functionality should have been there in the
155         first place, it just got forgotten as an implementation detail).
156
157 Wed Oct 28 00:49:32 PST 1998 Manish Singh <yosh@gimp.org>
158
159         * glib.h: G_BREAKPOINT for alpha from Robert Wilhelm
160         <robert@physiol.med.tu-muenchen.de>
161
162 Tue Oct 27 07:25:53 1998  Tim Janik  <timj@gtk.org>
163
164         * glib.h:
165         * gscanner.c:
166         (g_scanner_sync_file_offset): new function for file input.
167         rewind the filedescriptor to the current buffer position and blow
168         the file read ahead buffer. usefull for third party uses of our
169         filedescriptor, which hooks onto the current scanning position.
170         (this became neccessary with the implementation of buffered
171         reads).
172         (g_scanner_input_file): 
173         (g_scanner_input_text): automatically blow the read ahead buffer.
174         (g_scanner_get_char): blow the read ahead buffer when the end of
175         input is reached, i.e. a '\000' char is read.
176
177 Tue Oct 27 00:27:31 PST 1998 Manish Singh <yosh@gimp.org>
178
179         * glib.h: get rid of duplicate #g_htonl and friends in the
180         NATIVE_WIN32 part
181
182 Mon Oct 26 22:42:01 PST 1998 Manish Singh <yosh@gimp.org>
183
184         * glibconfig.h.win32
185         * gutils.c
186         * makefile.msc: win32 patch from Tor Lillqvist (glib-tml-981027-0),
187         fixes some minor win32 buglets
188
189 Mon Oct 26 22:12:03 PST 1998 Manish Singh <yosh@gimp.org>
190
191         * glib.h: reimplemented the endian stuff, using inline asm
192         for x86. #define g_htonl and friends.
193
194         * testglib.c: new tests for the endian stuff
195
196         * configure.in: care for AIX in gmodule linker flags test (from
197         Joel Becker <jlbec@raleigh.ibm.com>). Check $host_os for linux
198         instead of existance of /usr/include/linux
199
200         * gutils.c: buh-bye evil warning. Thou hast been #ifdef'd out
201         of thine existance!
202
203 Tue Oct 27 03:00:50 1998  Tim Janik  <timj@gtk.org>
204
205         * glib.h: removed dummy structure definitions for struct _GCache,
206         _GTree, _GTimer, _GMemChunk, _GListAllocator and _GStringChunk.
207
208         * gutils.c: implement glib's inline functions _after_ all include
209         statements have been processed.
210         removed Tor's MAXPATHLEN check since there already was one supplied
211         further down in this file.
212         (LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32,
213         since lcc maybe used on other platforms as well. why in hell is this
214         stuff required?
215         (g_get_any_init): for windows, if the user name is supplied, use it as
216         realname also.
217         in general, if there is no homedir specified, use the tmpdir that
218         we already figured.
219
220         * gtimer.c (g_timer_elapsed): changed a g_assert() statement to
221         g_return_if_fail().
222
223         * applied glib-tml-981020-0.patch for WIN32 portability, added some
224         comments and g_return_if_fail() statements, minor indentation fixes.
225         ChangeLog entry from Tor Lillqvist is appended.
226
227         * glib.h (struct dirent): use lower case structure members.
228
229         * glib.h: 
230         * makefile.lcc:
231         * makefile.msc:
232         s/COMPILING_GLIB/GLIB_COMPILATION/
233
234 1998-10-20: Tor Lillqvist <tml@iki.fi>
235
236         * README.win32 glib.def gmodule.def
237         * glibconfig.h.win32 gmodule/gmoduleconf.h.win32:
238         New files for the Windows port. The .def files list exported
239         symbols for the Microsoft linker and compatibles.
240
241         * configure.in:
242         Added checks for some platform-dependent headers: pwd.h sys/param.h
243         sys/select.h sys/time.h sys/times.h unistd.h, and the function lstat.
244
245         * gerror.c:
246         Conditionalized inclusion of system-dependent headers. Changes
247         for Windows: no gdb to do a stack trace. Just call abort().
248
249         * glib.h:
250         Changes for Windows:
251
252         Added macros G_DIR_SEPARATOR, G_DIR_SEPARATOR_S for
253         platform-dependent file name syntax elements. Added macros
254         G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S for
255         platform-dependent search path syntax conventions.
256
257         Added pragmas for Microsoft C to make it more pedantic.
258
259         Marked GLib's global variables for export from DLL.
260
261         Added the function g_strescape that escapes backslashes.
262
263         Added functions g_path_is_absolute and g_path_skip_root to
264         handle platform-dependent file name syntax.
265
266         Added the function g_getenv that expands environment variables
267         that contain references to other environment variables, as is
268         typical on Windows NT.
269
270         Added the GIOChannel structure which is used to encapsulate the
271         IPC mechanism used by the GIMP's plug-ins, and possibly other
272         things later. On Unix a GIOChannel encapsulates just a file
273         descriptor. On Windows it contains a file handle from _pipe() and a
274         few other things related to the implementation of gdk_input_add
275         and GIMP plug-in communication. Subject to change.
276
277         Removed duplicate declarations of the version variables.
278
279         For the Microsoft compiler, declare own implementation of
280         ftruncate and the <dirent.h> functions.
281
282         * gmem.c:
283         Define a symbolic name  for the profiling table size.
284
285         * gmessages.c:
286         Conditionalized inclusion of unistd.h. On Windows, output using
287         stdio to stdout.
288
289         * gscanner.c:
290         Conditionalized inclusion of unistd.h. Added changes for
291         Microsoft C. Added CR to the skipped character set. Added small
292         workaround for MSC compiler bug in g_scanner_cur_value.
293         
294         * gstrfuncs.c:
295         Added the function g_strescape, which escapes the backslash
296         character. Needed especially when printing Windows filenames.
297
298         * gtimer.c:
299         Conditionalized inclusion of unistd.h and sys/time.h. Added
300         implementations for Windows.
301
302         * gutils.c:
303         Conditionalized inclusion of platform-dependent headers. Use
304         the platform-independent file name syntax macros.
305         Conditionalize code on platform-dependent features. Added the
306         functions g_path_is_absolute g_path_skip_root and g_getenv.
307         Added the GIOChannel-related functions. Added
308         compiler-dependent Unix compatibility functions for Windows.
309
310         * makefile.lcc makefile.msc:
311         New files. Compiler-specific makefiles for LCC-Win32 and
312         Microsoft C. Only Microsoft C is actually supported currently.
313         
314         * testglib.c:
315         Added pathname check cases for Windows. Added workaround for
316         bug in the Microsoft runtime library. Improved some tests a bit.
317         
318 Sun Oct 25 01:24:01 CST 1998 Shawn T. Amundson <amundson@gtk.org>
319
320         * Released GLib 1.1.4
321
322         * docs/Makefile.am:
323         * docs/.cvsignore
324         * docs/glib-config.1: 
325         * docs/glib.texi: Moved docs from gtk and created glib-config.1 
326         from gtk-config.1 in gtk
327
328         * configure.in:
329         * Makefile.am:
330         * sanity_check: added in docs directory, change rule 'release'
331         to 'snapshot' and created a new 'release' rule for doing the
332         distribution.  Added in a 'sanity' rule.
333
334         * NEWS:
335         * README: 
336         * INSTALL: Updated for the release
337
338 Sun Oct 25 07:30:10 1998  Tim Janik  <timj@gtk.org>
339
340         * gscanner.c:
341         (g_scanner_peek_next_char): 
342         (g_scanner_get_char): no more characters are available if read() returns
343         anything less than 1, not only on 0 return.
344
345         * glib.h: 
346         * gstrfuncs.c: final API cleanup of string arrays to suit sopwith's
347         argument order requirements.
348         (g_strsplit): renamed from g_str_array_split().
349         (g_strjoinv): renamed from g_str_array_joinv(), string array is
350         now passed as last parameter. removed `const' qualifier from string
351         array pointer (again).
352         (g_strjoin): new function from sopwith to concatenate strings with
353         an additional seperator.
354         (g_strfreev): renamed from g_str_array_free.
355
356 Sat Oct 24 22:23:04 PDT 1998 Manish Singh <yosh@gimp.org>
357
358         * gnode.c: small fix to g_node_children_foreach to make it work right.
359         From Paco Moya <paco@cadnotebk17.eecs.berkeley.edu>
360
361 Wed Oct 21 19:22:58 1998  Tim Janik  <timj@gtk.org>
362
363         * configure.in (G_MODULE_HAVE_DLERROR): reverted part of the changes
364         from Sebastian Wilhelmi (1998-10-20). don't specify a specific loading
365         behaviour (i.e. RTLD_NOW) when we are not sure whether it is supplied.
366         changed the return value from (!f2 && f1) to (!f2 || f1) so we default
367         to not needing an underscore. reverted the extra plugin.c building,
368         because .lo files are not ELF libraries, this can't work. This needs
369         further investigation on Solaris...
370
371 Wed Oct 21 17:03:05 1998  Tim Janik  <timj@gtk.org>
372
373         * glib.h: 
374         * gstrfuncs.c: API cleanups of the new g_str* functions for consistency
375         with the existing naming scheme for g_str* functions. grouped the g_str*
376         functions that will return a newly allocated string seperatedly. all of
377         the in_place arguments were skipped, the caller is supposed to pass a
378         g_strdup()ed string if he wants to retrive a new copy. indentation and
379         coding style fixups. added some g_return_if_fail() statements.
380         string array functions are prefixed with g_str_array_.
381         (g_strdelimit): return the modified string like all other g_str*
382         functions, that operate in place.
383         (g_strchug): renamed from g_str_chug(), removed in_place argument.
384         (g_strchomp): renamed from g_str_chomp(), removed in_place argument.
385         (g_strstrip): renamed from g_str_strip(), removed in_place argument.
386         (g_str_array_join): renamed from g_strconcatv(), since it actually
387         operates on a string array and has totaly different semantics from
388         g_strconcat(). check for separator != NULL, don't segfault if the first
389         string is NULL. removed the `const' from the string array that's passed,
390         so users can operate on gchar** string arrays.
391         (g_str_array_split): renamed from g_str_split() because we actually
392         produce a string array. reimplemented this function for efficiency.
393         removed macro aliases g_str_joinv and g_str_join.
394
395 1998-10-20  Elliot Lee  <sopwith@redhat.com>
396
397         * glib.h, gstrfuncs.c: Move string join/split/free routines from
398         libgnome/gnome-string, rename, and add g_str_chug.
399
400 1998-10-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
401
402         * configure.in: made the check for needed _ in module's func-names
403         work on solaris. (G_MODULE_NEED_USCORE must be set outside
404         AC_CACHE_VAL, dlopen(0,0) refused to work on solaris).
405
406 Tue Oct 20 03:32:58 PDT 1998 Manish Singh <yosh@gimp.org>
407
408         * configure.in
409         * acconfig.h: added test for endianness
410
411         * glib.h: #define endian macros for system and some conversions
412         between byte order
413
414 Thu Oct  8 06:47:27 1998  Tim Janik  <timj@gtk.org>
415
416         * glib.h:
417         * gdataset.c: removed functions g_dataset_id_set_destroy and
418         g_datalist_id_set_destroy and macros g_dataset_set_destroy and
419         g_datalist_set_destroy.
420         added new functions g_dataset_id_remove_no_notify and
421         g_datalist_id_remove_no_notify plus associated macros
422         g_dataset_remove_no_notify and g_datalist_remove_no_notify, which
423         will remove a certain data portion without invokation of its destroy
424         notifier, this should only be used in very controled circumstances.
425
426 Wed Oct  7 05:31:24 1998  Tim Janik  <timj@gtk.org>
427
428         * glib.h:
429         removed the #pragma } statement after extern "C" {. use
430         (c-set-offset 'inextern-lang 0) to fixup emacs cc-mode indentation.
431
432         * glib.h:
433         * ghook.c: API and code cleanups. changed the G_HOOK_ACTIVE and
434         G_HOOK_IN_CALL enum vals to G_HOOK_FLAG_ACTIVE and G_HOOK_FLAG_IN_CALL.
435         changed the G_HOOK_IS_ACTIVE() and G_HOOK_IS_IN_CALL() macros to
436         G_HOOK_ACTIVE() and G_HOOK_IN_CALL().
437         fixed the g_hook_find* functions, so they iterate over non-active
438         hooks as well.
439         (g_hook_first_valid):
440         (g_hook_next_valid): added an extra argument gboolean may_be_in_call,
441         which indicates whether G_HOOK_IN_CALL() hooks are considered valid
442         or not. these two functions are meant as iterators for the hook list
443         invocation, so they need to a) provide functionality to implement
444         may_recurse bahaviour and b) only walk active hooks.
445
446 Tue Oct  6 14:29:47 1998  Tim Janik  <timj@gtk.org>
447
448         * gmem.c (g_malloc0): fixed memory offsett when ENABLE_MEM_CHECK is
449         defined and ENABLE_MEM_PROFILE is not (patch from Martin Pool
450         <mbp@wistful.humbug.org.au>).
451
452 Sat Oct  3 01:18:10 1998  Tim Janik  <timj@gtk.org>
453
454         * glib.h:
455         * ghook.c:
456         (g_hook_list_invoke):
457         (g_hook_list_invoke):
458         (g_hook_list_marshal): properly handle the first valid hook to call,
459         it maybe IN_CALL already.
460         (g_hook_list_marshal): minor name change.
461
462 Fri Oct  2 23:21:21 1998  Tim Janik  <timj@gtk.org>
463
464         * glib.h:
465         * ghook.c: renamed GHook.id to GHook.hook_id so we don't get troubles
466         with ObjC which reserves "id" as a keyword (Raja R Harinath
467         <harinath@cs.umn.edu>).
468
469 Wed Sep 30 10:53:03 1998  Tim Janik  <timj@gtk.org>
470
471         * Makefile.am: added ghook.c.
472
473         * glib.h:
474         * ghook.c: generic callback maintenance functions.
475
476         * glib.h: define G_GNUC_UNUSED.
477
478 Fri Sep 25 00:04:37 1998  Tim Janik  <timj@gtk.org>
479
480         * configure.in: version bump to 1.1.4, binary age 0, interface age 0.
481
482         * glib.h (struct _GScanner): dumped peeked_char and text_len in favour
483         of *text_end and *buffer for buffered read()s.
484
485         * gscanner.c: changed peeking and retrival of next character so we
486         have buffered reads. fixed minor bug with number parsing error
487         reporting. made some static!!! variables local ones (why did we use
488         static temporary variables in the lowlevel tokenization code anyways?).
489
490 Mon Sep 21 23:23:10 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
491
492         * Released GLib 1.1.3
493
494 Mon Sep 21 07:43:13 1998  Tim Janik  <timj@gtk.org>
495
496         * glib.h: added g_renew() which works as g_new() for g_realloc().
497
498 Mon Sep 21 02:22:12 1998  Tim Janik  <timj@gtk.org>
499
500         * NEWS file update for upcoming release of GLib + GModule
501         version 1.1.3, binary age 0, interface age 0. (GModule uses
502         the same version numbers as GLib.)
503
504         * glib.h: swap the inclusion of of float.h and limits.h to work
505         around a egcs 1.1 oddity on Solaris 2.5.1 (fix provided by
506         Per Abrahamsen  <abraham@dina.kvl.dk>).
507
508         * glib.h:
509         * gscanner.c: renamed the GValue union to GTokenValue, this should
510         not affect source compatibility in most cases.
511
512         * ghash.c: added some g_return_if_fail() statements. make
513         g_hash_table_lookup_node() an inline function so we save an extra
514         function invokation on lookups.
515
516 Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
517
518         * ltmain.sh: Patch to libtool-1.2b to make --disable-static
519         work.
520
521 Sun Sep 20 02:09:44 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
522
523         * glib.h: New function g_hash_table_foreach_remove is similar to
524         g_hash_table_foreach, but the callback's return value indicates
525         whether to remove the element (if TRUE) or not (if FALSE).  
526         Returns the number of elements deleted.
527
528 Fri Sep 18 11:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
529
530         * glib.h
531         * gstrfuncs.c: added g_memdup implementation
532
533 Fri Sep 18 18:46:14 1998  Tim Janik  <timj@gtk.org>
534
535         * glib.h:
536         * gdataset.c: make the datalists a safe type (not using a generic
537         gpointer) by expecting a GData* argument in the g_datalist functions.
538         provide g_dataset_foreach() and g_datalist_foreach() functions that
539         allow a GDataForeachFunc function to walk the data lists.
540         (g_dataset_destroy_internal): made this function truely reentrant (i.e.
541         can be called from within destroy notifiers as well).
542         the *_foreach functions are _not_ reentrant (unless all the other
543         dataset and datalist functions).
544
545 Fri Sep 18 03:41:20 1998  Tim Janik  <timj@gtk.org>
546
547         * gtree.c (g_tree_new): check for key_compare_func != NULL (reported
548         by Michal Kara).
549
550 Thu Sep 17 18:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
551
552         * config.h.in: removed from repository
553
554         * install-sh
555         * missing
556         * mkinstalldirs: updated to latest automake version
557
558 Thu Sep 17 06:36:25 1998  Tim Janik  <timj@gtk.org>
559
560         * glib.h:
561         * gdataset.c: implemented g_datalist_* along the lines of g_dataset,
562         but operates on an opaque gpointer *datalist; pointer, e.g. for the
563         implementation of GtkObject named data.
564         we cache a certain portion of the already freed data entries now, to
565         gain a slight performance improve with data reallocation.
566
567 Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
568
569         * Makefile.am glib-config.in l*: Update to libtool-1.2b,
570         change library versioning scheme to drop LT_RELEASE
571         from the -l line, while keeping it in the soname.
572
573 Fri Sep 11 02:11:46 1998  Tim Janik  <timj@gtk.org>
574
575         * glib.h: explicitely include the prototypes for inline functions
576         to cure gcc warnings for -Wmissing-prototypes.
577
578 Wed Sep  9 02:52:04 PDT 1998 Manish Singh <yosh@gimp.org>
579
580         * configure.in: added -posix check for NeXTStep
581
582 Tue Sep  8 05:04:06 1998  Tim Janik  <timj@gtk.org>
583
584         * glib.h: abandon the use of ATEXIT(), we keep the fallback
585         macros for backwards compatibility. people ought to use g_atexit().
586
587         * gutils.c (g_atexit): new function to take over the implementation
588         of ATEXIT. this function is guarranteed to succeed, similar to
589         g_malloc().
590
591 Mon Sep  7 20:07:38 PDT 1998 Manish Singh <yosh@gimp.org>
592
593         * configure.in: comment the -std1 check and save LIBS properly
594
595 Mon Sep  7 07:53:21 1998  Tim Janik  <timj@gtk.org>
596
597         * configure.in: check for all three inline keywords individually.
598
599         * glib.h: inlining hassle. for compilers that don't allow the `inline'
600         keyword, mostly because of strict ANSI C compliance or dumbness, we try
601         to fall back to either `__inline__' or `__inline'. 
602         we define G_CAN_INLINE, if the compiler seems to be actually *capable*
603         to do function inlining, in which case inline function bodys do make
604         sense. we also define G_INLINE_FUNC to properly export the function
605         prototypes if no inlinig can be performed. we special case most of the
606         stuff, so inline functions can have a normal implementation by defining
607         G_INLINE_FUNC to extern and G_CAN_INLINE to 1.
608
609         * ltconfig: (compiler PIC flag test): special case linux for non
610         aout systems to honour lcc's position independant code (cases
611         "linux*aout)" and "linux*)" got added). (this needs to go into
612         libtool which does an advanced test, checking for __LCC__).
613
614         * autogen.sh: take $CC=lcc into account by invoking automake with
615         --include-deps so lcc isn't scared by gcc's auto-dependancy
616         generation code. care about $ACLOCAL_FLAGS. optionally feature
617         autoheader.
618
619         * minor fixups in other places to cure some of lcc's warnings.
620
621 Sun Sep  6 19:08:53 PDT 1998 Manish Singh <yosh@gimp.org>
622
623         * configure.in: added -std1 check for ANSI compliance (from gtk)
624
625 Sun Sep  6 12:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
626
627         * glib.h: provide proper ATEXIT behavior on NeXTStep by !atexit
628
629 Sat Sep  5 18:03:36 1998  Tom Tromey  <tromey@cygnus.com>
630
631         * gutils.c (GLIB_INLINE): Define.
632         * glib.h (GLIB_INLINE): New define.
633         (g_bit_nth_msf): Use it.  Also, add prototype.
634         (g_bit_storage): Likewise.
635         (g_bit_storage): Likewise.
636
637 Sat Sep  5 04:40:02 1998  Tim Janik  <timj@gtk.org>
638
639         * glib.h: 
640         (g_chunk_new0): use g_mem_chunk_alloc0() to allocate the memchunk,
641         so the correct size of the memchunk is allocated with 0's and not
642         a memory portion of the size of the desired type.
643
644         * gmem.c: new function g_mem_chunk_alloc0() which will initialize
645         a memory area allocated with g_mem_chunk_alloc() with 0's.
646
647 Wed Sep  2 19:13:28 1998  Owen Taylor  <otaylor@redhat.com>
648
649         * garray.c glib.h (g_array_[ap/pre]pend_vals): make
650         data argument const.
651
652 Wed Aug 26 06:32:40 1998  Tim Janik  <timj@gtk.org>
653
654         * glib.h:
655         * gstrfuncs.c: new function g_strnfill() to return a new string
656         of specified length, filled with a specific character.
657
658 Tue Sep  1 23:46:31 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
659
660         * testglib.c (main): Update the array tests.  Reduce the number of
661         iterations for the prepend test from 10000 to 100 since it is
662         O(n^2) and was taking longer than I would like to wait.
663
664         * garray.c: I've worked on the GArray interface, mostly.  It was
665         seriously broken before and I hate to do it, but this is going to
666         break some code.  It is important to do this now, because more and
667         more people are starting to use glib and the interface was both
668         broken and inconsistent.  First, rename the _truncate functions of
669         both the GArray and GPtrArray classes to _set_size, since this
670         function can also be used to extend the arrays.  GArray now
671         accepts two more initialization arguments: clear and element_size.
672         Instead of providing the type to each access function, the array
673         now stores the element size.  Clear, if set, causes the library to
674         zero element's memory as the array expands.  The major broken-ness
675         here was that array->len was in bytes, not elements.  Now, since
676         the array knows its element size, array->len is correct and I have
677         removed the g_array_length macro.  The only macro which now
678         accepts the type as an argument is g_array_index, which casts the
679         element to the right type--this interface does not change.  The
680         append and prepend functions simply need the types removed.
681         g_ptr_array_remove_index now returns the removed element.
682
683         * gprimes.c (g_spaced_primes_closest): Move this function out of
684         ghash.c and rename it from g_hash_closest_prime.  Fix the primes
685         so that they are actually prime (they weren't all -- isn't that
686         nice?).
687
688 Mon Aug 24 02:08:56 1998  Tim Janik  <timj@gtk.org>
689
690         * glib.h:
691         * gstring.c:
692         * gstrfuncs.c:
693         (g_vsprintf): removed this function which was not publically
694         exported in glib.h. to export it, it should have been named
695         differently in the first place, since its semantics differ from
696         vsprintf(). apart from that, it was a possible cause for
697         problems since it worked on a previously allocated memory area and
698         was used in a lot places of glib. exporting it would have been a
699         guararant for problems with threaded programs.
700         (g_printf_string_upper_bound): exported this function to return
701         a string size, guarranteed to be big enough to hold the fully
702         expanded format+args string. added 'q', 'L' and 'll' flag handling.
703         in fact, the newly allocated area is in most cases much bigger than
704         required.
705         (g_strdup_vprintf()): new function returning a newly allocated string
706         containing the contents of *format and associated args (size is
707         calculated with g_printf_string_upper_bound()).
708         (g_strdup_printf): new function which wraps g_strdup_vprintf().
709
710         * configure.in: check for va_copy() or __va_copy() alternatively.
711         check whether va_lists can be copyied by value.
712
713         * glib.h: provide a definition for G_VA_COPY.
714
715         * glib.h:
716         * gmessages.c:
717         (g_logv):
718         (g_vsnprintf):
719         pass va_lists by value, not by reference, since this causes problems
720         on platforms that implement va_list as as arrays. internaly, use
721         G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second
722         va_list variable, if multiple passes are required. changed all
723         callers.
724
725         * glib.h:
726         * gerror.h:
727         renamed g_debug() to g_on_error_query(), cleaned up a bit.
728         renamed g_stack_trace() to g_on_error_stack_trace() since both
729         functions cluttered different namespaces.
730         there is an appropriate comment in glib.h now that explains the
731         unix and gdb specific dependencies of both functions.
732         removed g_attach_process().
733         g_on_error_stack_trace() should probably be handled with caution,
734         i've seem several different linux versions (2.0.x) become unstable
735         after invokation of this function.
736
737 1998-08-18: Elliot Lee <sopwith@redhat.com>
738
739         * In gmem.c, add the ability to exclude memory chunks from the
740           memory profiling information.
741
742 Tue Aug 18 18:23:09 PDT 1998 Manish Singh <yosh@gimp.org>
743
744         * glib.h
745         * gstrfuncs.c: added g_strndup
746
747 Tue Aug 18 04:40:17 1998  Tim Janik  <timj@gtk.org>
748
749         * glib.h:
750         * gmessages.c: new function g_log_set_always_fatal() to set an
751         additional fatal_mask for log levels that are considered to be fatal
752         globally (required by gtk). since this mask is not domain-associated,
753         it is restricted to the log levels, introduced by glib itself.
754
755         * gmem.c:
756         * grel.c:
757         * gtree.c (g_tree_node_check):
758         don't use g_print() calls for informational/debugging output,
759         but log all this stuff through g_log() with G_LOG_LEVEL_INFO.
760         libraries shouldn't use printf(), g_print() or g_printerr() at all.
761
762 Tue Aug 18 02:46:44 1998  Tim Janik  <timj@gtk.org>
763
764
765         * glib.h (__STRICT_ANSI__): if __STRICT_ANSI__ is defined, make
766         `inline' a noop, since strict ANSI rules don't permit `inline'.
767
768 Mon Aug 17 15:21:42 1998  Tim Janik  <timj@gtk.org>
769
770         * grel.c: made private functions static.
771
772 Sun Aug 16 23:23:46 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
773
774         * gmodule/Makefile.am: added gmodule-dl.c and gmodule-dld.c to
775           EXTRA_DIST
776         * glib.spec: version = 1.1.3
777
778 Mon Aug 17 01:46:14 1998  Tim Janik  <timj@gtk.org>
779
780         * glib.m4: feature an extra MODULES parameter, so glib-config can
781         be invoked with the "gmodule" argument.
782
783         * glib.h: changed the log level to G_LOG_LEVEL_CRITICAL for all
784         g_return*_if_fail statements, and made them issue a message
785         like "assertion `%s' failed".
786
787         * gmessages.c (g_logv): ugh, don't pass log_domain as NULL to
788         g_log_find_domain.
789
790 Sun Aug 16 20:28:27 1998  Tim Janik  <timj@gtk.org>
791
792         * version bump to 1.1.3, binary age 0, interface age 0.
793
794         * glib.h: be nice to platforms that don't have gint64 and don't
795         issue #warning on every compilation. since glib doesn't require
796         gint64 itself, packages that need gint64 should test for this
797         themselves.
798
799         * glib.h:
800         * gutils.c: added a new function g_vsnprintf().
801
802 Sun Aug 16 Elliot Lee
803
804         glib.h: #error out if we don't recognize the SIZEOF_VOID_P
805                 #warning if no gint64
806
807 Fri Aug 14 16:41:53 1998  Tim Janik  <timj@gtk.org>
808
809         * glib.h: added static inline functions for bit mask tests:
810         g_bit_nth_lsf, g_bit_nth_msf and g_bit_storage.
811
812 Fri Aug 13 14:23:37 1998  Tim Janik  <timj@gtk.org>
813
814         * glib.h:
815         * gmessages.c:
816         revised the message handling system, which is now based on a new
817         mechanism g_log*. most of the assertment macros got adapted to
818         feature the new g_log() call with an additional specification of
819         the log level in a preprocessor macro G_LOG_DOMAIN. if G_LOG_DOMAIN
820         is undefined upon the includion of glib.h, it'll be defined with a
821         value of (NULL) and thus preserves the original bahaviour for
822         warning and error messages. the message handler setting functions
823         for g_warning, g_error and g_message are only provided for backwards
824         compatibility and might get removed somewhen.
825
826         * Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
827         to "GLib" upon compilation. we currently have to add this definition
828         to the DEFS variable.
829         * testglib.c: we need an ugly #undef G_LOG_DOMAIN at the start
830         of this file currently, since automake doesn't support per target
831         _CFLAGS yet.
832
833         * glib.h: changed some gints to gbooleans, made a few const corrections,
834         removed some superfluous G_STMT_START{}G_STMT_END wrappers, added some
835         in other required places.
836
837         * gnode.c:
838         (g_node_prepend):
839         (g_node_insert_before):
840         (g_node_insert):
841         (g_node_append_data):
842         (g_node_prepend_data):
843         (g_node_insert_data_before):
844         (g_node_insert_data):
845         (g_node_append):
846         return (node), so these macros/functions can be usefully chained with
847         g_node_new().
848
849 Mon Aug 10 17:56:11 PDT 1998 Manish Singh <yosh@gimp.org>
850
851         * glib.h: it's GTime now, and it's back!
852
853 Mon Aug 10 02:17:19 1998  Tim Janik  <timj@gtk.org>
854
855         * Makefile.am: minor hack to cause SUBDIRS (gmodule) to be build
856         last. we do this by making all-recursive-am depend on all-am.
857
858 Sun Aug  9 15:56:11 1998  Tim Janik  <timj@gtk.org>
859
860         * configure.in: added GModule checks. generate files in gmodule/.
861         * glib-config.in: support library specifications `glib' and `gmodule'.
862         * Makefile.am: feature the gmodule/ subdir.
863
864 Wed Aug  5 10:04:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
865
866         * Released GLib 1.1.2
867
868 Wed Aug 05 01:15:36 1998  George Lebl  <jirka@5z.com>
869
870         * testglib.c: fix 64-bitness in g_prints, sizeof doesn't
871           seem to return int so I cast it for printing, probably
872           just cosmetic
873
874 Tue Aug  4 19:54:06 PDT 1998 Shawn T. Amundson <amundson@gkt.org>
875
876         * Released GLib 1.1.1
877
878 Tue Aug  4 15:17:54 1998  Tim Janik  <timj@gtk.org>
879
880         * configure.in: version bump to 1.1.1, binary age 1, interface age 0.
881         * NEWS: updates.
882         * README: updates.
883         * INSTALL: updates and fixes.
884         * COPYING: include the GNU LGPL, rather than shipping an empty file.
885         * AUTHORS: listed original authors here, and added people who made
886         significant improvements to glib.
887
888         * glib.h:
889         * gutils.c: implement g_get_current_dir() which returns a newly
890         allocated string, instead of a g_getcwd() variant that operates
891         on a static buffer.
892         export glib_interface_age and glib_binary_age.
893         as a convenience, macro definitions have been added for
894         g_node_insert_data, g_node_insert_data_before, g_node_append_data and
895         g_node_prepend_data.
896
897         * testglib.c: minor cleanups, print current dir.
898
899 Mon Aug  3 16:02:26 1998  Tim Janik  <timj@gtk.org>
900
901         * glib.h:
902         * gnode.c: change order of gpointer data; field in struct _GNode to
903         be partly binary compatible with GList and GSList.
904
905 1998-08-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
906
907         * garray.c (g_ptr_array_remove_index): bugfix: index check for
908         array has been wrong.
909
910 Fri Jul 31 22:17:05 1998  Tim Janik  <timj@gtk.org>
911
912         * testglib.c (g_node_test): added a GNode test.
913
914 Fri Jul 31 09:08:16 1998  Tim Janik  <timj@gtk.org>
915
916         * Makefile.am: compile gnode.c.
917
918         * glib.h:
919         * gnode.c: added implementation of n-way trees.
920
921         * gtree.c (g_tree_traverse): added a warning to the switch() statement
922         which says that G_LEVEL_ORDER is not implemented.
923
924 Mon Jul 27 00:17:30 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
925
926         * Released GLib 1.1.0
927
928 Mon Jul 27 01:02:27 1998  Tim Janik  <timj@gtk.org>
929
930         * glib.h: #if 0'ed out the GTime definition, until it is definitively
931         needed. #if 0'ed out the g_getcwd() version, because it is the wrong
932         implementation.
933
934 Sat Jul 25 16:09:00 1998  Mark Crichton <crichton@expert.cc.purdue.edu>
935
936         * glib.h: gtime changed to g_time.  gtime is used in
937         /usr/include/time.h in NetBSD, causing multiple headaches.
938         If this isn't the right way of fixing it.... ;)
939
940 Thu Jul 23 00:29:14 1998  Tim Janik  <timj@gtk.org>
941
942         * glib.h:
943         * gscanner.c: new functions to make a scanner scope sensitive wrt
944         symbol lookups.
945         g_scanner_scope_foreach_symbol, g_scanner_scope_lookup_symbol,
946         g_scanner_scope_remove_symbol, g_scanner_scope_add_symbol and
947         g_scanner_set_scope.
948         g_scanner_add_symbol, g_scanner_remove_symbol and
949         g_scanner_foreach_symbol are now aliases for scope 0.
950
951 Mon Jul 20 23:05:34 1998  George Lebl  <jirka@5z.com>
952
953         * glib.h: typo fixed for alphas for gint64
954
955 Tue Jul 14 09:05:18 1998  Tim Janik  <timj@gtk.org>
956
957         * glib.h:
958         * gutils.c: new fuction g_dirname() which returns a newlly
959         allocated string.
960
961 Fri Jul 10 06:33:43 1998  Tim Janik  <timj@gtk.org>
962
963         * glib.h:
964         * gutils.h: added a bunch of utility/wrapper functions:
965         g_basename(), g_getcwd(), g_get_user_name(), g_get_real_name(),
966         g_get_home_dir(), g_get_tmp_dir(), g_get_prgname() and g_set_prgname().
967
968         * gutils.c: removed all g_str* functions.
969         * gstrfuncs.c: moved the bunch g_str* functions from gutils.c in this
970         place. this file shall never include <unistd.h> to avoid clashes for
971         some of the g_str* functions on some OSes.
972
973 Fri Jul 10 00:29:03 EEST 1998 Lauri Alanko <nether@gimp.org>
974
975         * glib.h:
976         * ghash.c: Renamed g_hash_table_lookup_full to
977         g_hash_table_lookup_extended to conform with naming conventions.
978
979 Tue Jul  7 03:18:58 EEST 1998 Lauri Alanko <nether@gimp.org>
980
981         * glib.h:
982         * ghash.c: Generic cleanup, added a function:
983         (g_hash_table_lookup_full): Return whether the lookup succeeded,
984         and also retrieve the key and value. This allows one to
985         distinguish between failed lookup and finding a NULL, and also
986         allows one to free a key in the hash.
987
988 Mon Jul  6 10:12:05 PDT 1998 Manish Singh <yosh@gimp.org>
989
990         * ltconfig: fix for properly detecting shared lib support on
991         SunPro cc (taken from libtool 1.2.a)
992
993 Sat Jul  4 13:38:52 PDT 1998 Manish Singh <yosh@gimp.org>
994
995         * glib.h: added g_array_length
996
997 Tue Jun 30 11:58:25 1998  Tim Janik  <timj@gtk.org>
998
999         * gscanner.c (g_scanner_unexp_token): take symbol_2_token into
1000         account. react on valid/invalid string pairs.
1001
1002 Sat Jun 27 21:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
1003
1004         * glib.m4: ftp.glib.org -> ftp.gtk.org, since glib.org isn't
1005         ours. ;)
1006
1007 Fri Jun 19 03:11:02 1998  Tim Janik  <timj@gtk.org>
1008
1009         * gdataset.c: removed g_dataset_try_key, g_dataset_force_id and
1010         g_dataset_retrive_key in favour of GQuarks.
1011         a GQuark is an numeric id wich is associated with a certain string.
1012         (g_quark_try_string): try to get the quark associated with this string,
1013         if the lookup failed return 0.
1014         (g_quark_from_string): get the associated quark for a string, if there
1015         isn't currently a GQuark associated with this string, then allocate a
1016         new quark and return that.
1017         (g_quark_from_static_string): like the above function, but the string
1018         isn't strdup()ed to save memory.
1019         (g_quark_to_string): get the string that is associated with a certain
1020         GQuark.
1021
1022         * gdataset.c (g_dataset_id_set_data_full): invoke the destroy function
1023         _after_ the new data has been setup.
1024
1025 Thu Jun 18 02:35:21 1998  Owen Taylor  <otaylor@gtk.org>
1026
1027         * glib.h: Changed messages for g_return_[val]_if_fail to
1028         be somewhat more clear: assertion "blah" failed.
1029
1030 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1031
1032         * testglib.c (main): Use GINT_TO_POINTER casts to remove compiler
1033         warnings.
1034
1035         * grel.c: #include <string.h>
1036
1037 Fri Jun 12 15:39:06 1998  Tim Janik  <timj@gtk.org>
1038
1039         * glib.h (GScanner): cleanups of the structure fields (binary
1040         incompatible).
1041
1042 Fri Jun 12 00:39:28 1998  Josh MacDonald  <jmacd@icw.EECS.Berkeley.EDU>
1043
1044         * glib.h: add new hash and equal functions g_int_*.  complement
1045         g_direct_hash with g_direct_equal.
1046
1047         * grel.c: new file, GRelations implement tuples of N-N mappings.
1048         A comment in glib.h briefly describes the interface.
1049
1050         * ghash.c: new function, g_hash_table_size
1051
1052         * glib.h: new typedefs, gsize, gssize, gtime.
1053
1054         * garray.c: new functions implementing a simplified GArray.  This
1055         GPtrArray is an array of gpointers and has functions to add and
1056         remove elements, much like java.lang.Vector.
1057
1058         * garray.c: new functions for the single-byte special case of
1059         GArray.  The functions g_byte_array* operate on arrays of bytes.
1060         Internally, a GArray is used.
1061
1062         * testglib.c: tests for g_ptr_array, g_byte_array, and g_relation...
1063
1064 1998-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1065
1066         * gdataset.c: #include <string.h>
1067
1068 Thu Jun 11 04:15:31 1998  Tim Janik  <timj@gtk.org>
1069
1070         * glib.h:
1071         * gdataset.c: new function g_dataset_retrive_key. adjusted prealloc
1072         sizes, to take up less space on initial allocation.
1073
1074 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
1075
1076         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
1077         the version from which glib's libtool forked.  Needed for people
1078         who use post-1.2 alphas of libtool.
1079         * configure.in (enable_mem_check, enable_mem_profile): Replace
1080         `echo -n' with AC_MSG_CHECKING.
1081         (fd_set): Explain test for `fd_set' better.
1082
1083 Wed Jun 10 19:29:51 1998  Owen Taylor  <otaylor@gtk.org>
1084
1085         * Makefile.am glib.m4 configure.in:
1086
1087         Moved out from GTK+; added AM_PATH_GLIB macro.
1088
1089 Wed Jun 10 12:56:07 1998  Owen Taylor  <otaylor@gtk.org>
1090
1091         * glib.h: renamed g_const_pointer => gconstpointer
1092
1093 Tue Jun  9 17:47:33 1998  Owen Taylor  <otaylor@gtk.org>
1094
1095         * glib.h: Remove #error - HP/UX.
1096
1097 Sat May 23 19:00:01 1998  Owen Taylor  <otaylor@gtk.org>
1098   [ Combination of:
1099      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
1100      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
1101
1102         * glib.h ghash.c gstring.c gdataset.c gutils.c:
1103         - Added new typedef g_const_pointer; expunged all incorrect
1104           uses of 'const gpointer'.
1105         - Fixed up warnings that that created,
1106         - Changed GHashFunc and GCompareFunc to take g_const_pointer
1107           arguments. (Necessary, but will cause warnings in existing
1108           code until fixed)
1109         - Added other new const in harmless positions.
1110
1111 Mon Jun  8 01:06:47 1998  Tim Janik  <timj@gtk.org>
1112
1113         * glib.h: added enum-helper macros for code generation.
1114         added G_BREAKPOINT().
1115
1116 Sat Jun  6 14:09:22 PDT 1998 Manish Singh <yosh@gimp.org>
1117
1118         * gmem.c: commented out MEM_PROFILE and MEM_CHECK, causing weird
1119         problems
1120
1121 Wed Jun  3 06:19:42 1998  Tim Janik  <timj@gtk.org>
1122
1123         * glib.h (g_chunk_new0): convenience macro, for allocating small chunks
1124         like g_chunk_new() with additional 0 initialization.
1125
1126 Mon Jun  1 04:43:27 1998  Tim Janik  <timj@gtk.org>
1127
1128         * ghash.c (g_hash_table_insert): wrote a comment describing why
1129         a hash node's key should not also get replaced when overriding
1130         previous entries.
1131
1132 Tue May 26 18:30:06 1998  Tim Janik  <timj@gtk.org>
1133
1134         * glib.h (g_string_sized_new): new function to controll the preallocated
1135         size of a GString.
1136
1137         * glib.h (g_strreversed): new function to reverse a string.
1138
1139 Mon May 18 22:14:39 1998  Owen Taylor  <otaylor@gtk.org>
1140 (Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp> : gtk-joke-980517-0.patch)
1141
1142         * gutils.c: Restored a missing prototype for g_vsprintf.
1143
1144 Wed May 20 05:02:26 1998  Tim Janik  <timj@gtk.org>
1145
1146         * glib.h: conditionally define NULL, FALSE and TRUE.
1147         (g_mem_chunk_create): new convenience macro as a short hand for
1148         g_mem_chunk_new().
1149         (g_chunk_free): new convenience macro to be consistent with g_chunk_new.
1150
1151 Tue, 19 May 1998 09:00:02 +0200  Paolo Molaro <lupus@debian.org>
1152
1153         * gcompletion.c: generic functions for com<TAB>pletion...
1154
1155 Sun May 17 10:48:27 1998  Tim Janik  <timj@gtk.org>
1156
1157         * gscanner.c (g_scanner_unexp_token): provide usefull default
1158         specifications for identifier_spec and symbol_spec.
1159
1160         * glib.h: new functions g_slist_nth_data and g_list_nth_data to return
1161         the data of the nth element in the list.
1162
1163 Fri May 15 22:31:49 1998  Tim Janik  <timj@gtk.org>
1164
1165         * gscanner.c (g_scanner_unexp_token): removed spurious va_end(args)
1166         that for some reason didn't produce a compiler warning on my machine
1167         (is va_end defined to nothing for i386?).
1168
1169 Fri May 15 12:32:08 1998  rodo  <doulik@karlin.mff.cuni.cz>
1170
1171         * gscanner.c: replaced some snprintf with g_snprintf
1172
1173 Fri May 15 00:56:59 1998  Tim Janik  <timj@gtk.org>
1174
1175         * glib.h: further support for gcc function attributes: G_GNUC_FORMAT,
1176         G_GNUC_NORETURN and G_GNUC_CONST.
1177
1178         * gscanner.c (g_scanner_stat_mode): changed stat() to lstat().
1179         (g_scanner_msg_handler): "\n" at end of line!
1180         (g_scanner_foreach_symbol): new function to iterate over the symbol
1181         table (GScanner does value-wrapping).
1182
1183 Thu May 14 04:14:12 1998  Tim Janik  <timj@gtk.org>
1184
1185         * glib.h: typedef gint gboolean;
1186         this is needed to provide portability with big-endian platforms (e.g.
1187         try sizeof(bool) for c++ on big-endians - it's 4).
1188         this is also needed to maintain some_union.d_gint==some_union.d_gboolean.
1189         plus, gint to gboolean casts and vice versa need to be possible without
1190         loss.
1191
1192 Tue May 12 19:22:58 1998  Owen Taylor  <otaylor@gtk.org>
1193
1194         * glib/glib.h: Added macros G[U]INT_TO_POINTER() and
1195         GPOINTER_TO_[U]INT for storing small integers integers
1196         inside pointers.
1197
1198         * glib/testglib.c: Print sizeof() results
1199         as g_print("%ld", (glong)sizeof(foo)), to deal with
1200         size_t being long on Alpha's.
1201
1202 Tue May 12 16:54:15 1998  Owen Taylor  <otaylor@gtk.org>
1203         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
1204
1205         * glib.h gstring.c gmessages.c: Added some missing
1206         const to arguments.
1207
1208         * gutils.c (g_strsignal.c): Added missing return statements.
1209
1210 Mon May 11 21:11:54 1998  Owen Taylor  <otaylor@gtk.org>
1211
1212         * gutils.c gmessages.c: Moved g_error, g_warning, g_message and
1213         g_print from gutils.c to new file gmessages.c, to avoid having to
1214         include <unistd.h> in gutils.c which was causing problems for the
1215         g_strsignal implementation on FreeBSD boxes.
1216
1217 Mon May 11 09:53:43 1998  Tim Janik  <timj@gtk.org>
1218
1219         * configure.in: preserve automake CFLAGS.
1220
1221         * Makefile.am: fully rename the created library to libglib-1.1.la.
1222         this means we need to change certain portions of the Makefile.am on
1223         major/minor version bumps.
1224
1225         * ltmain.sh: the -release option is not required anymore.
1226
1227         * glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
1228         avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
1229         MIN, ABS and CLAMP, these macros might be screwed from other headers.
1230
1231 Mon May 11 01:44:10 1998  Tim Janik  <timj@gtk.org>
1232
1233         * gdataset.c: new file, gdatasets implement the object data
1234         mechanism from GtkObject. a generic data pointer is associated with
1235         a certain location and a key id.
1236
1237 Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>
1238
1239         * glib/gmem.c: Experimentally restore GMemChunk
1240         to its primeval state - where mem areas are
1241         freed incrementally instead of searching the tree
1242         every time a mem area is completely empty. Also,
1243         always keep one mem chunk around. (Reduced calls
1244         to malloc() a lot, but doesn't really improve
1245         performance significiantly)
1246
1247 Thu May  7 08:17:28 1998  Tim Janik  <timj@gtk.org>
1248
1249         * glib.h (G_GNUC_PRINTF):
1250         (G_GNUC_SCANF): macros to facilitate the printf/scanf format argument
1251         checking of gcc.
1252
1253         * gstring.c: const corrections, string!=NULL checks at function entry.
1254         (g_string_down): new function for tolower(3) conversion.
1255         (g_string_up): new function for toupper(3) conversion.
1256
1257         * gutils.c: const corrections.
1258         (g_strdown): g_string_down() counterpart.
1259         (g_strup): g_string_up() counterpart.
1260
1261         * gscanner.c (g_scanner_unexp_token):
1262         (g_scanner_error):
1263         (g_scanner_warn): new functions to let a scanner put out warnings
1264         or errors, especially to react on unexpected tokens.
1265
1266         * gslist.c:
1267         (g_slist_index): find out about about the position of a
1268         certain data pointer.
1269         (g_slist_position): find out about about the position of a
1270         certain node.
1271
1272         * glist.c:
1273         (g_list_index): find out about about the position of a
1274         certain data pointer.
1275
1276 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
1277
1278         * ltmain.sh: added a new commandline flag -postfix similar to -release,
1279         but will immediately change the library name.
1280
1281         * Makefile.am: specify -postfix and -version-info
1282
1283         * configure.in: version bump to 1.1.0. added GLIB_INTERFACE_AGE and
1284         GLIB_BINARY_AGE. calculate LT_* variables for libtool.
1285
1286 Fri May  1 16:36:08 1998  Owen Taylor  <otaylor@gtk.org>
1287
1288         * gutils.c: (g_strcasecmp). Check for isupper before
1289         taking tolower, and account for macroized tolower.
1290
1291         * gutils.c (g_error): Check for recursion.
1292
1293 1998-04-27  Elliot Lee  <sopwith@cuc.ml.org>
1294
1295         * glist.c (g_list_position): New function to find the position of
1296         a link in a list - should be the inverse of g_list_nth(), but
1297         haven't tested it so poof.
1298
1299 Thu Apr 30 21:41:30 1998  Owen Taylor  <otaylor@gtk.org>
1300
1301         * gstring.c : Check arguments more carefully,
1302         (gtk-draco-980423-1.patch; ramsey@rhrk.uni-kl.de)
1303
1304 Tue Apr  7 19:36:48 1998  Owen Taylor  <owt1@cornell.edu>
1305
1306         * gutils.c (g_direct_compare): Removed, because that's what
1307         a NULL comparison function means. And it wasn't 64 bit safe.
1308
1309 Mon Apr  6 18:43:25 1998  Tim Janik  <timj@gtk.org>
1310
1311         * gscanner.c (g_scanner_get_token_ll): fixed a bug that caused floats
1312         of the format ".xxx" to be parsed as "xxx".
1313
1314 Fri Apr  3 20:36:35 1998  Owen Taylor  <owt1@cornell.edu>
1315
1316         * gutils.c (g_parse_debug_string): Make debug string
1317         parsine case-insensitive
1318
1319 Fri Apr  3 17:03:18 PST 1998 Manish Singh <yosh@gimp.org>
1320
1321         * gstring.c: corrected possible overrun when inserting into
1322         GStrings (thanks Elrond)
1323
1324 Fri Apr  3 18:05:45 1998  Owen Taylor  <owt1@cornell.edu>
1325
1326         * testglib.c: Removed literal german from strings
1327         to appease SGI compiler.
1328
1329 Thu Mar 26 20:47:21 1998  Owen Taylor  <owt1@cornell.edu>
1330
1331         * configure.in glib glibconfig.h.in: Add test for atexit/on_exit -
1332         use on_exit if atexit not found in definition of ATEXIT.
1333
1334 Wed Mar 25 15:23:37 1998  Owen Taylor  <owt1@cornell.edu>
1335
1336         * Makefile.am: Switched glibconfig.h rule from HEADERS
1337         to DATA, so that it is not added to DISTFILES
1338
1339 Wed Mar 18 22:27:08 PST 1998 Manish Singh <yosh@gimp.org>
1340
1341         * garray.c: g_rarray_truncate length done correctly
1342
1343 Sun Mar 15 07:13:34 1998  Tim Janik  <timj@gimp.org>
1344
1345         * gutils.c: changed *_handler variables to be named glib_*_handler,
1346         so you can easily access them from gdb.
1347
1348 Sat Mar 14 17:47:43 1998  Owen Taylor  <owt1@cornell.edu>
1349
1350         * Makefile.am: Don't refer to current directory as $(top_builddir)
1351         to avoid confusing non-gmakes
1352
1353 Sat Mar 14 01:37:35 1998  Owen Taylor  <owt1@cornell.edu>
1354
1355         * Makefile.am (configincludedir): Moved glibconfig.h to
1356           $(pkglibdir)/include
1357
1358 Tue Mar 10 02:03:12 1998  Tim Janik  <timj@gimp.org>
1359
1360         * gscanner.c (g_scanner_destroy_symbol_table_entry): new function to
1361         free symbol table entries upon destruction
1362         (gtk-gronlund-980309-0.patch.gz).
1363
1364 Mon Mar  9 15:02:21 1998  Tim Janik  <timj@gimp.org>
1365
1366         * glib.h: changed *_length functions to return guint.
1367         changed *_nth functions to take guint as argument.
1368
1369         * glist.c: adapted g_list_length and g_list_length.
1370
1371         * gslist.c: adapted g_slist_length and g_slist_length.
1372
1373 Mon Mar  2 17:51:18 1998  Owen Taylor  <owt1@cornell.edu>
1374
1375         * glib.h gutils.c : changed g_strcasecmp
1376           to take gchar* not guchar*
1377
1378         * testglib.c: Remove trailing ; after functions
1379
1380 Sun Mar  1 19:04:40 1998  Owen Taylor  <owt1@cornell.edu>
1381
1382         * glib.h gstring.c: Added g_string_insert[_c]()
1383           and g_string_erase().
1384
1385           From: Stefan Wille  <1wille@vsys1.informatik.uni-hamburg.de>
1386
1387 Mon Feb 16 23:05:06 1998  Owen Taylor  <owt1@cornell.edu>
1388
1389         * glist.c (g_list_insert_sorted): Changed function
1390           so elements are always inserted, even if they compare
1391           equal with another.
1392
1393 Thu Feb 12 22:48:11 1998  Owen Taylor  <owt1@cornell.edu>
1394
1395         * gstring.c glib.h: removed deprecated g_string_equal
1396           and g_string_hash.
1397
1398 Tue Feb 10 13:04:36 1998  Owen Taylor  <owt1@cornell.edu>
1399
1400         * configure.in: Add check to see if the C library's
1401           iswalnum can actually be used. (Not true for
1402           Linux libc-5.4.38)
1403
1404 Sat Feb  7 11:48:09 1998  Owen Taylor  <owt1@cornell.edu>
1405
1406         * gstring.c gutils.c: added some additional consts in
1407           appropriate places to remove a warning
1408
1409 Sat Feb  7 11:15:54 1998  Owen Taylor  <owt1@cornell.edu>
1410
1411         * gutils.c: include <ctype.h> for tolower()
1412
1413 Fri Jan 30 23:57:17 PST 1998 Manish Singh <yosh@gimp.org>
1414
1415         * added and autoconfigured in a new utility function
1416         g_strcasecmp
1417
1418 Wed Jan 28 23:53:27 PST 1998 Manish Singh <yosh@gimp.org>
1419
1420         * glist.c
1421         * gslist.c
1422         * testglib.c: the sort functions compared backwards. Fixed
1423         * glib.h: list iterator macros now check for NULL pointers
1424
1425 Tue Jan 27 09:46:57 PST 1998 Manish Singh <yosh@gimp.org>
1426
1427         * gstring.c: g_string_prepend and g_string_prepend_c had
1428         interchanged src and dest parameters for g_memmove. Fixed.
1429
1430 Tue Jan 27 01:38:52 PST 1998 Manish Singh <yosh@gimp.org>
1431
1432         * gslist.c: fixed a really, really lame error. g_slist_insert
1433         didn't hook the data in! Reworked the routine to reflect the
1434         functionality of g_list
1435
1436 Wed Jan 21 01:13:25 1998  Tim Janik  <timj@psynet.net>
1437
1438         * Applied patch from (Raja R Harinath <harinath@cs.umn.edu>)
1439           to add function g_snprintf.
1440         * configure.in (AC_CHECK_FUNCS): Check for vsnprintf.
1441         * glib.h: Add prototype for g_snprintf.
1442         * glibconfig.h.in: Add HAVE_VSNPRINTF.
1443         * gutils.c (g_snprintf): new function.
1444
1445 Sat Jan 17 23:52:40 1998  Owen Taylor  <owt1@cornell.edu>
1446
1447         * gstring.{c,h} gscanner.c:
1448            renamed g_string_equal => g_str_equal
1449            renamed g_string_hash => g_str_hash
1450           And const corrected. Old functions left in for now.
1451
1452 Fri Jan  9 20:03:46 1998  Tim Janik  <timj@psynet.net>
1453
1454         * gutils.c (g_strerror): changed message for EAGAIN from
1455         "no more processes" to "try again" since EAGAIN is used with
1456         functions else than fork().
1457
1458         * gscanner.c (g_scanner_get_token_ll): use strtol() instead of
1459         strtoul() to avoid conflicts with solaris.
1460
1461         * merged the glib portions from Jan 2 to Jan 7 out of gtk+/ChangeLog
1462         into this file.
1463
1464 Wed Jan  7 02:14:30 PST 1998 Manish Singh <yosh@gimp.org>
1465
1466         * glib.h:
1467         * glist.c:
1468         * gslist.c:
1469         * testglib.c: Added g_[s]list_insert_sorted function
1470         and appropriate tests in testglib
1471
1472 Sat Jan  3 20:23:25 1998  Owen Taylor  <owt1@cornell.edu>
1473
1474         * glib.h: Changed guint32 -> guint for bitfields.
1475         (Bitfields must be int or unsigned int?)
1476
1477 Fri Jan  2 23:52 PST 1998 Jay Painter <jpaint@serv.net>
1478
1479         * glib_pre1.h:
1480         * glib_pre2.h:
1481         * glib.h: reverted glibconfig.h and glib.h files back to the
1482         way they were before my ugly hack.
1483
1484         * gscanner.c: removed inlines from clist and gscanner
1485
1486 Tue Dec 23 02:49:51 1997  Tim Janik  <timj@psynet.net>
1487
1488         * gscanner.c: new file for GScanner: Flexible lexical scanner for
1489         general purpose.
1490         * glib_pre2.h: added GScanner includes. added g_strconcat and g_strtod.
1491         gutils.c (g_strconcat): new function for string concatenation of NULL
1492         terminated parameter list.
1493         (g_strtod): new function to perform best string to double conversion
1494         with or without consideration of the current locale.
1495
1496 Mon Dec 15 19:33:58 1997  Tim Janik  <timj@psynet.net>
1497
1498         * glist.c: minor optimizations:
1499         (g_list_append): `if' optimized for common code path, commented out
1500         unneccessary `assert', saved one variable assignment.
1501         (g_list_prepend): saved two (conditioned) variable assignment.
1502         (g_list_insert): saved one  (conditioned) variable assignment,
1503         saved one variable assignment.
1504         (g_list_remove): `if' optimized for common code path, saved two
1505         variable assignments by using `g_list_free_1' (which is even
1506         faster) instead of `g_list_free'.
1507         (g_list_reverse): saved allocation of one variable, saved one
1508         variable assignment.
1509
1510 Wed Dec 10 23:27:20 1997  Tim Janik  <timj@psynet.net>
1511
1512         * glib_pre1.h:
1513         * glib_pre2.h:
1514         * glib.h: this file now gets concatenated by makeglib_h from
1515         glib_pre1.h and glib_pre2.h to merge in glibconfig.h wich got
1516         created by configure (done by Jay Painter).
1517
1518         * glib_pre2.h: the g_assert*() and g_return_*_fail() macros
1519         are wrapped by G_STMT_START and G_STMT_END now, to avoid conflicts
1520         when used within if (...) g_macro(); else ... conditionals.
1521
1522 Tue Dec 17 13:14:07 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
1523
1524         * glib.h: Changed 'g_return_if_fail' and 'g_return_val_if_fail' to
1525         not call 'g_string' but to simply stringify the
1526         expression. Calling 'g_string' causes the expression to be
1527         expanded which is undesired.
1528
1529 Sun Dec  1 01:30:48 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
1530
1531         * Started ChangeLog