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