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