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