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