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