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