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