Correct PPTP server firewall rules chain.
[tomato/davidwu.git] / release / src / router / glib / ChangeLog
blob12b344e3e1ac08311a2e2ea2d620595edf37bb85
1 Thu Mar 15 10:37:49 2001  Owen Taylor  <otaylor@redhat.com>
3         * Released 1.2.10
5         * NEWS: Update
7         * configure.in: Up micro/interface-age/binary-age to 10.
9 2001-03-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
11         * configure.in (FLAG_DOES_NOT_WORK): Fix typo and thus bug #51862.
13 2001-03-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
15         * makefile.cygwin.in, makefile.msc.in: Set G_LOG_DOMAIN to
16         \"GModule\" instead of g_log_domain_gmodule. This fixes Bug
17         #51643 for good.
19 Fri Mar  2 12:35:40 2001  Owen Taylor  <otaylor@redhat.com>
21         * Release 1.2.9
23         * NEWS: Final update for 1.2.9
24          
25         * INSTALL INSTALL.in: Add note about the movement of
26         the include files.
28 2001-03-01  Tor Lillqvist  <tml@iki.fi>
30         * README.win32: Make a note that this version of GLib preferrably
31         shouldn't be used on Windows.
33 Wed Feb 28 21:26:18 2001  Owen Taylor  <otaylor@redhat.com>
35         * README.in: Propagate changes commited to the README.in
36         back to here.
38 Wed Feb 28 16:59:05 2001  Owen Taylor  <otaylor@redhat.com>
40         * configure.in (mem_warn): Add discouraging message if
41         --enable-mem-profile or --enable-mem-check is given.
43 Mon Feb 26 21:06:17 CST 2001  Shawn T. Amundson <amundson@gtk.org>
45         * gstrfuncs.c: Backport implementation of 
46         g_printf_string_upper_bound from 1.3.  Bug #50217.
48         * gmain.c: Cast RHS of an assignment to a GSourceFunc variable.
49           Fourth param of g_source_add() is a gpointer, so add a cast to that
50           param.  From Richard K. Lloyd.  A portion of bug #50793.
52 Mon Feb 26 23:06:54 2001  Owen Taylor  <otaylor@redhat.com>
54         * README: Fix information about reporting bugs to 
55         report to bugzilla.gnome.org.
57         * HACKING: Minor tweaks.
59 Tue Feb 13 15:29:06 2001  Owen Taylor  <otaylor@redhat.com>
61         * NEWS: Update.
63 Sat Feb 17 07:33:44 2001  Tim Janik  <timj@gtk.org>
65         * configure.in (G_MODULE_BROKEN_RTLD_GLOBAL): check for systems
66         with broken RTLD_GLOBAL.
68 2001-01-02  Dan Winship  <danw@helixcode.com>
70         * garray.h (g_array_append_val, g_array_prepend_val,
71         g_array_insert_val): Use parentheses around an argument to make
72         these cause an error if you pass a non-lvalue for the value,
73         rather than silently doing the wrong thing.
75 Sat Dec  2 09:24:35 2000  Owen Taylor  <otaylor@redhat.com>
77         * gmain.c (g_main_add_poll_unlocked): Initial fd->revents
78         to zero. (#8482, Benjamin Kahn)
80 2000-11-29  Martin Baulig  <baulig@suse.de>
82         * *.pc.in: Make the pkg-config scripts actually work.
84 Mon Oct 16 11:11:06 2000  Tim Janik  <timj@gtk.org>
86         * configure.in: up version number to 1.2.9, interface 9, binary 9.
88         * gstrfuncs.c (g_printf_string_upper_bound): added patchy hack to
89         pad us around segfaults for usages of '\'' in decimal conversions.
90         applied patch from jody:
92 2000-10-15  Jody Goldberg <jgoldberg@home.com>
94         * gstrfuncs.c (g_printf_string_upper_bound) : Add 'G' as a valid
95          character.
97 Sun Aug  6 20:06:02 2000  Tim Janik  <timj@gtk.org>
99         * gmessages.c (g_log_domain_check_free): keep *last updated while
100         running through the domain list, so we don't screw up the removal,
101         patch provided by Gady Kozma <gadykozma@hotmail.com>.
103 Sun Aug  6 20:03:41 2000  Tim Janik  <timj@gtk.org>
105         * gmessages.c (g_log_remove_handler): keep *last updated while running
106         through the handler list, so we don't screw up the removal.
108 2000-09-30  Martin Baulig  <baulig@suse.de>
110         * glib.pc.in, gmodule.pc.in, gthread.pc.in: Provide
111         pkg-config scripts.
113         * configure.in: Create *.pc scripts from the *.pc.in
114         templates.
115         * Makefile.am (pkgconfig_DATA): Install the *.pc
116         scripts in `$(libdir)/pkgconfig'.
118 Fri Sep  8 21:46:13 2000  Owen Taylor  <otaylor@redhat.com>
120         * gmodule/Makefile.am Makefile.am glib-config.in:
121         Move headers to @includedir@/glib-1.2/ to allow
122         safe coexistance with a glib-2.0 build environment.
124 Mon Aug 21 14:39:36 2000  Owen Taylor  <otaylor@redhat.com>
126         * glib.h: Use C99 varargs macros where possible 
127         (check __STDC_VERSION__), otherwise, on gcc, use an alternate 
128         form of gcc varargs which is more likely
129         to be supported going forward. (Based on some code
130         from Raja Harinath)
132 Wed Aug  9 14:12:03 2000  Owen Taylor  <otaylor@redhat.com>
134         * glib.h: Backport correct descriptive comment from 
135         1.3.1 so I can close #20285.
137 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
139         * configure.in: glibconfig.h now includes files outside of the
140         extern "C" block. Makes some C++ compiler happy. Reported by Denis
141         Vakatov <vakatov@peony.nlm.nih.gov>.
143 Sat Jul 15 09:14:35 2000  Tim Janik  <timj@gtk.org>
145         * gstrfuncs.c (g_strncasecmp): fixed an off by 0 error (yeah,
146         the function went off when the while (n--) loop failed due to
147         n==0 ;), reported by Jean-Louis HAMEL <jlhamel@club-internet.fr>.
149 2000-05-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
151         * gutils.c (g_get_any_init): Use sysconf (_SC_GETPW_R_SIZE_MAX)
152         for initial bufsize, where available. This is already in GLib 1.3.
154 Thu May 25 03:45:41 2000  Tim Janik  <timj@gtk.org>
156         * released GLib-1.2.8.
158 Thu May 25 02:29:35 2000  Tim Janik  <timj@gtk.org>
160         * configure.in: glib version 1.2.8, interface age 8, binary age 8.
162 Fri May 19 11:37:54 2000  Tim Janik  <timj@gtk.org>
164         * gutils.c (g_snprintf): 
165         (g_vsnprintf): added argument assertments.
167         * gstring.c (g_string_assign):
168         (g_string_truncate): added argument assertments.
170 Fri May 19 09:00:44 2000  Tim Janik  <timj@gtk.org>
172         * gmem.c (g_free): fixed SIZEOF_LONG==4 assumption with
173         ENABLE_MEM_CHECK, from Art Haas <ahaas@neosoft.com>.
175         * gslist.c (g_slist_reverse): shut up compiler.
177         * gscanner.c (g_scanner_get_token_ll): removed inline assignment.
179         * garray.c: remove index>=0 checks for unsigned indices.
181         * gmain.c (g_idle_prepare): timeout assignment fix.
183         * gtree.c (g_tree_node_rotate_right): shut up compiler.
185 2000-05-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
187         * configure.in: Use strlen instead of exit in the test for
188         sys_siglist, as using strlen (function without side effects) makes
189         the compiler remove that for optimized compilation and the linker
190         wont see the symbol, thus a successfull link doesn't mean, that
191         the symbol exists. Hint from Robert Pouliot
192         <robert.pouliot@bell.ca>.
194         * configure.in: Also look for thread functions in
195         libthread. Makes it work on UnixWare 7.1.0. Hint also from Robert
196         Pouliot <robert.pouliot@bell.ca>.
198 2000-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
200         * garray.c (g_ptr_array_maybe_expand): Really initialize the whole
201         GPtrArray to 0 after resizing. Pionted out by David Menestrina
202         <dmenest@Princeton.EDU>. Fixes Bug #9270. This needn't be applied
203         to glib-1.3.
205 Wed Apr 19 08:32:32 2000  Tim Janik  <timj@gtk.org>
207         * gscanner.c (g_scanner_new): make sure that
208         scanner->config->cset_skip_characters is "" instead of NULL, so we
209         don't segfault further on.
211 2000-04-10 Elliot Lee <sopwith@redhat.com>
213         * gstrfuncs.c: A stringified double can be longer than 32 chars -
214         fix space calculation routine to 'double' the max amount of space
215         a double & long double can take.
217 Fri Mar 24 03:34:02 2000  Tim Janik  <timj@gtk.org>
219         * glib.h: put a comment for the g_datalist_ and g_dataset_ API, that
220         these fucntions are scheduled for a rename in GLib 1.3.
222 2000-03-22 Elliot Lee <sopwith@redhat.com>
224         * gmem.c (g_mem_chunk_area_compare): Fix 64-bitness bug in
225         comparing two pointers more than 4G apart.
227 2000-03-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
229         * configure.in: The mutex in the check for pthread_mutex_trylock
230         should be a static var. Thanks to Wan-Teh Chang <wtc@netscape.com>
231         for pointing this out.
233 2000-02-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
235         * configure.in: Changed GCC version test to also accept major
236         versions > 2. Thanks to Ben Gertzfield <che@debian.org> for
237         pointing this out.
239 Thu Feb 17 12:24:55 2000  Tim Janik  <timj@gtk.org>
241         * glib.h: reverted my last commit, g_thread_init() *does*
242         have an implementation.
244 Thu Feb 17 04:25:02 2000  Tim Janik  <timj@gtk.org>
246         * glib.h: remove extraneous prototype for g_thread_init().
248 Wed Feb 16 05:18:37 CST 2000  Shawn T. Amundson <amundson@gtk.org>
250         * Released GLib 1.2.7
252 Mon Feb 14 22:32:49 2000  Tim Janik  <timj@gtk.org>
254         * gstring.c: changed g_str_hash() to a 31 bit version based on
255         a submission by Karl Nelson and hand optimized ad absurdum by
256         various people ;)
258 Fri Feb  4 19:39:38 2000  Tim Janik  <timj@gtk.org>
260         * configure.in: up version number to 1.2.7, interface age 7 and
261         binary age 7.
262         
263         * NEWS: updates.
265 Thu Feb  3 14:46:53 PST 2000 Manish Singh <yosh@gimp.org>
267         * acinclude.m4
268         * config.guess
269         * config.sub
270         * ltconfig
271         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
273         * gmain.c: removed spurious non-commented #endif suffix
275 Fri Jan 28 11:37:41 2000  Owen Taylor  <otaylor@redhat.com>
277         Bug #4156 - Changes vaguely modelled after Scott Gifford's patch
278         
279         * gtimer.c (g_timer_elapsed): Never report negative times - 
280         clip times to 0.
282         * gmain.c (g_timeout_prepare): Guard against unexpected
283         clock shifts by never setting a timeout of more than
284         data->interval msecs.
286 Wed Jan 26 05:29:11 2000  Tim Janik  <timj@gtk.org>
288         * glib.h:
289         * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
290         refetch the current time after invocation of poll() to cover up for
291         the time spent in that function call.
293 Sun Jan  9 13:28:36 2000  Tim Janik  <timj@gtk.org>
295         * gstrfuncs.c (g_strtod): correctly fetch the current locale,
296         fix from owen.
298 1999-11-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
300         * configure.in: Make the test for getpwuid_r work on newer AIX
301         versions, too. Still works on Solaris and Linux. Patch from Craig
302         Rodrigues <rodrigc@mediaone.net>.
304 Tue Nov  2 17:21:29 1999  ape@spacetec.no  (Asbjorn Pettersen)
306         * glib.h (G_DIR_SEPARATOR): Add defines for EMX/OS2.
308 Sun Oct 31 18:55:01 1999  ape@spacetec.no  (Asbjorn Pettersen)
310         * gcache.c (g_cache_remove): Test if node is NULL.
311         If not tested, GIMP's script-fu will crash. 
313 Sun Oct 17 18:11:40 1999  Tim Janik  <timj@gtk.org>
315         * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around
316         destroy() notification here as well.
318 1999-10-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
320         * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist
321         is called recursivly. Reported by Ola Andersson <rand@ling.umu.se>.
323 Thu Oct  7 12:28:27 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
325         * Released GLib 1.2.6
327 Sun Oct  3 12:07:44 PDT 1999 Manish Singh <yosh@gimp.org>
329         * Makefile.am: list acglib.m4 in CONFIGURE_DEPENDENCIES so we hook
330         in to automake's default configure rule instead of making our own
332 Thu Sep 23 19:47:10 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
334         * Released GLib 1.2.5
336 Fri Sep 17 10:24:45 1999  Tim Janik  <timj@gtk.org>
338         * gmem.c (g_mem_chunk_compute_size) (g_mem_chunk_new): applied patch
339         from Soeren Sandmann <sandmann@daimi.au.dk>, to force mem chunk's area
340         sizes to be a multitiple of atom_size, and to eliminate the MAX_MEM_AREA
341         restriction of 65536 bytes. we also catch cases where users pass an area
342         size < atom size with a return_if_fail statement now (which is ok,
343         because previously this lead to memory corruption anyways).
345 Thu Sep 16 01:31:43 1999  Tim Janik  <timj@gtk.org>
347         * configure.in: version increment to GLib-1.2.5, interface age 5,
348         binary age 5.
350 Thu Aug 26 15:09:36 1999  Tim Janik  <timj@gtk.org>
352         * Makefile.am:
353         * gmodule/Makefile.am:
354         * gthread/Makefile.am: added --export-dynamic so we can load dynmic
355         modules, (required, according to the libtool 1.3.3 docu).
357 Mon Aug 23 14:42:58 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
359         * Released GLib 1.2.4
361 Mon Aug 23 18:29:45 1999  Tim Janik  <timj@gtk.org>
363         * configure.in: update version to 1.2.4, interface age 4, binary age 4.
365         * NEWS: updates.
367         * Makefile.am: require automake 1.4, build README from README.in and
368         INSTALL from INSTALL.in in dist-hook.
369         
370         * README.in:
371         * INSTALL.in: new files to autogenerate README and INSTALL from.
372         
373         * COPYING: update to the GNU LESSER GENERAL PUBLIC LICENSE.
375 Thursday July 29, 1999 Elliot Lee <sopwith@redhat.com>
377         * Makefile.am, tests/Makefile.am: Distribution the .in versions
378           of the various Windoze makefiles.
380 Thursday July 29, 1999 Elliot Lee <sopwith@redhat.com>
382         * Makefile.am: Include various *.in files in EXTRA_DIST
384 Fri Jul 16 22:18:36 PDT 1999 Manish Singh <yosh@gimp.org>
386         * ltconfig
387         * ltmain.sh: upgrade to libtool 1.3.3
389 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
391         * gdate.c, gstrfuncs.c, gstring.c: Fixed the use of the
392         is..... and to..... macros, which take unsigned chars, not chars!
393         Thanks to Morten Welinder <terra@diku.dk> for pointing this out.
395 Thu Jun  3 16:30:31 PDT 1999 Manish Singh <yosh@gimp.org>
397         * gerror.c (g_on_error_query): check isatty() before querying so
398         we don't loop endlessly
400 Sat May 29 11:16:29 PDT 1999 Manish Singh <yosh@gimp.org>
402         * acinclude.m4
403         * config.guess
404         * config.status
405         * ltconfig
406         * ltmain.sh: upgrade to libtool 1.3.2
408 1999-05-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
410         * gmain.c: provide a poll prototype for SunOS, as they do not do
411         it self. Hint from Christian Parg <cparg@fs-design.de>.
413 Tue May 25 12:23:07 1999  Owen Taylor  <otaylor@redhat.com>
415         * gstrfuncs.c (g_strchug): Use g_memmove() not memmove().
416         (Reported by Charles Levert <charles@comm.polymtl.ca>)
418 Mon May 10 22:03:52 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
420         * Released GLib 1.2.3
422 1999-05-08  Tor Lillqvist  <tml@iki.fi>
424         * Makefile.am tests/Makefile.am: Correct rules for making the
425         win32-related files that are made from corresponding .in files.
426         Is there a cleaner way than explicitly writing rules that invoke
427         config.status?
428         
429 Sat May  1 10:18:01 PDT 1999 Manish Singh <yosh@gimp.org>
431         * acinclude.m4
432         * config.guess
433         * config.status
434         * ltconfig
435         * ltmain.sh: upgrade to libtool 1.3
437 1999-04-30  Tor Lillqvist  <tml@iki.fi>
439         * Makefile.am: Don't distribute glibconfig.h.win32.in, but
440         glibconfig.h.win32. Generate it when making a dist. Also generate
441         makefile.msc and config.h.win32 from corresponding .in files when
442         making dist.
444         * configure.in: Also substitute @GLIB_INTERFACE_AGE@ and
445         @GLIB_BINARY_AGE@ (needed in config.h.win32).
446         
447         * glibconfig.h.win32.in: Use static mutex structure and initial
448         value corresponding to the 1999-04-07 snapshot of pthreads-win32.
450         * tests/Makefile.am: Distribute makefile.msc. Generate it when
451         making dist.
453         * tests/makefile.msc.in: New file.
455         * tests/node-test.c: Include <stdlib.h> for exit().
457 Thu Apr 29 02:16:36 1999  Tim Janik  <timj@gtk.org>
459         * gstrfuncs.c: minor code cleanups.
461 Tue Apr 27 13:11:29 1999  Owen Taylor  <otaylor@redhat.com>
463         * gmain.c (g_main_poll): Mask out ERR HUP and NVAL from
464         the events field so we don't give IRIX fits.
466 Tue Apr 20 08:42:22 1999  Tim Janik  <timj@gtk.org>
468         * gscanner.c (g_scanner_unexp_token): behave conservative with
469         G_TOKEN_IDENTIFIER_NULL and always assume scanner->value.v_string
470         to be "null" in that case.
472 1999-04-20  Havoc Pennington  <hp@pobox.com>
474         * gutils.c (g_vsnprintf):  When using the vsnprintf()
475         implementation, '\0'-terminate the resulting string
476         and return its length rather than -1.
478 Mon Apr 19 13:42:21 1999  Owen Taylor  <otaylor@redhat.com>
480         * gmain.c (g_main_iterate): Added missing
481         #ifdef G_THREADS_ENABLED. (I never liked G_THREADS_ENABLED in
482         the first place!)
484 1999-04-18  Havoc Pennington  <hp@pobox.com>
486         * gutils.c (g_snprintf): When using the vsnprintf()
487         implementation, '\0'-terminate the resulting string
488         and return its length rather than -1.
490 Fri Apr 16 06:52:07 1999  Tim Janik  <timj@gtk.org>
492         * gscanner.c (g_scanner_unexp_token): feature G_TOKEN_EOF as a valid
493         expected token as well, so we get "- expected end of file" instead of
494         "- expected (unknown) token <0>".
496 Tue Apr 13 16:16:14 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
498         * Released GLib 1.2.2
500 1999-04-12  Elliot Lee  <sopwith@mh69.mh.cuc.edu>
502         * g_strchug(): s/strcpy/memmove/
504 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
506         * configure.in: Adjusted the test for an unimplemented
507         getpwuid_r. Info from Michael Pruett <mikep@ugcs.caltech.edu>.
509 Sun Apr 11 15:07:34 1999  Tim Janik  <timj@gtk.org>
511         * configure.in: bumped versin number to GLib 1.2.2, interface 2,
512         binary 2.
513         
514         * NEWS: updates.
516 Sun Apr 11 14:37:06 1999  Tim Janik  <timj@gtk.org>
518         * gstrfuncs.c (g_strcasecmp): always check for s1, s2 != NULL.
520 Sat Apr 10 19:30:50 1999  Tim Janik  <timj@gtk.org>
522         * glib.h: removed braces around inline strings for the G_GNUC_FUNCTION
523         and G_GNUC_PRETTY_FUNCTION macros, so the macros can be used for compile
524         time string concatenation.
526 Thu Apr  8 19:53:19 1999  Owen Taylor  <otaylor@redhat.com>
528         * gmain.c (g_main_iterate): Check for two threads
529         calling g_main_iterate at once.
531         * gmain.c: If the set of poll file descriptors changes
532         during a call to poll(), abort that call, and start
533         a new poll. My test program still segfaults
534         obscurely on glibc 2.0 (in read()!!!), but now it works on
535         glibc 2.1, so I'll blame something else for the other segfault.
537 1999-03-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
539         * configure.in: Fixed slight bug, that made configure hang on some
540         systems. Please do not merge this into 1.3 branch. It's taken care
541         of differently there. Info from J. Rhett Aultman
542         <cuplan@alley.gator.net>
543         
544 Wed Mar 24 21:23:47 CST 1999 Shawn T. Amundson <amundson@gtk.org>
546         * Released GLib 1.2.1
548         * README:
549           INSTALL: 
550           NEWS: 
551           sanity_check: updated
553         * glibconfig.h.win32.in:
554           Makefile.am:
555           docs/glib-config.1.in:
556           docs/Makefile.am: Added files used to generate new files.
558         * glibconfig.h.win32:
559           docs/glib-config.1: Removed, now generated.
561         * configure.in: Added to output now-generated files.
562         
563 Tue Mar 23 13:43:39 PST 1999 Manish Singh <yosh@gimp.org>
565         * giounix.c: add user_data param to check and prepare functions
567 Mon Mar 22 03:54:43 1999  Tim Janik  <timj@gtk.org>
569         * glib.h:
570         * gmain.c: add user_data to the GSource ->check and ->prepare functions,
571         so it can be used to e.g. pass a GPollFd.
572         (g_main_poll): only add poll records with an events mask != 0 to the
573         fd_array. don't even bother calling poll_func() if fds=timeout=0.
574         added debugging printouts around poll_func() invokation that can be
575         enabled with #define G_MAIN_POLL_DEBUG.
577 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
579         * acinclude.m4
580         * config.guess
581         * config.sub
582         * ltconfig
583         * ltmain.sh: upgrade to libtool 1.2f
585         * autogen.sh: libtool is not required to autogen glib
587         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
588         needed)
590 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
592         * gmem.c: Fixed another stupid fault of mine: Did
593         s/g_static_/g_private_/g
595 Wed Mar 17 03:17:42 1999  Tim Janik  <timj@gtk.org>
596         
597         * configure.in bumped versin number to GLib 1.2.1, interface 1,
598         binary 1.
599         
600         * NEWS: updates.
602         * glib.h: added GLIB_CHECK_VERSION() macro similar to
603         GTK_CHECK_VERSION().
605 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
607         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
608         to g_return_if_fail().
609         (g_mem_profile): 
610         (g_mem_chunk_print): 
611         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
612         messages.
614         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
615         to g_return_if_fail().
616         * grel.c (g_*): changed a bunch of g_assert() statements to
617         g_return_if_fail() and added some extra ones to check relation != NULL.
619 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
621         * configure.in: Also accept _Pctime_r instead of ctime_r, while
622         seraching for the right `_REENTRANT' flag. This is for Digital
623         UNIX 4.0d. Thanks to Sascha Brawer <sb@adasys.ch>.
625 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
627         * configure.in: check for working realloc (NULL,).
628         * gmem.c (g_realloc): use malloc() for initial allocation on systems
629         where realloc(NULL,) will not work (this is the case on SunOS, reported
630         by Tom Geiger).
632 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
634         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
635         flag around the call to g_hook_free() to avoid spurious
636         warnings (happens during destruction phase).
638 1999-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
640         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
641         from config.h.win32 to glibconfig.h.win32
643         * acconfig.h, configure.in, config.h.win32: Added test for DCE
644         versions of mutex_trylock and cond_timedwait. The win32 versions
645         are posix, aren't they?
647 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
649         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
650         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
652 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
654         * gutils.c (g_get_any_init): Fixed yet another bloody
655         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
656         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
657         test better than that, but have no idea, how to do that easily.
659 Sun Feb 21 22:11:51 CST 1999  Shawn T. Amundson <amundson@gtk.org>
661         * Released GLib 1.2.0
663         * AUTHORS: updated
665 Wed Feb 24 00:08:42 CST 1999 Shawn T. Amundson <amundson@gtk.org>
667         * *.[ch]: inserted additional note to look for ChangeLog and
668           AUTHORS file for a log of modifications.
670 Sun Feb 21 14:01:00 1999  Dr Mike <drmike@redhat.com>
672         * Made specfile generated, tweaked slightly
673         
674 Thu Feb 18 08:24:12 1999  Tim Janik  <timj@gtk.org>
676         * gmem.c (g_realloc): plugged a memory leak, reported by Koen D'Hondt
677         <ripley@xs4all.nl> on 15 Oct 1998. allocate inital block from realloc.
679 1999-02-17  Elliot Lee  <sopwith@redhat.com>
681         * glib.spec: Do --enable-debug=no for the .rpm's.
683 Wed Feb 17 17:04:06 1999  Tor Lillqvist  <tml@iki.fi>
685         * config.h.win32: Must define HAVE_PTHREAD_GETSPECIFIC_POSIX.
687 Tue Feb 16 14:08:59 CST 1999 Shawn T. Amundson <amundson@gtk.org>
689         * NEWS
690           README
691           INSTALL
692           config.h.win32
693           configure.in
694           glib.spec
695           glibconfig.h.win32
696           docs/glib-config.1: version=1.1.16 
698         * Released GLib 1.1.16
700 1999-02-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
702         * glib.h, glibconfig.h.win32, configure.in: Changed signature of
703         all g_static_mutex_* functions to take a pointer rather than the
704         struct itself. This is not an issue at the moment, because those
705         funcs are really macros, but is it un'G'ish and might fall on our
706         feet in the future.
708 Mon Feb 15 07:45:54 1999  Tim Janik  <timj@gtk.org>
710         * configure.in (--enable-debug): default to yes for development trees.
712 Mon Feb 15 06:18:58 1999  Tim Janik  <timj@gtk.org>
714         * glib.h: return guints instead of gints for g_hash_table_size
715         and g_hash_table_foreach_remove.
717 Wed Feb 10 12:01:42 1999  Tim Janik  <timj@gtk.org>
719         * configure.in: don't reset G_MODULE_IMPL, so it can be overridden
720         from the command line.
722 1999-02-10  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
724         * glib.h: s/G_LOCK_DECLARE/G_LOCK_DEFINE/ throuhout glib. Added
725         G_LOCK_EXTERN macro to declare a lock externally.
727 Wed Feb 10 06:20:30 1999  Tim Janik  <timj@gtk.org>
729         * gmutex.c (g_static_private_set): invoke destroy notifier when
730         overwriting values, initialize new array fields with NULL.
731         (g_static_private_free_data): do not skip destroy notification for
732         data == NULL.
734         * gutils.c (g_direct_equal): compare pointer values directly instead
735         of just their guint values which is a loosing conversion for
736         sizeof(gpointer)==8 systems.
737         (g_get_any_init): restructured code so we don't use endless loops like
738         while (1), which boil down to an ugly alias for goto.
739         strip ,.* from the real name.
741 February 9, 1999 sopwith@redhat.com
743         . glist.c, gnode.c, gslist.c: allocate pools of 128 items instead
744         of 1024 items.
746 1999-02-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
748         * configure.in, acconfig.h: Changed the test for getpwuid_r to
749         exclude those systems (i.e. IRIX), that set ENOSYS after the call.
750         Test, if pthread_getspecific is posix like or something different,
751         as on PCThreads.        
753 Sun Feb  7 21:56:00 1999  Owen Taylor  <otaylor@redhat.com>
755         * gmem.c (g_mem_profile): Copy all elements
756         of the allocations[] array, including the last.
757         (Pointed out by "Matthew W. Samsonoff" <mws7323@osfmail.isc.rit.edu>)
758         
759 1999-02-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
761         * configure.in: Make the error message in case of a broken thread
762         system a bit more informative.
764         * gutils.c (g_get_any_init): Changed the error logic again, now
765         only leaving the memory doubling loop, when success is reached or
766         when the user isn't found or when the buffer is 32k big,
767         additionally now getpwuid will be run, if getpwuid_r didn't work
768         out properly. A warning is issued however.
770 Thu Feb 04 20:42:24 1999  Tor Lillqvist  <tml@iki.fi>
772         * glibconfig.h.win32 config.h.win32: Update GLIB_MICRO_VERSION.
774 1999-02-04  Christopher Blizzard  <blizzard@redhat.com>
776         * glib.spec (Packager): Change my email address
778 Thu Feb  4 01:45:01 PST 1999 Shawn T. Amundson <amundson@gtk.org>
780         * ChangeLog
781           NEWS
782           README
783           configure.in
784           glib.spec
785           docs/glib-config.1: version=1.1.15
787         * Released GLib 1.1.15
789 Tue Feb 02 00:08:54 1999  Tor Lillqvist  <tml@iki.fi>
791         * gmessages.c (g_log_default_handler): (Win32:) Don't call
792         ensure_stdout_valid (which would open an unneeded console window)
793         if we're calling a logging function.  Define ensure_stdout_valid
794         as an empty macro on Unix.
796         * gutils.c (g_get_any_init): (Win32:) Trust HOME first if defined,
797         then try HOMEDRIVE and HOMEPATH.
799 Mon Feb  1 19:04:28 1999  Owen Taylor  <otaylor@redhat.com>
801         * gmain.c (g_main_iterate): Release the main_loop
802          lock around calls to prepare() and check() so
803          that we are not holding the main loop lock
804          over user code.
806 1999-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
808         * configure.in: Moved the check for MT safe function variants
809         after the determination of the MT cflags and use them there.
811 1999-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
813         * configure.in: Fixed typo. Now HPUX 11 thread system detection
814         should work.
816         * gutils.c (g_get_any_init): Changed initial bufsize to 64. Should
817         solve some problems out there.
819 Wed Jan 27 23:21:50 CST 1999 Shawn T. Amundson <amundson@gtk.org>
821         * INSTALL
822           NEWS
823           README
824           configure.in
825           glib.spec
826           docs/glib-config.1: version=1.1.14
828         * Released GLib 1.1.14
830 1999-01-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
832         * configure.in: Simplified configure.in test for posix threads,
833         systems, that provide /usr/include/pthread.h should also have the
834         posix thread library. This is to avoid writing down all the tests
835         twice. New test for thread system on HPUX 11. Info from Matt
836         Nottingham <matt@sar.dera.gov.uk>.
838 Wed Jan 27 20:39:49 PST 1999 Manish Singh <yosh@gimp.org>
840         * acinclude.m4: Xsed isn't valid here, don't use it
842         * ltmain.sh
843         * ltconfig: better file magic regexp for Linux libs
845         * gmodule/Makefile.am: arg, noinst_LTLIBRARIES doesn't make shared
846         libs, revert my previous change to this file
848         * docs/texinfo.tex: add it so automake doesn't whine
850 Wed Jan 27 01:57:19 1999  Tim Janik  <timj@gtk.org>
852         * configure.in (G_MODULE_HAVE_DLERROR): applied patch from Andrej
853         Borsenkow <borsenkow.msk@sni.de> to also check for dlsym() in system
854         libraries and -ldl, to catch systems that provide dlopen() in libc
855         and dlsym() in libdl. this is at least the case for Reliant UNIX
856         5.44 (labeling itself as SINIX).
858 Tue Jan 26 13:39:22 PST 1999 Manish Singh <yosh@gimp.org>
860         * configure.in: don't use backquotes in warning text
862 1999-01-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
864         * gdate.c (g_date_set_time): Removed the #warning about MT
865         unsafety without localtime_r.
867         * configure.in: Moved it here.
869 Mon Jan 25 10:07:53 1999  Raph Levien  <raph@gimp.org>
871         * configure.in: (#define G_THREADS_IMPL...) Changed the #define,
872         adding the G_THREADS_IMPL_ prefix to $g_threads_impl_def because
873         it looked wrong to me and was breaking gimp compile.
875 Mon Jan 25 15:34:43 1999  Timur Bakeyev <mc@bat.ru>
877         * configure.in, gstrfuncs.c: Inverted logic of NO_SYS_SYGLIST_DECL -
878         now it's normal (see 1999-01-19 Josh MacDonald). Also, remove from
879         #include <signal.h> wrapper NO_SYS_SYGLIST - *sys_syglist[] declara-
880         tion hides there.
882 1999-01-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
884         * configure.in: Do not use the thread libs, when searching for
885         some functions, as this might require glib to always be linked
886         with the thread libs on some platforms.
888         * gutils.c (g_get_any_init): Don't set errno to zero and use it
889         only as the error code, if the function returned a value less
890         0. It might happen, that the call succeeds, even though the errno
891         is set during the call (i.e. it first looks for a passwd file,
892         which is not found). Submitted by Michael Natterer
893         <mitschel@cs.tu-berlin.de>. BTW: Sorry for all the mess with that
894         `getpwuid_r' change, but it had to be done once.
896 Sun Jan 24 10:33:30 1999  Tim Janik  <timj@gtk.org>
898         * gutils.c (g_get_any_init): reverted raja's changes, since they leaked
899         a struct passwd contents buffer and for the rest mostly substituted a
900         while loop with a bunch of gotos.
901         restored the getpwuid() code to what we had after my recent clean ups
902         ("Sat Jan 23 02:14:28 1999 Tim Janik"), module yosh's recent changes.
903         to feature solaris behaviour of directly returning errno, we don't
904         modify error anymore if it's > 0 and simply reset errno.
905         don't reset g_home_dir for !NATIVE_WIN32 && !NATIVE_WIN32.
907 1999-01-24  Raja R Harinath  <harinath@cs.umn.edu>
909         * gutils.c 
910         (g_get_any_init) [HAVE_GETPWUID_R && HAVE_GETPWUID_R_POSIX]: 
911         Hopefully got the error handling for `getpwuid_r' right.
912         (g_get_any_init) [HAVE_GETPWUID_R && !HAVE_GETPWUID_R_POSIX]:
913         Fix typo (change `pw == NULL' to `pw != NULL').
914         
915 Sun Jan 24 00:36:22 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
917         * ghash.c:
918         - Revert previous "fix" (which really just did things a
919           different way).
920         - (g_hash_table_remove): Don't need to support multiple values
921           for a single key.
923         * tests/hash-test.c:
924         Add test where hash function always returns a single value.
925         Add beginnings of tests for g_hash_table_foreach[_remove] and
926         g_hash_table_remove.
928 Sat Jan 23 20:40:06 PST 1999 Manish Singh <yosh@gimp.org>
930         * gutils.c: removed the #warning about MT without getpwuid_r
932         * configure.in: and moved it here
934 Sat Jan 23 22:45:59 1999  Jeff Garzik  <jgarzik@pobox.com>
936         * ghash.c (g_hash_table_lookup_node, g_hash_table_lookup,
937                    g_hash_table_insert, g_hash_table_remove,
938                    g_hash_table_lookup_extended):
939           - Fixed bug that overwrote nodes in hash buckets instead of
940             adding them to the hash bucket node list.
941             Hash tables now work as advertised.
943         (g_hash_table_resize):
944           - Use g_new0 instead of manual init.
945           - Space out code a bit for readability.
947         (g_hash_nodes_destroy):
948           - Replaced "if (!hash_node) return;" with
949             "if (hash_node) {do stuff}".
950             Testing takes up less code space than explicit call to
951             'return' before end of function.  (look at gcc -S)
953         Updated module header copyright to 1999.
954         New module macro G_HASH_BUCKET for (table,key)->bucket lookups.
956         * tests/hash-test.c:
957         - Add two new tests, one with strings as the keys and values, and
958           one with ints as the keys and values.  Tests indirect (strings)
959           and direct (ints) hashing.
960         - Cleanup unused junk left over from testglib.c.
961         - Converted a g_print call to g_assert_not_reached.
962         - Updated copyright to 1999.
964         * testglib.c, tests/string-test.c:
965         - Init 'tmp_string' var to NULL, silencing uninit-var warning.
967 1999-01-23  Raja R Harinath  <harinath@cs.umn.edu>
969         * gutils.c (g_get_any_init) [HAVE_GETPWUID_R]:
970         Rewrite not to look at `errno' if library call succeeds, since
971         `errno' is not reset to 0.
972         
973 Sat Jan 23 16:17:04 1999  Tor Lillqvist  <tml@iki.fi>
975         * glibconfig.h.win32: Update the magic values for
976         pthread_mutex_t size and initializer bytes to match the
977         latest version of pthreads for Win32.
979 Sat Jan 23 02:14:28 1999  Tim Janik  <timj@gtk.org>
981         * gutils.c (g_get_any_init): cleaned up the errno mess for
982         GETPWUID. we especially don't want to g_error() out here!
983         the warning for G_THREADS_ENABLED and !HAVE_GETPWUID_R isn't
984         gcc related.
985         if !HAVE_PWD_H and !NATIVE_WIN32, g_free the home dir before
986         resetting it to NULL, why are we doing this anyways?
987         reordered code a bit so we always provide defaults (except
988         for g_home_dir).
990 Thu Jan 21 12:40:11 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
992         * tests/{Makefile.am, string-test.c, strfunc-test.c}:
993         Separate string and strfunc tests, working towards goal of
994         having separate test for each of the GLib modules.
995         Add a couple GString length tests.
997 Thu Jan 21 09:36:05 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
999         * configure.in:
1000         Use AC_PREREQ not AC_REQUIRE for autoconf version test.
1002 1999-01-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1004         * gutils.c (g_get_any_init): Changed error handling again, as the
1005         error is not always set in errno, it is the return value on some
1006         systems. What an evil world.
1008 Thu Jan 21 05:35:20 1999  Tor Lillqvist  <tml@iki.fi>
1010         * gstrfuncs.c: Include signal.h only when the signal names will be
1011         needed.
1013 Wed Jan 20 22:09:59 EST 1999 Mandrake <mandrake@mandrake.net>
1015         * configure.in / Makefile.am : made some adjustments for automake 1.4
1016         and autoconf 2.13 (per suggestions made by  Raja R Harinath
1017         <harinath@cs.umn.edu>)
1019 Wed Jan 20 20:33:14 EST 1999 Mandrake <mandrake@mandrake.net>
1021         * autogen.sh: automake 1.4 and libtool 1.2d notices.
1022         (maybe I'll write an actual test for automake 1.4 later)
1024 Wed Jan 20 15:05:25 PST 1999 Manish Singh <yosh@gimp.org>
1026         * HACKING: new file
1028         * Makefile.am: since we require automake 1.4 now, ditch the build
1029         top-level first and just use SUBDIRS
1031         * gmodule/Makefile.am: use noinst_LTLIBRARIES instead of overriding
1032         the install rule
1034 Wed Jan 20 16:16:01 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
1036         * gutils.c (g_get_any_init):
1037         Revert previous patch, move error value set line down to proper
1038         place.  Caught by Elliot Lee <sopwith@redhat.com>.
1040 Wed Jan 20 20:48:58 GMT 1999  Adam D. Moss  <adam@gimp.org>
1042         * gutils.c (g_get_any_init): All gtk apps were broken
1043         here on my setup.  I changed the error to a warning to at
1044         least get things limping.
1046 1999-01-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1048         * gutils.c (g_get_any_init): Use getpwuid_r with the right
1049         signature, if available.
1051         * configure.in, acconfig.h: Test for existance of getpwuid_r and
1052         its signature.
1054 Tue Jan 19 20:52:43 1999  Tor Lillqvist  <tml@iki.fi>
1055         
1056         * Makefile.am (EXTRA_DIST): Add new Win32 files.
1058         * README.win32: Describe the conditional compilation macros.
1060         * makefile.lcc: Removed.
1062 1999-01-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1064         * configure.in: Moved test for localtime_r and rand_r to a place
1065         after the determination of the G_THREAD_LIBS and use them for
1066         finding those functions, necessary on systems with a different C
1067         library libc_r for threaded progs, like FreeBSD 2.2.x. Info from
1068         Timur Bakeyev <mc@bat.ru>.
1070 Tue Jan 19 00:44:24 1999  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
1072         * gstrfuncs.c (g_strsignal): The "extern char* sys_siglist"
1073         declaration breaks systems with different declarations, like
1074         mine (FreeBSD).  So, I added a configuration variable to decide
1075         whether the declaration is neccesary.  Change also appears on
1076         line 275 of configure.in.
1078 Sun Jan 17 17:13:54 CST 1999 Shawn T. Amundson <amundson@gtk.org>
1080         * Released GLib 1.1.13
1082         * README:
1083           INSTALL:
1084           docs/glib-config: ver=1.1.13
1086 Mon Jan 18 00:02:46 1999  Tim Janik  <timj@gtk.org>
1088         * NEWS: updates for 1.1.13.
1090 Sun Jan 17 17:15:59 1999  Tim Janik  <timj@gtk.org>
1092         * gtree.c (g_tree_traverse): removed assertion about rtree->root being
1093         NULL, so this function can be applied to unpopulated trees as well, fix
1094         provided by Simon Kagedal <sika8225@csd.uu.se>.
1096 Sun Jan 17 11:17:19 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
1098         * glib.spec: add packager address
1100 Sun Jan 17 11:10:05 1999 Christopher Blizzard  <blizzard@appliedtheory.com>
1102         * glib.spec: increment version number to 1.1.13
1104 Sun Jan 17 16:14:03 1999  Tim Janik  <timj@gtk.org>
1106         * glib.h (g_error): if !defined (G_LOG_DOMAIN) define G_LOG_DOMAIN as
1107         ((gchar*) 0) instead of ((void*) 0) to silence egcs C++ mode, reported
1108         by Seth Alves <alves@hungry.com>.
1110 Sun Jan 17 14:13:52 1999  Tim Janik  <timj@gtk.org>
1112         * glib.h: added a define G_HOOK_DEFERRED_DESTROY, to substitute a noop
1113         GHookList.hook_destroy function.
1115         * ghook.c (g_hook_destroy_link): don't really call hook_destroy if it
1116         is G_HOOK_DEFERRED_DESTROY. for the case where we invoke hook->destroy()
1117         we now clean up the hook completely afterwards, i.e. data, func and
1118         destroy are immediately set to NULL and hook_free can't play with that
1119         values anymore.
1121         * gmain.c (g_source_add): set hook_destroy to G_HOOK_DEFERRED_DESTROY,
1122         instead of using an ugly _noop() hack, this is to avoid an uneccessary
1123         function invokation. set hook_free to g_source_destroy_func, this way
1124         we always invoke the destroy notifiers for user_data and source_data
1125         after execution of dispatch(). thus, g_source_destroy_func() will always
1126         be called within the main_loop lock (this wasn't really assured
1127         before), and can release and reaquire the look around destroy notifier
1128         invokation.
1130 Sun Jan 17 11:01:40 1999  Tor Lillqvist  <tml@iki.fi>
1132         * config.h.win32 glibconfig.h.win32: Increment version number here
1133         also.
1135 Sun Jan 17 05:12:17 1999  Tim Janik  <timj@gtk.org>
1137         * configure.in: incremented version number to 1.1.13, bin age 0,
1138         interface age 0.
1140         * glib.h: added hook_destroy member to struct _GHookList.
1142         * ghook.c (g_hook_destroy_link): if the hook_list defines a hook_destroy
1143         function, use that to marshal hook destruction notifiers.
1145         * gmain.c: removed g_source_free_func and added g_source_destroy_func,
1146         which marshalls the user_data and source_data destructors of sources
1147         outside of the main_loop lock.
1148         removed GIdleData struct since its sole member callback can be passed
1149         as source_data directly.
1150         added a gboolean return value to all g_source_remove* functions,
1151         indicating whether the source could be removed, because these functions
1152         don't issue warnings upon unseccessful removals themselves. this way at
1153         least the caller gets a chance to warn upon failing removals.
1154         (g_main_iterate): set in_check_or_prepare around calls to check() or
1155         prepare().
1156         (g_main_pending): simply return FALSE if called from within check() or
1157         prepare().
1158         (g_main_iteration): issue a warning if called from within check() or
1159         prepare() and bail out with FALSE.
1160         (g_main_run): likewise.
1161         (g_source_remove_by_funcs_user_data): new function to remove sources by
1162         user data and function table.
1163         (g_idle_remove_by_data): new function to really remove idles only, since
1164         g_source_remove_by_user_data would remove timeouts or other sources as
1165         well.
1167 1999-01-16  Tor Lillqvist  <tml@iki.fi>
1169         * Merge in current Win32 version:
1171         * README.win32: More text.
1173         * config.h.win32 glibconfig.h.win32: Update to match the
1174         corresponding generated files on Unix.
1176         * makefile.msc: Update with new source files, and gthread
1177         library. Use the compiler flag -MD instead of using -D_DLL and
1178         /nodefaultlib:libc msvcrt.lib in the link phase.
1180         * glib.def: Update to include new functions, drop removed ones.
1182         * glib.h: Add comments about main loop and polling on Win32. (In
1183         general, it's only for the GIMP's use.) Add Win32 IO Channel
1184         functions. Remove the obsoleted old IO Channel stuff (which was
1185         in #if 0 already).
1187         * giowin32.c: New file.
1189         * gmain.c: Include config.h, conditionalize <sys/time.h>
1190         inclusion.  Add g_poll implementation for Win32 (only for the
1191         GIMP's needs for now, it's hard or even impossible to be as clean
1192         and generic as on Unix). Implement g_get_current_time on Win32. If
1193         threads aren't supported, don't try to wake up main thread's
1194         loop. On Win32, use a semaphore and not a pipe to wake up the main
1195         loop.
1197         * gmessages.c: On Win32, allocate a console window if the standard
1198         output handle is invalid before writing to stdout, and reopen stdout
1199         to that console window.
1201         * giochannel.c: Conditionalize unistd.h inclusion. Some indentation
1202         cleanup.
1204         * gstrfuncs.c: Include <signal.h>.
1206         * gutils.c: On Win32, also check the HOMEDRIVE and HOMEPATH
1207         environment variables.
1209 Sun Jan 17 01:06:38 1999 Timur Bakeyev <mc@bat.ru>
1211         * configure.in: Add support for FreeBSD 2.2.x macro _THREAD_SAFE.
1213 Wed Jan 13 11:27:24 PST 1999 Manish Singh <yosh@gimp.org>
1215         * glib.h: don't use inline for !__GNUC__ case with g_warning,
1216         g_error, and g_message wrappers since some compilers throw
1217         away arguments in this case
1219 Tue Jan 12 21:59:14 PST 1999 Manish Singh <yosh@gimp.org>
1221         * acinclude.m4
1222         * ltconfig
1223         * ltmain.sh: upgrade to libtool 1.2d (with fixes for irix6 and osf)
1225         * testglib.c: removed unused cruft
1227 Tue Jan 12 09:57:06 PST 1999 Manish Singh <yosh@gimp.org>
1229         * gdate.c: #warning isn't portable, check for gcc
1231 1999-01-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1233         * gdate.c: Include config.h to get HAVE_LOCALTIME_R macro.
1235         * configure.in: Moved function check back to the place, they've
1236         been before.
1238 1999-01-11  Jeff Garzik  <jgarzik@pobox.com>
1240         * gstrfuncs.c:
1241         Do not use vasprintf.
1243         * configure.in, glib.h, testglib.c, tests/.cvsignore,
1244           tests/Makefile.am, tests/alloca-test.c:
1245         Do not use alloca.
1247 1999-01-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1249         * configure.in: Test for localtime_r only after including the
1250         right MT enabling CFLAGS (i.e. -D_REENTRANT on most systems).
1252         * configure.in: Find right thread system on DG/UX. Thanks to Marc
1253         J. Fraioli <fraioli@dg-rtp.dg.com> for hint. Finally removed the
1254         stuff for -fstack-check, that didnt work anyway.
1256         * gdate.c (g_date_set_time): Emit warning, if no localtime_r
1257         function is available on thread enabled systems. Define ptm only,
1258         if really needed, and assert on it.
1260 Sat Jan  9 15:08:44 1999  Jeff Garzik  <jgarzik@pobox.com>
1262         * testglib.c:
1263         Make all aux functions static.
1265         * tests/Makefile.am, tests/dirname-test.c, tests/type-test.c:
1266         New tests dirname-test and type-test, from testglib.
1268 Sat Jan  9 13:53:00 1999  Jeff Garzik  <jgarzik@pobox.com>
1270         * configure.in:
1271         Add checks for vasprintf, localtime_r.
1273         * gdate.c (g_date_set_time):
1274         Use localtime if localtime_r is not available.
1276         * gstrfuncs.c (g_strdup_vprintf):
1277         Use glibc vasprintf if possible; it's a bit faster than using
1278         GLib routines, and makes output code a bit smaller.
1280         * acconfig.h:
1281         Remove HAVE_VSNPRINTF and HAVE_VPRINTF.  autoheader picks these
1282         up automatically and puts them in config.h.in.
1284 Thu Jan  7 15:14:08 1999  Owen Taylor  <otaylor@redhat.com>
1286         * gmain.c (g_source_free_func): Call the source-specific
1287         free function when the hook is freed not when it
1288         is destroyed; this fixes a bug where a timeout destroyed
1289         from itself would access already freed data.
1291 1999-01-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1293         * gutils.c (g_get_any_init): Here we must replace getpwuid by
1294         getpwuid_r, but as I do not know how for now, I just made a FIXME
1295         note ;-)
1297         * gdate.c (g_date_set_time): localtime --> localtime_r to make it
1298         thread safe.
1300         * configure.in: We do not need to check for broken solaris mutex
1301         intitializer any longer. Provide a macro to show the used thread
1302         implementation. Not nice, but this is needed until thread support
1303         is completed here inside glib.
1305 Tue Jan  5 12:23:52 PST 1999 Manish Singh <yosh@gimp.org>
1307         * configure.in: ditch whitespace before GLIB_SYSDEFS #includes,
1308         the # needs to be in column 1
1310         * gthread/testgthread.c: cleanups
1312         * tests/node-test.c: #include unistd.h for exit()
1314 1999-01-04  Andrew T. Veliath  <andrewtv@usa.net>
1316         * glib.h (g_array_insert_val): fix macro to be shorthand of
1317         g_array_insert_vals.
1319 Mon Jan  4 15:35:29 PST 1999 Manish Singh <yosh@gimp.org>
1321         * acglib.m4: some echos interpret \n's and some don't. Deal with
1322         accordingly.
1324 Mon Jan  4 20:58:50 1999  Tim Janik  <timj@gtk.org>
1326         * gscanner.c: eliminated extraneous "register" qualifiers in variable
1327         declarations.
1329         * gmain.c: #undef events and revents which may have been defined in
1330         sys/poll.h for SVR3,4 compatibility on some AIX systems. fix been
1331         provided by Philippe Defert <Philippe.Defert@cern.ch>.
1333 Mon Jan  4 14:38:11 1999  Tim Janik  <timj@gtk.org>
1335         * glib.h: adjusted the g_strdup_a, g_strndup_a and g_strconcat3_a macros
1336         so their arguments get only evaluated once. changed g_strconcat3_a to
1337         have the same semantics as g_strconcat, i.e. if a certain argument is
1338         NULL, the rest of the parameter list is skipped.
1340         * tests/alloca-test.c: removed #if/#endif G_HAVE_ALLOCA, we need to be
1341         able to compile on all systems. added test for g_strconcat() semantics.
1343         * we need a alloca() replacement for !G_HAVE_ALLOCA rsn!
1345 Mon Jan  4 02:58:13 CST 1999 Shawn T. Amundson <amundson@gtk.org>
1347         * Released GLib 1.1.12
1349         * INSTALL:
1350           NEWS:
1351           README:
1352           configure.in:
1353           glib.spec:
1354           docs/glib-config.1: version=1.1.12
1356         * tests/Makefile.am: fixed so it works properly with
1357           builddir and srcdir.
1359 Sun Jan  3 01:38:14 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
1361         * tests/Makefile.am:
1362         add array-test.c, tree-test.c
1364         * tests/array-test.c, tests/tree-test.c:
1365         New module, tests array family
1367         * tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
1368           tests/string-test.c, tests/node-test.c:
1369         Clean out cruft left over from testglib.
1371 Sat Jan  2 22:42:25 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
1373         * Makefile.am, configure.in, tests/*:
1374         Added 'make check' tests, based on testglib code.
1376 Sat Jan  2 19:52:45 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
1378         * glib.h, testglib.c:
1379         Added g_alloca, g_new_a, g_new0_a macros.
1381 Sat Jan  2 16:45:44 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
1383         * testglib.c: Added g_strdup_printf check.
1385 Fri Jan  1 21:58:40 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
1387         * glib.h:
1388         (g_strdup_a, g_strndup_a): Handle NULL strings like g_strdup.
1389         s/g_strconcat_a/g_strconcat3_a/ to reflect fixed number of args
1391         * testglib.c:
1392         Added g_strdup, g_strconcat checks.
1393         Added str==NULL checks for alloca string macros.
1394         s/g_strconcat_a/g_strconcat3_a/
1396 Fri Jan  1 18:30:41 PST 1999 Manish Singh <yosh@gimp.org>
1398         * testglib.c: made the alloca tests follow the testglib style
1400         * Makefile.am: minor cleanups, mostly cosmetic
1402 Fri Jan  1 20:43:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
1404         * glib.h: added g_strndup_a macro
1406         * testglib.c:
1407         Added tests for new alloca-based string routines.
1408         Reformatted a couple strings.
1410 Sat Jan  2 02:20:59 1999  Tim Janik  <timj@gtk.org>
1412         * ghook.c:
1413         (g_hook_list_invoke):
1414         (g_hook_list_invoke_check):
1415         (g_hook_list_marshal_check):
1416         (g_hook_list_marshal): avoid unneccessary extra hook referencing (the
1417         explicit hook referencing became unneccessarry with my changes from
1418         Mon Dec 21 21:48:29 1998).
1420         * gmain.c (g_main_iterate): fixed reference counting leaks with
1421         premature loop aborts.
1423 Fri Jan  1 22:47:44 1999  Tim Janik  <timj@gtk.org>
1425         * gscanner.c (g_scanner_unexp_token): handle G_TOKEN_IDENTIFIER_NULL
1426         as G_TOKEN_IDENTIFIER.
1428 Fri Jan  1 17:09:19 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
1430         * configure.in, glib.h:
1431         Added two new alloca-based function macros, g_strdup_a and
1432         g_strconcat_a.  These are stack-based and much faster than
1433         their g_malloc-based counterparts.  Kudos to Ulrich Drepper
1434         for help on this one.
1436 Wed Dec 30 18:24:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1438         * Released GLib 1.1.11
1440         * INSTALL:
1441           NEWS:
1442           README:
1443           configure.in:
1444           docs/glib-config.1: version=1.1.11
1446 1998-12-30  Raja R Harinath  <harinath@cs.umn.edu>
1448         * glib.h (G[U]INT64_FROM_{LE,BE}):
1449         Define to G[U]INT64_TO_{LE,BE}, not G[U]INT32_TO_{LE,BE}.
1451 Fri Dec 25 19:56:33 PST 1998 Manish Singh <yosh@gimp.org>
1453         * acglib.m4
1454         * configure.in: provide defaults for POLL sysdefs, simple enums
1455         don't work with bitwise logic. Reported by Daniel Skarda
1456         <0rfelyus@atrey.karlin.mff.cuni.cz>
1458 Wed Dec 23 00:43:25 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1460         * INSTALL:
1461           NEWS:
1462           README:
1463           configure.in:
1464           docs/glib-config.1: version=1.1.10
1466 Wed Dec 23 04:18:11 1998  George Lebl  <jirka@5z.com>
1468         * gmain.c: (g_get_current_time) don't cast to timeval since
1469           timeval is for some reason not always a struct of longs, weird
1471 Tue Dec 22 10:32:11 1998  Tim Janik  <timj@gtk.org>
1473         * ghook.c (g_hook_first_valid): fixed buglet that could cause bogus
1474         warnings.
1476 Mon Dec 21 21:48:29 1998  Tim Janik  <timj@gtk.org>
1478         * glib.h:
1479         * gmain.c: there was a reference count race for hooks during invocation
1480         loops. since all (known) hook loop implementations, do currently start
1481         out with g_hook_first_valid() and iterate with g_hook_next_valid(),
1482         g_hook_first_valid() will now return a referenced hook, and
1483         g_hook_next_valid() will "eat" that, and eventually transfer it to
1484         the next hook. <sigh> unfortunately this requires g_hook_next_valid()
1485         to take the hook_list as additional argument.
1487         * gmain.c (g_main_iterate): adjusted callers of g_hook_next_valid().
1489 Mon Dec 21 03:48:04 1998  Tim Janik  <timj@gtk.org>
1491         * gmain.c (g_main_iterate): default initialize source_timeout with -1
1492         so we have a sane timeout value if (*prpare) doesn't set it.
1494 Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
1496         * glib.h gmain.c (G_PRIORITY_LOW): Add #defines defining
1497         scale of priorities.
1499 Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>
1501         * gmain.c (g_main_poll): Allocate space for pollfd's
1502         _after_ adding poll wake-up-pipe record.
1504         * gmain.c (g_main_add_poll): Changed name
1505         of internal function g_main_add_poll_unlocked()
1506         back from the non-sensical g_main_add_unlocking_poll().
1508 Sat Dec 19 06:25:55 1998  Tim Janik  <timj@gtk.org>
1510         * glib.m4: fixed a minor bug that would let configures bail out
1511         if the MODULES argument contained newlines.
1513         * acglib.m4: new file to be included by configure.in. it holds
1514         special GLIB_ autoconfiguration macros, eventually some of the
1515         easier ones should be moved into glib.m4, e.g. GLIB_IF_VAR_EQ,
1516         GLIB_STR_CONTAINS or GLIB_ADD_TO_VAR.
1518 Sat Dec 19 04:27:17 1998  Tim Janik  <timj@gtk.org>
1520         * fixed up sys/poll.h and sys/types.h inclusions.
1522 Sat Dec 19 03:10:50 1998  Tim Janik  <timj@gtk.org>
1524         * fixed up gthread includes, cleaned up glibconfig.h a little bit.
1526 Fri Dec 18 12:51:39 1998  Owen Taylor  <otaylor@redhat.com>
1528         * gmain.c: Fix errors in computation of timeout
1529         expiration times > 1sec.
1531 1998-12-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1533         * configure.in (have_threads): Changed the last pthread_cond_init
1534         to pthread_attr_init.
1536 Fri Dec 18 00:03:17 1998  Tim Janik  <timj@gtk.org>
1538         * glib.h:
1539         * gmain.c:
1540         (g_main_is_running): new function to check whether a main loop has been
1541         quitted.
1542         (g_main_new): added a gboolean argument to determine whether the loop
1543         should be considered initially running or not. however, g_main_run ()
1544         will still reset the main loops running state to TRUE upon initial
1545         entrance.
1547         * gmain.c:
1548         (g_main_iterate): documented this function's purpose in 5 steps.
1549         for step 2), flag sources as G_SOURCE_READY even if !dispatch and
1550         check G_SOURCE_READY prior to (*prepare), so we don't call (*prepare)
1551         on them multiple times.
1553 Thu Dec 17 23:43:47 1998  Tim Janik  <timj@gtk.org>
1555         * gmain.c (g_main_add_poll): reordered arguments, so GPollFD* comes
1556         first, <sigh> (sorry Snorfle, i should have let you know in the first
1557         place).
1558         (g_main_dispatch): stack G_HOOK_FLAG_IN_CALL flags. call source's
1559         destructor when destroying a source.
1561 1998-12-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1563         * garray.c (g_ptr_array_remove_index): Fixed size in g_memmove,
1564         reported by Alexander Larsson <alla@lysator.liu.se>.
1566         * gmem.c: Fixed bug, that made compile fail for -DENABLE_MEM_PROFILE.
1568 Wed Dec 16 23:04:26 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1570         * Released GLib 1.1.9
1572         * INSTALL:
1573           NEWS:
1574           README:
1575           configure.in:
1576           glib.spec:
1577           docs/glib-config.1: version=1.1.9
1579 Wed Dec 16 22:32:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1581         * glib.h:
1582           giounix.c: s/g_main_poll_add/g_main_remove_add/g
1583                      s/g_main_poll_remove/g_main_remove_poll/g
1584                      s/g_main_poll_add_unlocking/g_main_add_unlocking_poll/g
1585           (from Tim Janik)
1587 Wed Dec 16 20:04:10 PST 1998 Manish Singh <yosh@gimp.org>
1589         * configure.in: check for pthread_attr_init in all cases, du4
1590         needs this since most of the other functions are just #defines
1592 Thu Dec 17 04:10:49 1998  Tim Janik  <timj@gtk.org>
1594         * glib.h (G_LOCK_DECLARE_*): if !G_THREADS_ENABLED, eat the
1595         trailing semicolon with a bogus function declaration, instead
1596         of with a bogus variable declarations, so we avoid unused
1597         variable warnings.
1599 Wed Dec 16 07:49:16 PST 1998 Shawn T. Amundson <amundson@gtk.org>
1601         * Released GLib 1.1.8  (CVS tag is GLIB_1_1_8a)
1603 1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1605         * giounix.c (g_io_channel_unix_get_fd): Fixed small bug.
1607 1998-12-16  Joel Becker  <jlbec@ocala.cs.miami.edu>
1609         * glib.h, gscanner.c: changed func_data to user_data in
1610         g_scanner_scope_symbol_foreach and associated friends, because
1611         AIX headers #define func_data.
1613 1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1615         * configure.in: Fixed stupid bug, that made
1616         g_static_mutex_lock(*mutex) not work as expected.
1618         * docs/glib-config.1: Updated to reflect the existence of gthread.
1620         * gmain.c (g_main_poll_add_unlocking): Changed
1621         g_main_poll_add_unlocked to g_main_poll_add_unlocking to match
1622         semantic, (indeed, main_loop must be locked, when calling this
1623         function). Removed the unlocking from the end of that function, as
1624         that is not right. Made a 'HOLDS' comment above the function.
1626 Wed Dec 16 03:16:58 1998  Tim Janik  <timj@gtk.org>
1628         * configure.in: version bump to 1.1.8, binary age 0, interface age 0.
1630         * glib.h: changed g_lock() to G_LOCK(), g_unlock() to G_UNLOCK() and
1631         g_trylock() to G_TRYLOCK(), since these are macros that expand to
1632         nothing with --disable-threads.
1633         changed G_LOCK_DEFINE() to G_LOCK_DECLARE() and introduced
1634         G_LOCK_DECLARE_STATIC() to achive the results of static G_LOCK_DECLARE().
1635         changed semantics of g_thread_supported to g_thread_supported() so it
1636         can be used as a function like g_module_supported(). the actuall
1637         definition is still a macro that expands into a variable for
1638         performance reasons though.
1639         various indentation and coding style cleanups.
1641         * configure.in: added --enable-threads that defaults to yes.
1643         * gmutex.c: changed tests g_thread_supported to g_thread_supported (),
1644         changed variable settings of g_thread_supported
1645         to g_threads_got_initialized.
1647         garray.c:
1648         gcache.c:
1649         gdataset.c:
1650         gdate.c:
1651         ghash.c:
1652         glist.c:
1653         gmain.c:
1654         gnode.c:
1655         gslist.c:
1656         gstring.c:
1657         gtree.c:
1658         gutils.c:
1659         changed s/g_lock/G_LOCK/, s/g_unlock/G_UNLOCK/,
1660         s/static G_LOCK_DEFINE/G_LOCK_DECLARE_STATIC/.
1662 Tue Dec 15 23:16:05 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1664         * INSTALL:
1665           NEWS:
1666           README
1667           configure.in:
1668           glib.spec:
1669           docs/glib-config.1: Incremented version
1671 Wed Dec 16 22:29:48 1998  Joel Becker  <jlbec@ocala.cs.miami.edu>
1673         * configure.in: fixed the AIX thread checking.
1674         Just an error on the wildcard.  BTW, -D_THREAD_SAFE
1675         is correct for AIX.
1677 Wed Dec 16 02:02:48 1998  Tim Janik  <timj@gtk.org>
1679         * glib-config.in (lib_glib): fixed library and flag ordering for
1680         --libs
1682 Tue Dec 15 17:17:46 1998  Owen Taylor  <otaylor@redhat.com>
1684         * glib.h giounix.c giochannel.c: Use an "inheritance"
1685         scheme for IO channel memory allocation.h
1687 1998-12-15  Havoc Pennington  <hp@pobox.com>
1689         * gdate.c (g_date_prepare_to_parse): Solaris has a broken strftime
1690         that produced garbage output for the test date I was using to
1691         set up the parser. So use a different date that Solaris seems
1692         to like.
1694 1998-12-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1696         * configure.in: Dont complain, if --without-threads or
1697         --with-threads=none is supplied; Test for pthread_attr_init
1698         instead of pthread_cond_init, if threads seems to be supported by
1699         standard glib. (CFLAGS): Use G_THREAD_CFLAGS for compiling of glib
1700         as well.
1702         * glib.h, gmutex.c: Changed private to private_key to avoid
1703         problems when compiling with under C++.
1705 1998-12-15  Jeff Garzik  <jgarzik@Pobox.com>
1707         * configure.in:
1708         bugfixes, correctly support --without-threads and friends
1710         * gthread/testgthread.c: corrected 64-bitness problem
1712 Tue Dec 15 10:40:09 1998  Owen Taylor  <otaylor@redhat.com>
1714         * gnode.c glist.c gslist.c: Make sure all
1715         calls to g_node_validate_allocator are within
1716         current_allocator lock, so we have consistency
1717         on that point. (Should not really matter,
1718         but this way we match the comments)
1720         * glist.c (g_list_free_1): Removed some lines
1721         that should never have been committed. (For
1722         debugging)
1724 1998-12-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1726         * gthread/gthread-nspr.c, configure.in: Added new default thread
1727         implementation on top of the mozilla nspr library.
1729         * gmem.c, gmessaged.c, gthread/gthread.c, gthread/gthread-*.c:
1730         Changed GStaticMutex and GStaticPrivate in gmem.c and gmessages.c
1731         into GMutex and GPrivate resp. to make error reporting and use of
1732         gmem possible in most (not all, though) gthread functions. Also
1733         initialized the modules via new init functions.
1735         * configure.in: Fixed syntax bug in definition of type
1736         GStaticMutex.
1738         * gthread/testgthread.c: Updated to work with nspr, but see note
1739         there for remaining problems.
1741 1998-12-10  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1743         * gmutex.c, glib.h: Now abort, if a mutex/cond/private is
1744         allocated before the thread system is set up.
1746         * gthread/gthread.c (g_thread_init): Removed g_thread_try_init(),
1747         as it is not necessary. Changed the error message. Corrected logic
1748         for g_thread_use_default_impl.
1750         * gmutex.c (g_mutex_init): Keep the thread private data array
1751         after calling g_thread_init().
1753 1998-12-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1755         * gthread/testgthread.c (new_thread): Now also working for posix
1756         threads; (wait_thread): Now a better implementation, that does not
1757         use 100% CPU.
1759         * Made the thread related code follow GNU coding standard.
1761         * Made a comment (HOLDS:) above each function, that expects the
1762         given locks to be held.
1764         * Changed try_lock to trylock throughout.
1766         * glib.c: Eventually removed the #if 0'ed code for old GStaticMutex.
1768         * glib.c: Corrected g_trylock macro for G_DEBUG_LOCKS.
1770         * gmain.c (g_main_poll_add_unlocked): first take a new poll record
1771         form the poll_free_list.
1773         * gmem.c, gstrfuncs.c, gutils.c: Made it MT safe.
1775         * gthraed/*.c: Added copyright headers.
1777         * gthread/gthread-solaris.c: do not use g_log for errors, as g_log
1778         uses these module and endless recursions might happen, just use a
1779         plain fprintf(stderr,...).
1781         * gthread/gthread.c (g_thread_try_init): Call g_mutex_init().
1783         * gthread/testgthread.c: updated test program.
1785 Tue Dec  8 18:49:56 1998  Owen Taylor  <otaylor@redhat.com>
1787         * Start at adding thread-safety. (mostly work
1788         of Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
1790         - configure.in now looks for a system thread implementation.
1791         Currently support is included for POSIX threads
1792         and Solaris threads. The default support is built
1793         into a separate library -lgthread.
1795         - The thread implementation can be modified by passing
1796         a vector of functions g_thread_init().
1798         - The default or supplied functions are used to
1799         implement a small set of thread functions for
1800         mutexes, condition variables, and thread-private
1801         data.
1803         - GLib now uses these functions to provide thread
1804         safety. (In the sense that all global static
1805         data is locked... individual structures must still
1806         be locked by the caller.)
1808 Sat Dec 12 19:08:59 1998  Tim Janik  <timj@gtk.org>
1810         * configure.in: always define G_HAVE_INLINE if __cplusplus is
1811         defined, reported by Wan-Teh Chang <wtc@netscape.com>.
1813 Thu Dec 10 21:49:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1815         * Released GLib 1.1.7
1817         * INSTALL:
1818           NEWS:
1819           README:
1820           configure.in:
1821           glib.spec:
1822           docs/glib-config.1: Increased version to 1.1.7
1824 Wed Dec  9 22:44:44 EST 1998 Joel Becker <jlbec@ocala.cs.miami.edu>
1826         * Removed #define of G_COMPILED_WITH_DEBUGGING from glibconfig.h
1827         It shouldn't be there, and it was causing a double #define.
1828         (config.h defines it also)
1830 Tue Dec  8 12:18:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1832         * Released GLib 1.1.6
1834         * NEWS: updated
1836 Mon Dec  7 23:10:41 PST 1998 Manish Singh <yosh@gimp.org>
1838         * gmain.c: fixes to #undef HAVE_POLL case
1840 1998-12-02  Havoc Pennington  <hp@pobox.com>
1842         * gdate.c (g_date_set_month): If Julian is valid, we have to
1843         update the dmy representation before setting the components
1844         of it.
1845         (g_date_set_day): Same.
1846         (g_date_set_year): Same.
1848 1998-12-02  Havoc Pennington  <hp@pobox.com>
1850         * testgdate.c, testgdateparser.c: Two new files. This is kind of
1851         ugly code, but I want to go ahead and make the tests available.
1852         It isn't contaminating any other code. :-) Since one of these
1853         is interactive and the other takes a while to run, I've kept
1854         them separate from testglib for now.
1855         * Makefile.am: Build gdate test programs.
1857 1998-12-02  Havoc Pennington  <hp@pobox.com>
1859         * gdate.c (g_date_valid): Rely on GDate::dmy and GDate::Julian
1860         flags, rather than re-checking the validity of the actual
1861         values. This should be the correct behavior, the old way was
1862         leftover cruft.
1864         * glib.h, gdate.c: Changed MDY to DMY throughout.
1866 Sat Nov 28 12:53:47 1998  Owen Taylor  <otaylor@redhat.com>
1868         * Makefile.am configure.in acconfig.h giochannel.c
1869           glib.h glist.c gmain.c gutils.c:
1871         - Revised GIOChannel to provide a generic virtual-function
1872           based interface.
1873         - Added unix fd-based GIOChannel's
1874         - Added generic main-loop abstraction
1875         - Added timeouts and idle functions using main-loop abstraction.
1877 1998-12-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1879         * glib.h:
1880         * gdate.c: changed `gpointer struct_tm_p' parameter of
1881         g_date_to_struct_tm back to `struct tm *tm' and forward declared
1882         `struct tm' in glib.h; yes, this is nice, we still need not
1883         include time.h.
1885 Tue Dec  1 23:01:44 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1887         * INSTALL:
1888           NEWS:
1889           README:
1890           glib.spec:
1891           docs/glib-config.1: Incremented versions to 1.1.6.
1893 Wed Dec  2 02:10:59 1998  Tim Janik  <timj@gtk.org>
1895         * gdate.c: s/time_t/GTime/ and s/g_print/g_message/
1896         include time.h.
1898         * glib.h: removed #include <time.h>, changed time_t paramter of
1899         g_date_set_time() to time_t, changed struct tm parameter of
1900         g_date_to_struct_tm to `gpointer struct_tm_p'. yes, this is not
1901         nice, but including time.h actually breaks a bunch of code.
1903         * incremented GLib version to 1.1.6.
1905 1998-11-30  Havoc Pennington  <hp@pobox.com>
1907         * gdate.c: New file, implements calendrical calculations.
1909         * glib.h: Added declarations for GDate module.
1911 Mon Nov 30 07:12:10 1998  Tim Janik  <timj@gtk.org>
1913         * glib.h:
1914         * ghook.c: added g_hook_list_marshal_check() to eventually destroy
1915         hooks after they got marshalled.
1917 Sun Nov 29 17:31:43 EST 1998  Jeff Garzik  <jgarzik@pobox.com>
1919         * configure.in, Makefile.am, gmodule/Makefile.am:
1920         Put -DFOO stuff into Makefile.am INCLUDES.
1922 Sun Nov 29 14:17:09 PST 1998 Manish Singh <yosh@gimp.org>
1924         * configure.in: put debug -DFOO stuff into CPPFLAGS, not CFLAGS,
1925         so CFLAGS can be overridden at make time properly
1927 Sat Nov 28 01:23:25 1998  Tim Janik  <timj@gtk.org>
1929         * ghash.c: implemented incremental freezing facility.
1931 Thu Nov 26 01:36:20 1998  Tim Janik  <timj@gtk.org>
1933         * glib.h:
1934         * ghash.c: reverted the g_hash_table_set_key_freefunc() addition,
1935         since it's to specialized and needs to be resolved in a generic
1936         fashion.
1938 Tue Nov 24 18:57:59 PST 1998 Manish Singh <yosh@gimp.org>
1940         * applied glib-tml-981120-0, change log appended below.
1942         * glibconfig.h.win32: passthrough 64-bit constants unchanged, VC++
1943         infers them
1945 Fri Nov 20 22:26:43 1998  Tor Lillqvist  <tml@iki.fi>
1947         * glib.h: Moved MSC pragmas from glib.h to glibconfig.h.win32.
1948         peer_offset field in WIN32 part of GIOChannel removed, need_wakeups
1949         added. Added "extern" to __declspec(dllimport).
1951         * gutils.c: Initialise need_wakeups.
1953         * glibconfig.h.win32: Pragmas moved here. Define G_GINT64_CONSTANT.
1955         * gmodule/gmodule.def: Added g_module_build_path.
1957         * gscanner.c: (g_scanner_cur_value) Move initailisation of v
1958         to before its use.
1960         * glib.def: Added g_(s)list_sort.
1962         * makefile.msc: A few more comments.
1964 Tue Nov 24 14:05:47 EST 1998    Michael K. Johnson <johnsonm@redhat.com>
1966         * glib.h: added GFreeFunc and g_hash_table_set_key_freefunc()
1967         prototype.
1968         * ghash.c: added g_hash_table_set_key_freefunc() implementation.
1969         Modified the prototypes of the functions g_hash_node_destroy() and
1970         g_hash_nodes_destroy(), and changed the functions that call them
1971         to match the new definitions.
1972         This changes no external interfaces, and should create no binary
1973         or source incompatibilities.  It does add a member to the
1974         GHashTable structure.
1976 Tue Nov 24 09:40:00 1998  Tim Janik  <timj@gtk.org>
1978         * glib.h: removed the GListAllocator type and its g_*_allocator_*()
1979         function variants (which weren't working anyways) in favour of a
1980         generic GAllocator type. new functions:
1981         g_allocator_new, g_allocator_free, g_slist_push_allocator,
1982         g_slist_pop_allocator, g_list_push_allocator, g_list_pop_allocator,
1983         g_node_push_allocator and g_node_pop_allocator.
1985         * gstring.c: removed bogus slist allocator code.
1986         * gtree.c: maintain own list of free tree nodes and don't waste
1987         GSLists for that, removed bogus slist allocator code.
1988         * glist.c: use GAllocators for node allocation.
1989         * gslist.c: use GAllocators for node allocation.
1990         * gnode.c: use GAllocators for node allocation.
1992         * gdataset.c: cleanups wrt automatic initialization.
1994 Mon Nov 23 10:03:58 1998  Owen Taylor  <otaylor@gtk.org>
1996         * glib.h garray.[ch]: added g_array_insert_vals() to
1997         insert elements at an arbitrary index, and
1998         g_array_insert_val() macro.
2000 Sun Nov 22 17:07:03 1998  Tim Janik  <timj@gtk.org>
2002         * glib.h:
2003         * gslist.c: new function g_slist_copy() to duplicate a list with all its
2004         data pointers.
2005         * glist.c: new function g_list_copy.
2007 Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>
2009         * INSTALL:
2010           NEWS:
2011           README:
2012           configure.in:
2013           glib.spec: Updated to version 1.1.5
2015         * Released GLib 1.1.5
2017 Wed Nov 18 1998 Elliot Lee <sopwith@redhat.com>
2019         * gdataset.c: There was a code path into g_data_set_internal
2020           through a function (g_datalist_id_set_full). Neither function
2021           checked for g_dataset_init having been run, but
2022           g_data_set_internal used the memchunk. I added
2023           a check into g_data_set_internal so it will do the
2024           initialization if needed. (There's probably a better way.)
2026 Mon Nov 16 07:48:06 1998  Tim Janik  <timj@gtk.org>
2028         * glib.h (g_bit_nth_msf): fixed off-by-one error, so we don't waste
2029         a loop iteration if (-1) was passed, reported by Andreas Bombe
2030         <andreas.bombe@munich.netsurf.de>.
2032 Fri Nov 13 15:17:34 1998  Owen Taylor  <otaylor@redhat.com>
2034         * glist.c gslist.c glib.h: Added g_list_sort() and
2035         g_slist_sort() to merge sort GLists and GSLists.
2036         Submitted by Sven Over <sven.over@ob.kamp.net>
2037         over a year ago!
2039         * testglib.c: Test the new sort functions.
2041 Wed Nov 11 23:23:22 EST 1998 Jeff Garzik <jgarzik@pobox.com>
2043         * Makefile.am : INCLUDES is the right way to add to CFLAGS, not
2044         DEFS.  Also there are bugs with '+=' in makefiles.
2045         Got rid of DEFS line by moving G_LOG_DOMAIN setting into INCLUDES.
2046         Removed redundant -I from INCLUDES.
2048 Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net>
2050         * docs/*.sgml : Batch of new documentation that should be easier
2051         to maintain and extend. Plus generate whatever sort of doc file
2052         you would like. I didn't change the Makefile stuff as I'm not sure
2053         what default doc type people want. Oh and this is all DocBook format.
2054         Enjoy!
2056 Tue Nov 10 17:12:45 PST 1998 Manish Singh <yosh@gimp.org>
2058         * configure.in: use __extension__ for long long on gcc >= 2.8 and
2059         egcs, and provide a G_GINT64_CONSTANT wrapper so -ansi -pedantic
2060         compiles clean.
2062         * glib.h: make the endian x86 asm __const__ so the compiler can do
2063         better optimizations. Also remove the cc clobber, these shouldn't
2064         be changing condition codes. Ditch some redundant casts. Add an
2065         optimization for 64-bit endian conversions in x86. Use constant
2066         wrapper for the generic method.
2068         * testglib.c: use constant wrappers for 64-bit constants
2070 1998-11-04  Phil Schwan  <pschwan@cmu.edu>
2072         * configure.in: Added 'strncasecmp' to the list of functions to be
2073         searched for.
2074         * glib.h: Added a prototype for 'g_strncasecmp'
2075         * gstrfuncs.c: (g_strncasecmp) new function modeled closely after
2076         'g_strcasecmp'
2078 Wed Nov  4 15:06:44 PST 1998 Manish Singh <yosh@gimp.org>
2080         * config.h.win32 (new file)
2081         * glibconfig.h.win32
2082         * glib.def
2083         * makefile.msc: applied glib-tml-981104, win32 sync
2085 1998-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2087         * glib.h:
2088         * garray.c:
2089         (g_array_remove_index): new function for removing an entry from an
2090         array while preserving the order
2091         (g_array_remove_index_fast): new function for removing an entry
2092         from an array. the order might be distorted
2093         (g_ptr_array_remove_index_fast, g_ptr_array_remove_fast): new
2094         functions; working similiar to the above. (they have the semantic
2095         of the old g_ptr_array_remove[_index] functions)
2096         (g_ptr_array_remove_index, g_ptr_array_remove): new semantic. now
2097         the order of the elements in the array is not changed
2098         (g_byte_array_remove_index, g_byte_array_remove_index_fast): new
2099         functions; byte_array wrapper for g_array_remove_index[_fast]
2101 Sun Nov  1 23:00:18 PST 1998 Manish Singh <yosh@gimp.org>
2103         * glib.h
2104         * configure.in: endian macros defined using the glibconfig.h
2105         mechanism now
2107         * ghook.c: casts for GHookFunc and GHookCheckFunc to avoid warnings
2109 Sat Oct 31 20:14:22 PST 1998 Manish Singh <yosh@gimp.org>
2111         * applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog
2112         entry appended below)
2114         * testglib.c
2115         * gstrfuncs.c
2116         * glib.h: use G_HAVE_GINT64, since HAVE_GINT64 is gone
2118         * gmessages.c
2119         * gscanner.c: #include <config.h> in here too, for HAVE_UNISTD_H
2121 1998-11-01 Tor Lillqvist <tml@iki.fi>
2123         * glib.def: Added the new functions.
2125         * gutils.c:
2126         (g_getenv): Better implementation on Win32. No loop necessary.
2127         (g_get_any_init): Use P_tmpdir if defined as tmp directory. Don't
2128         set home dir always to NULL on Win32.  Don't use tmp directory as
2129         last resort home directory, but return NULL if no home
2130         directory is known (application must check).
2132         * makefile.msc: Better touch command, just COPYing a single file
2133         sets the timestamp from that file, which isn't what touching should
2134         do.
2136 1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
2138         Land glib-rrh-19981025-0.patch.
2139         * Makefile.am (glibconfig.h): New rule.
2140         (stamp-gc-h): New rule.  Generate `glibconfig.h'.
2141         * configure.in (AM_CONFIG_HEADER): It is now `config.h'.
2142         (HAVE_BROKEN_WCTYPE): On Solaris, look for iswalnum in -lw before
2143         concluding "broken wctype".
2144         (glibconfig.h): Use AC_OUTPUT_COMMANDS to put generation code into
2145         config.status.
2146         * glib.h: Remove a lot of tests and defines.  All these have been
2147         moved to `configure.in (glibconfig.h)'.
2148         * gerror.c: Include <config.h>.
2149         * gmem.c: Likewise.
2150         * gstrfuncs.c: Likewise.
2151         * gutils.c: Likewise.
2153 Sat Oct 31 05:08:26 1998  Tim Janik  <timj@gtk.org>
2155         * glib.h: removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros.
2156         added macros G_STRUCT_OFFSET(), G_STRUCT_MEMBER_P() and
2157         G_STRUCT_MEMBER() for handling structure fields through their offsets.
2158         (struct _GHookList): added a hook_free function member, that can be used
2159         to free additional fields in derived hook structures.
2160         g_hook_free(): if hook_list->hook_free != NULL, call this function prior
2161         to freeing the hook. (this functionality should have been there in the
2162         first place, it just got forgotten as an implementation detail).
2164 Wed Oct 28 00:49:32 PST 1998 Manish Singh <yosh@gimp.org>
2166         * glib.h: G_BREAKPOINT for alpha from Robert Wilhelm
2167         <robert@physiol.med.tu-muenchen.de>
2169 Tue Oct 27 07:25:53 1998  Tim Janik  <timj@gtk.org>
2171         * glib.h:
2172         * gscanner.c:
2173         (g_scanner_sync_file_offset): new function for file input.
2174         rewind the filedescriptor to the current buffer position and blow
2175         the file read ahead buffer. usefull for third party uses of our
2176         filedescriptor, which hooks onto the current scanning position.
2177         (this became neccessary with the implementation of buffered
2178         reads).
2179         (g_scanner_input_file):
2180         (g_scanner_input_text): automatically blow the read ahead buffer.
2181         (g_scanner_get_char): blow the read ahead buffer when the end of
2182         input is reached, i.e. a '\000' char is read.
2184 Tue Oct 27 00:27:31 PST 1998 Manish Singh <yosh@gimp.org>
2186         * glib.h: get rid of duplicate #g_htonl and friends in the
2187         NATIVE_WIN32 part
2189 Mon Oct 26 22:42:01 PST 1998 Manish Singh <yosh@gimp.org>
2191         * glibconfig.h.win32
2192         * gutils.c
2193         * makefile.msc: win32 patch from Tor Lillqvist (glib-tml-981027-0),
2194         fixes some minor win32 buglets
2196 Mon Oct 26 22:12:03 PST 1998 Manish Singh <yosh@gimp.org>
2198         * glib.h: reimplemented the endian stuff, using inline asm
2199         for x86. #define g_htonl and friends.
2201         * testglib.c: new tests for the endian stuff
2203         * configure.in: care for AIX in gmodule linker flags test (from
2204         Joel Becker <jlbec@raleigh.ibm.com>). Check $host_os for linux
2205         instead of existance of /usr/include/linux
2207         * gutils.c: buh-bye evil warning. Thou hast been #ifdef'd out
2208         of thine existance!
2210 Tue Oct 27 03:00:50 1998  Tim Janik  <timj@gtk.org>
2212         * glib.h: removed dummy structure definitions for struct _GCache,
2213         _GTree, _GTimer, _GMemChunk, _GListAllocator and _GStringChunk.
2215         * gutils.c: implement glib's inline functions _after_ all include
2216         statements have been processed.
2217         removed Tor's MAXPATHLEN check since there already was one supplied
2218         further down in this file.
2219         (LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32,
2220         since lcc maybe used on other platforms as well. why in hell is this
2221         stuff required?
2222         (g_get_any_init): for windows, if the user name is supplied, use it as
2223         realname also.
2224         in general, if there is no homedir specified, use the tmpdir that
2225         we already figured.
2227         * gtimer.c (g_timer_elapsed): changed a g_assert() statement to
2228         g_return_if_fail().
2230         * applied glib-tml-981020-0.patch for WIN32 portability, added some
2231         comments and g_return_if_fail() statements, minor indentation fixes.
2232         ChangeLog entry from Tor Lillqvist is appended.
2234         * glib.h (struct dirent): use lower case structure members.
2236         * glib.h:
2237         * makefile.lcc:
2238         * makefile.msc:
2239         s/COMPILING_GLIB/GLIB_COMPILATION/
2241 1998-10-20: Tor Lillqvist <tml@iki.fi>
2243         * README.win32 glib.def gmodule.def
2244         * glibconfig.h.win32 gmodule/gmoduleconf.h.win32:
2245         New files for the Windows port. The .def files list exported
2246         symbols for the Microsoft linker and compatibles.
2248         * configure.in:
2249         Added checks for some platform-dependent headers: pwd.h sys/param.h
2250         sys/select.h sys/time.h sys/times.h unistd.h, and the function lstat.
2252         * gerror.c:
2253         Conditionalized inclusion of system-dependent headers. Changes
2254         for Windows: no gdb to do a stack trace. Just call abort().
2256         * glib.h:
2257         Changes for Windows:
2259         Added macros G_DIR_SEPARATOR, G_DIR_SEPARATOR_S for
2260         platform-dependent file name syntax elements. Added macros
2261         G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S for
2262         platform-dependent search path syntax conventions.
2264         Added pragmas for Microsoft C to make it more pedantic.
2266         Marked GLib's global variables for export from DLL.
2268         Added the function g_strescape that escapes backslashes.
2270         Added functions g_path_is_absolute and g_path_skip_root to
2271         handle platform-dependent file name syntax.
2273         Added the function g_getenv that expands environment variables
2274         that contain references to other environment variables, as is
2275         typical on Windows NT.
2277         Added the GIOChannel structure which is used to encapsulate the
2278         IPC mechanism used by the GIMP's plug-ins, and possibly other
2279         things later. On Unix a GIOChannel encapsulates just a file
2280         descriptor. On Windows it contains a file handle from _pipe() and a
2281         few other things related to the implementation of gdk_input_add
2282         and GIMP plug-in communication. Subject to change.
2284         Removed duplicate declarations of the version variables.
2286         For the Microsoft compiler, declare own implementation of
2287         ftruncate and the <dirent.h> functions.
2289         * gmem.c:
2290         Define a symbolic name  for the profiling table size.
2292         * gmessages.c:
2293         Conditionalized inclusion of unistd.h. On Windows, output using
2294         stdio to stdout.
2296         * gscanner.c:
2297         Conditionalized inclusion of unistd.h. Added changes for
2298         Microsoft C. Added CR to the skipped character set. Added small
2299         workaround for MSC compiler bug in g_scanner_cur_value.
2301         * gstrfuncs.c:
2302         Added the function g_strescape, which escapes the backslash
2303         character. Needed especially when printing Windows filenames.
2305         * gtimer.c:
2306         Conditionalized inclusion of unistd.h and sys/time.h. Added
2307         implementations for Windows.
2309         * gutils.c:
2310         Conditionalized inclusion of platform-dependent headers. Use
2311         the platform-independent file name syntax macros.
2312         Conditionalize code on platform-dependent features. Added the
2313         functions g_path_is_absolute g_path_skip_root and g_getenv.
2314         Added the GIOChannel-related functions. Added
2315         compiler-dependent Unix compatibility functions for Windows.
2317         * makefile.lcc makefile.msc:
2318         New files. Compiler-specific makefiles for LCC-Win32 and
2319         Microsoft C. Only Microsoft C is actually supported currently.
2321         * testglib.c:
2322         Added pathname check cases for Windows. Added workaround for
2323         bug in the Microsoft runtime library. Improved some tests a bit.
2325 Sun Oct 25 01:24:01 CST 1998 Shawn T. Amundson <amundson@gtk.org>
2327         * Released GLib 1.1.4
2329         * docs/Makefile.am:
2330         * docs/.cvsignore
2331         * docs/glib-config.1:
2332         * docs/glib.texi: Moved docs from gtk and created glib-config.1
2333         from gtk-config.1 in gtk
2335         * configure.in:
2336         * Makefile.am:
2337         * sanity_check: added in docs directory, change rule 'release'
2338         to 'snapshot' and created a new 'release' rule for doing the
2339         distribution.  Added in a 'sanity' rule.
2341         * NEWS:
2342         * README:
2343         * INSTALL: Updated for the release
2345 Sun Oct 25 07:30:10 1998  Tim Janik  <timj@gtk.org>
2347         * gscanner.c:
2348         (g_scanner_peek_next_char):
2349         (g_scanner_get_char): no more characters are available if read() returns
2350         anything less than 1, not only on 0 return.
2352         * glib.h:
2353         * gstrfuncs.c: final API cleanup of string arrays to suit sopwith's
2354         argument order requirements.
2355         (g_strsplit): renamed from g_str_array_split().
2356         (g_strjoinv): renamed from g_str_array_joinv(), string array is
2357         now passed as last parameter. removed `const' qualifier from string
2358         array pointer (again).
2359         (g_strjoin): new function from sopwith to concatenate strings with
2360         an additional seperator.
2361         (g_strfreev): renamed from g_str_array_free.
2363 Sat Oct 24 22:23:04 PDT 1998 Manish Singh <yosh@gimp.org>
2365         * gnode.c: small fix to g_node_children_foreach to make it work right.
2366         From Paco Moya <paco@cadnotebk17.eecs.berkeley.edu>
2368 Wed Oct 21 19:22:58 1998  Tim Janik  <timj@gtk.org>
2370         * configure.in (G_MODULE_HAVE_DLERROR): reverted part of the changes
2371         from Sebastian Wilhelmi (1998-10-20). don't specify a specific loading
2372         behaviour (i.e. RTLD_NOW) when we are not sure whether it is supplied.
2373         changed the return value from (!f2 && f1) to (!f2 || f1) so we default
2374         to not needing an underscore. reverted the extra plugin.c building,
2375         because .lo files are not ELF libraries, this can't work. This needs
2376         further investigation on Solaris...
2378 Wed Oct 21 17:03:05 1998  Tim Janik  <timj@gtk.org>
2380         * glib.h:
2381         * gstrfuncs.c: API cleanups of the new g_str* functions for consistency
2382         with the existing naming scheme for g_str* functions. grouped the g_str*
2383         functions that will return a newly allocated string seperatedly. all of
2384         the in_place arguments were skipped, the caller is supposed to pass a
2385         g_strdup()ed string if he wants to retrive a new copy. indentation and
2386         coding style fixups. added some g_return_if_fail() statements.
2387         string array functions are prefixed with g_str_array_.
2388         (g_strdelimit): return the modified string like all other g_str*
2389         functions, that operate in place.
2390         (g_strchug): renamed from g_str_chug(), removed in_place argument.
2391         (g_strchomp): renamed from g_str_chomp(), removed in_place argument.
2392         (g_strstrip): renamed from g_str_strip(), removed in_place argument.
2393         (g_str_array_join): renamed from g_strconcatv(), since it actually
2394         operates on a string array and has totaly different semantics from
2395         g_strconcat(). check for separator != NULL, don't segfault if the first
2396         string is NULL. removed the `const' from the string array that's passed,
2397         so users can operate on gchar** string arrays.
2398         (g_str_array_split): renamed from g_str_split() because we actually
2399         produce a string array. reimplemented this function for efficiency.
2400         removed macro aliases g_str_joinv and g_str_join.
2402 1998-10-20  Elliot Lee  <sopwith@redhat.com>
2404         * glib.h, gstrfuncs.c: Move string join/split/free routines from
2405         libgnome/gnome-string, rename, and add g_str_chug.
2407 1998-10-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2409         * configure.in: made the check for needed _ in module's func-names
2410         work on solaris. (G_MODULE_NEED_USCORE must be set outside
2411         AC_CACHE_VAL, dlopen(0,0) refused to work on solaris).
2413 Tue Oct 20 03:32:58 PDT 1998 Manish Singh <yosh@gimp.org>
2415         * configure.in
2416         * acconfig.h: added test for endianness
2418         * glib.h: #define endian macros for system and some conversions
2419         between byte order
2421 Thu Oct  8 06:47:27 1998  Tim Janik  <timj@gtk.org>
2423         * glib.h:
2424         * gdataset.c: removed functions g_dataset_id_set_destroy and
2425         g_datalist_id_set_destroy and macros g_dataset_set_destroy and
2426         g_datalist_set_destroy.
2427         added new functions g_dataset_id_remove_no_notify and
2428         g_datalist_id_remove_no_notify plus associated macros
2429         g_dataset_remove_no_notify and g_datalist_remove_no_notify, which
2430         will remove a certain data portion without invokation of its destroy
2431         notifier, this should only be used in very controled circumstances.
2433 Wed Oct  7 05:31:24 1998  Tim Janik  <timj@gtk.org>
2435         * glib.h:
2436         removed the #pragma } statement after extern "C" {. use
2437         (c-set-offset 'inextern-lang 0) to fixup emacs cc-mode indentation.
2439         * glib.h:
2440         * ghook.c: API and code cleanups. changed the G_HOOK_ACTIVE and
2441         G_HOOK_IN_CALL enum vals to G_HOOK_FLAG_ACTIVE and G_HOOK_FLAG_IN_CALL.
2442         changed the G_HOOK_IS_ACTIVE() and G_HOOK_IS_IN_CALL() macros to
2443         G_HOOK_ACTIVE() and G_HOOK_IN_CALL().
2444         fixed the g_hook_find* functions, so they iterate over non-active
2445         hooks as well.
2446         (g_hook_first_valid):
2447         (g_hook_next_valid): added an extra argument gboolean may_be_in_call,
2448         which indicates whether G_HOOK_IN_CALL() hooks are considered valid
2449         or not. these two functions are meant as iterators for the hook list
2450         invocation, so they need to a) provide functionality to implement
2451         may_recurse bahaviour and b) only walk active hooks.
2453 Tue Oct  6 14:29:47 1998  Tim Janik  <timj@gtk.org>
2455         * gmem.c (g_malloc0): fixed memory offsett when ENABLE_MEM_CHECK is
2456         defined and ENABLE_MEM_PROFILE is not (patch from Martin Pool
2457         <mbp@wistful.humbug.org.au>).
2459 Sat Oct  3 01:18:10 1998  Tim Janik  <timj@gtk.org>
2461         * glib.h:
2462         * ghook.c:
2463         (g_hook_list_invoke):
2464         (g_hook_list_invoke):
2465         (g_hook_list_marshal): properly handle the first valid hook to call,
2466         it maybe IN_CALL already.
2467         (g_hook_list_marshal): minor name change.
2469 Fri Oct  2 23:21:21 1998  Tim Janik  <timj@gtk.org>
2471         * glib.h:
2472         * ghook.c: renamed GHook.id to GHook.hook_id so we don't get troubles
2473         with ObjC which reserves "id" as a keyword (Raja R Harinath
2474         <harinath@cs.umn.edu>).
2476 Wed Sep 30 10:53:03 1998  Tim Janik  <timj@gtk.org>
2478         * Makefile.am: added ghook.c.
2480         * glib.h:
2481         * ghook.c: generic callback maintenance functions.
2483         * glib.h: define G_GNUC_UNUSED.
2485 Fri Sep 25 00:04:37 1998  Tim Janik  <timj@gtk.org>
2487         * configure.in: version bump to 1.1.4, binary age 0, interface age 0.
2489         * glib.h (struct _GScanner): dumped peeked_char and text_len in favour
2490         of *text_end and *buffer for buffered read()s.
2492         * gscanner.c: changed peeking and retrival of next character so we
2493         have buffered reads. fixed minor bug with number parsing error
2494         reporting. made some static!!! variables local ones (why did we use
2495         static temporary variables in the lowlevel tokenization code anyways?).
2497 Mon Sep 21 23:23:10 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2499         * Released GLib 1.1.3
2501 Mon Sep 21 07:43:13 1998  Tim Janik  <timj@gtk.org>
2503         * glib.h: added g_renew() which works as g_new() for g_realloc().
2505 Mon Sep 21 02:22:12 1998  Tim Janik  <timj@gtk.org>
2507         * NEWS file update for upcoming release of GLib + GModule
2508         version 1.1.3, binary age 0, interface age 0. (GModule uses
2509         the same version numbers as GLib.)
2511         * glib.h: swap the inclusion of of float.h and limits.h to work
2512         around a egcs 1.1 oddity on Solaris 2.5.1 (fix provided by
2513         Per Abrahamsen  <abraham@dina.kvl.dk>).
2515         * glib.h:
2516         * gscanner.c: renamed the GValue union to GTokenValue, this should
2517         not affect source compatibility in most cases.
2519         * ghash.c: added some g_return_if_fail() statements. make
2520         g_hash_table_lookup_node() an inline function so we save an extra
2521         function invokation on lookups.
2523 Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
2525         * ltmain.sh: Patch to libtool-1.2b to make --disable-static
2526         work.
2528 Sun Sep 20 02:09:44 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
2530         * glib.h: New function g_hash_table_foreach_remove is similar to
2531         g_hash_table_foreach, but the callback's return value indicates
2532         whether to remove the element (if TRUE) or not (if FALSE).
2533         Returns the number of elements deleted.
2535 Fri Sep 18 11:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
2537         * glib.h
2538         * gstrfuncs.c: added g_memdup implementation
2540 Fri Sep 18 18:46:14 1998  Tim Janik  <timj@gtk.org>
2542         * glib.h:
2543         * gdataset.c: make the datalists a safe type (not using a generic
2544         gpointer) by expecting a GData* argument in the g_datalist functions.
2545         provide g_dataset_foreach() and g_datalist_foreach() functions that
2546         allow a GDataForeachFunc function to walk the data lists.
2547         (g_dataset_destroy_internal): made this function truely reentrant (i.e.
2548         can be called from within destroy notifiers as well).
2549         the *_foreach functions are _not_ reentrant (unless all the other
2550         dataset and datalist functions).
2552 Fri Sep 18 03:41:20 1998  Tim Janik  <timj@gtk.org>
2554         * gtree.c (g_tree_new): check for key_compare_func != NULL (reported
2555         by Michal Kara).
2557 Thu Sep 17 18:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
2559         * config.h.in: removed from repository
2561         * install-sh
2562         * missing
2563         * mkinstalldirs: updated to latest automake version
2565 Thu Sep 17 06:36:25 1998  Tim Janik  <timj@gtk.org>
2567         * glib.h:
2568         * gdataset.c: implemented g_datalist_* along the lines of g_dataset,
2569         but operates on an opaque gpointer *datalist; pointer, e.g. for the
2570         implementation of GtkObject named data.
2571         we cache a certain portion of the already freed data entries now, to
2572         gain a slight performance improve with data reallocation.
2574 Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
2576         * Makefile.am glib-config.in l*: Update to libtool-1.2b,
2577         change library versioning scheme to drop LT_RELEASE
2578         from the -l line, while keeping it in the soname.
2580 Fri Sep 11 02:11:46 1998  Tim Janik  <timj@gtk.org>
2582         * glib.h: explicitely include the prototypes for inline functions
2583         to cure gcc warnings for -Wmissing-prototypes.
2585 Wed Sep  9 02:52:04 PDT 1998 Manish Singh <yosh@gimp.org>
2587         * configure.in: added -posix check for NeXTStep
2589 Tue Sep  8 05:04:06 1998  Tim Janik  <timj@gtk.org>
2591         * glib.h: abandon the use of ATEXIT(), we keep the fallback
2592         macros for backwards compatibility. people ought to use g_atexit().
2594         * gutils.c (g_atexit): new function to take over the implementation
2595         of ATEXIT. this function is guarranteed to succeed, similar to
2596         g_malloc().
2598 Mon Sep  7 20:07:38 PDT 1998 Manish Singh <yosh@gimp.org>
2600         * configure.in: comment the -std1 check and save LIBS properly
2602 Mon Sep  7 07:53:21 1998  Tim Janik  <timj@gtk.org>
2604         * configure.in: check for all three inline keywords individually.
2606         * glib.h: inlining hassle. for compilers that don't allow the `inline'
2607         keyword, mostly because of strict ANSI C compliance or dumbness, we try
2608         to fall back to either `__inline__' or `__inline'.
2609         we define G_CAN_INLINE, if the compiler seems to be actually *capable*
2610         to do function inlining, in which case inline function bodys do make
2611         sense. we also define G_INLINE_FUNC to properly export the function
2612         prototypes if no inlinig can be performed. we special case most of the
2613         stuff, so inline functions can have a normal implementation by defining
2614         G_INLINE_FUNC to extern and G_CAN_INLINE to 1.
2616         * ltconfig: (compiler PIC flag test): special case linux for non
2617         aout systems to honour lcc's position independant code (cases
2618         "linux*aout)" and "linux*)" got added). (this needs to go into
2619         libtool which does an advanced test, checking for __LCC__).
2621         * autogen.sh: take $CC=lcc into account by invoking automake with
2622         --include-deps so lcc isn't scared by gcc's auto-dependancy
2623         generation code. care about $ACLOCAL_FLAGS. optionally feature
2624         autoheader.
2626         * minor fixups in other places to cure some of lcc's warnings.
2628 Sun Sep  6 19:08:53 PDT 1998 Manish Singh <yosh@gimp.org>
2630         * configure.in: added -std1 check for ANSI compliance (from gtk)
2632 Sun Sep  6 12:31:50 PDT 1998 Manish Singh <yosh@gimp.org>
2634         * glib.h: provide proper ATEXIT behavior on NeXTStep by !atexit
2636 Sat Sep  5 18:03:36 1998  Tom Tromey  <tromey@cygnus.com>
2638         * gutils.c (GLIB_INLINE): Define.
2639         * glib.h (GLIB_INLINE): New define.
2640         (g_bit_nth_msf): Use it.  Also, add prototype.
2641         (g_bit_storage): Likewise.
2642         (g_bit_storage): Likewise.
2644 Sat Sep  5 04:40:02 1998  Tim Janik  <timj@gtk.org>
2646         * glib.h:
2647         (g_chunk_new0): use g_mem_chunk_alloc0() to allocate the memchunk,
2648         so the correct size of the memchunk is allocated with 0's and not
2649         a memory portion of the size of the desired type.
2651         * gmem.c: new function g_mem_chunk_alloc0() which will initialize
2652         a memory area allocated with g_mem_chunk_alloc() with 0's.
2654 Wed Sep  2 19:13:28 1998  Owen Taylor  <otaylor@redhat.com>
2656         * garray.c glib.h (g_array_[ap/pre]pend_vals): make
2657         data argument const.
2659 Wed Aug 26 06:32:40 1998  Tim Janik  <timj@gtk.org>
2661         * glib.h:
2662         * gstrfuncs.c: new function g_strnfill() to return a new string
2663         of specified length, filled with a specific character.
2665 Tue Sep  1 23:46:31 1998  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>
2667         * testglib.c (main): Update the array tests.  Reduce the number of
2668         iterations for the prepend test from 10000 to 100 since it is
2669         O(n^2) and was taking longer than I would like to wait.
2671         * garray.c: I've worked on the GArray interface, mostly.  It was
2672         seriously broken before and I hate to do it, but this is going to
2673         break some code.  It is important to do this now, because more and
2674         more people are starting to use glib and the interface was both
2675         broken and inconsistent.  First, rename the _truncate functions of
2676         both the GArray and GPtrArray classes to _set_size, since this
2677         function can also be used to extend the arrays.  GArray now
2678         accepts two more initialization arguments: clear and element_size.
2679         Instead of providing the type to each access function, the array
2680         now stores the element size.  Clear, if set, causes the library to
2681         zero element's memory as the array expands.  The major broken-ness
2682         here was that array->len was in bytes, not elements.  Now, since
2683         the array knows its element size, array->len is correct and I have
2684         removed the g_array_length macro.  The only macro which now
2685         accepts the type as an argument is g_array_index, which casts the
2686         element to the right type--this interface does not change.  The
2687         append and prepend functions simply need the types removed.
2688         g_ptr_array_remove_index now returns the removed element.
2690         * gprimes.c (g_spaced_primes_closest): Move this function out of
2691         ghash.c and rename it from g_hash_closest_prime.  Fix the primes
2692         so that they are actually prime (they weren't all -- isn't that
2693         nice?).
2695 Mon Aug 24 02:08:56 1998  Tim Janik  <timj@gtk.org>
2697         * glib.h:
2698         * gstring.c:
2699         * gstrfuncs.c:
2700         (g_vsprintf): removed this function which was not publically
2701         exported in glib.h. to export it, it should have been named
2702         differently in the first place, since its semantics differ from
2703         vsprintf(). apart from that, it was a possible cause for
2704         problems since it worked on a previously allocated memory area and
2705         was used in a lot places of glib. exporting it would have been a
2706         guararant for problems with threaded programs.
2707         (g_printf_string_upper_bound): exported this function to return
2708         a string size, guarranteed to be big enough to hold the fully
2709         expanded format+args string. added 'q', 'L' and 'll' flag handling.
2710         in fact, the newly allocated area is in most cases much bigger than
2711         required.
2712         (g_strdup_vprintf()): new function returning a newly allocated string
2713         containing the contents of *format and associated args (size is
2714         calculated with g_printf_string_upper_bound()).
2715         (g_strdup_printf): new function which wraps g_strdup_vprintf().
2717         * configure.in: check for va_copy() or __va_copy() alternatively.
2718         check whether va_lists can be copyied by value.
2720         * glib.h: provide a definition for G_VA_COPY.
2722         * glib.h:
2723         * gmessages.c:
2724         (g_logv):
2725         (g_vsnprintf):
2726         pass va_lists by value, not by reference, since this causes problems
2727         on platforms that implement va_list as as arrays. internaly, use
2728         G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second
2729         va_list variable, if multiple passes are required. changed all
2730         callers.
2732         * glib.h:
2733         * gerror.h:
2734         renamed g_debug() to g_on_error_query(), cleaned up a bit.
2735         renamed g_stack_trace() to g_on_error_stack_trace() since both
2736         functions cluttered different namespaces.
2737         there is an appropriate comment in glib.h now that explains the
2738         unix and gdb specific dependencies of both functions.
2739         removed g_attach_process().
2740         g_on_error_stack_trace() should probably be handled with caution,
2741         i've seem several different linux versions (2.0.x) become unstable
2742         after invokation of this function.
2744 1998-08-18: Elliot Lee <sopwith@redhat.com>
2746         * In gmem.c, add the ability to exclude memory chunks from the
2747           memory profiling information.
2749 Tue Aug 18 18:23:09 PDT 1998 Manish Singh <yosh@gimp.org>
2751         * glib.h
2752         * gstrfuncs.c: added g_strndup
2754 Tue Aug 18 04:40:17 1998  Tim Janik  <timj@gtk.org>
2756         * glib.h:
2757         * gmessages.c: new function g_log_set_always_fatal() to set an
2758         additional fatal_mask for log levels that are considered to be fatal
2759         globally (required by gtk). since this mask is not domain-associated,
2760         it is restricted to the log levels, introduced by glib itself.
2762         * gmem.c:
2763         * grel.c:
2764         * gtree.c (g_tree_node_check):
2765         don't use g_print() calls for informational/debugging output,
2766         but log all this stuff through g_log() with G_LOG_LEVEL_INFO.
2767         libraries shouldn't use printf(), g_print() or g_printerr() at all.
2769 Tue Aug 18 02:46:44 1998  Tim Janik  <timj@gtk.org>
2772         * glib.h (__STRICT_ANSI__): if __STRICT_ANSI__ is defined, make
2773         `inline' a noop, since strict ANSI rules don't permit `inline'.
2775 Mon Aug 17 15:21:42 1998  Tim Janik  <timj@gtk.org>
2777         * grel.c: made private functions static.
2779 Sun Aug 16 23:23:46 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2781         * gmodule/Makefile.am: added gmodule-dl.c and gmodule-dld.c to
2782           EXTRA_DIST
2783         * glib.spec: version = 1.1.3
2785 Mon Aug 17 01:46:14 1998  Tim Janik  <timj@gtk.org>
2787         * glib.m4: feature an extra MODULES parameter, so glib-config can
2788         be invoked with the "gmodule" argument.
2790         * glib.h: changed the log level to G_LOG_LEVEL_CRITICAL for all
2791         g_return*_if_fail statements, and made them issue a message
2792         like "assertion `%s' failed".
2794         * gmessages.c (g_logv): ugh, don't pass log_domain as NULL to
2795         g_log_find_domain.
2797 Sun Aug 16 20:28:27 1998  Tim Janik  <timj@gtk.org>
2799         * version bump to 1.1.3, binary age 0, interface age 0.
2801         * glib.h: be nice to platforms that don't have gint64 and don't
2802         issue #warning on every compilation. since glib doesn't require
2803         gint64 itself, packages that need gint64 should test for this
2804         themselves.
2806         * glib.h:
2807         * gutils.c: added a new function g_vsnprintf().
2809 Sun Aug 16 Elliot Lee
2811         glib.h: #error out if we don't recognize the SIZEOF_VOID_P
2812                 #warning if no gint64
2814 Fri Aug 14 16:41:53 1998  Tim Janik  <timj@gtk.org>
2816         * glib.h: added static inline functions for bit mask tests:
2817         g_bit_nth_lsf, g_bit_nth_msf and g_bit_storage.
2819 Fri Aug 13 14:23:37 1998  Tim Janik  <timj@gtk.org>
2821         * glib.h:
2822         * gmessages.c:
2823         revised the message handling system, which is now based on a new
2824         mechanism g_log*. most of the assertment macros got adapted to
2825         feature the new g_log() call with an additional specification of
2826         the log level in a preprocessor macro G_LOG_DOMAIN. if G_LOG_DOMAIN
2827         is undefined upon the includion of glib.h, it'll be defined with a
2828         value of (NULL) and thus preserves the original bahaviour for
2829         warning and error messages. the message handler setting functions
2830         for g_warning, g_error and g_message are only provided for backwards
2831         compatibility and might get removed somewhen.
2833         * Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
2834         to "GLib" upon compilation. we currently have to add this definition
2835         to the DEFS variable.
2836         * testglib.c: we need an ugly #undef G_LOG_DOMAIN at the start
2837         of this file currently, since automake doesn't support per target
2838         _CFLAGS yet.
2840         * glib.h: changed some gints to gbooleans, made a few const corrections,
2841         removed some superfluous G_STMT_START{}G_STMT_END wrappers, added some
2842         in other required places.
2844         * gnode.c:
2845         (g_node_prepend):
2846         (g_node_insert_before):
2847         (g_node_insert):
2848         (g_node_append_data):
2849         (g_node_prepend_data):
2850         (g_node_insert_data_before):
2851         (g_node_insert_data):
2852         (g_node_append):
2853         return (node), so these macros/functions can be usefully chained with
2854         g_node_new().
2856 Mon Aug 10 17:56:11 PDT 1998 Manish Singh <yosh@gimp.org>
2858         * glib.h: it's GTime now, and it's back!
2860 Mon Aug 10 02:17:19 1998  Tim Janik  <timj@gtk.org>
2862         * Makefile.am: minor hack to cause SUBDIRS (gmodule) to be build
2863         last. we do this by making all-recursive-am depend on all-am.
2865 Sun Aug  9 15:56:11 1998  Tim Janik  <timj@gtk.org>
2867         * configure.in: added GModule checks. generate files in gmodule/.
2868         * glib-config.in: support library specifications `glib' and `gmodule'.
2869         * Makefile.am: feature the gmodule/ subdir.
2871 Wed Aug  5 10:04:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
2873         * Released GLib 1.1.2
2875 Wed Aug 05 01:15:36 1998  George Lebl  <jirka@5z.com>
2877         * testglib.c: fix 64-bitness in g_prints, sizeof doesn't
2878           seem to return int so I cast it for printing, probably
2879           just cosmetic
2881 Tue Aug  4 19:54:06 PDT 1998 Shawn T. Amundson <amundson@gkt.org>
2883         * Released GLib 1.1.1
2885 Tue Aug  4 15:17:54 1998  Tim Janik  <timj@gtk.org>
2887         * configure.in: version bump to 1.1.1, binary age 1, interface age 0.
2888         * NEWS: updates.
2889         * README: updates.
2890         * INSTALL: updates and fixes.
2891         * COPYING: include the GNU LGPL, rather than shipping an empty file.
2892         * AUTHORS: listed original authors here, and added people who made
2893         significant improvements to glib.
2895         * glib.h:
2896         * gutils.c: implement g_get_current_dir() which returns a newly
2897         allocated string, instead of a g_getcwd() variant that operates
2898         on a static buffer.
2899         export glib_interface_age and glib_binary_age.
2900         as a convenience, macro definitions have been added for
2901         g_node_insert_data, g_node_insert_data_before, g_node_append_data and
2902         g_node_prepend_data.
2904         * testglib.c: minor cleanups, print current dir.
2906 Mon Aug  3 16:02:26 1998  Tim Janik  <timj@gtk.org>
2908         * glib.h:
2909         * gnode.c: change order of gpointer data; field in struct _GNode to
2910         be partly binary compatible with GList and GSList.
2912 1998-08-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2914         * garray.c (g_ptr_array_remove_index): bugfix: index check for
2915         array has been wrong.
2917 Fri Jul 31 22:17:05 1998  Tim Janik  <timj@gtk.org>
2919         * testglib.c (g_node_test): added a GNode test.
2921 Fri Jul 31 09:08:16 1998  Tim Janik  <timj@gtk.org>
2923         * Makefile.am: compile gnode.c.
2925         * glib.h:
2926         * gnode.c: added implementation of n-way trees.
2928         * gtree.c (g_tree_traverse): added a warning to the switch() statement
2929         which says that G_LEVEL_ORDER is not implemented.
2931 Mon Jul 27 00:17:30 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2933         * Released GLib 1.1.0
2935 Mon Jul 27 01:02:27 1998  Tim Janik  <timj@gtk.org>
2937         * glib.h: #if 0'ed out the GTime definition, until it is definitively
2938         needed. #if 0'ed out the g_getcwd() version, because it is the wrong
2939         implementation.
2941 Sat Jul 25 16:09:00 1998  Mark Crichton <crichton@expert.cc.purdue.edu>
2943         * glib.h: gtime changed to g_time.  gtime is used in
2944         /usr/include/time.h in NetBSD, causing multiple headaches.
2945         If this isn't the right way of fixing it.... ;)
2947 Thu Jul 23 00:29:14 1998  Tim Janik  <timj@gtk.org>
2949         * glib.h:
2950         * gscanner.c: new functions to make a scanner scope sensitive wrt
2951         symbol lookups.
2952         g_scanner_scope_foreach_symbol, g_scanner_scope_lookup_symbol,
2953         g_scanner_scope_remove_symbol, g_scanner_scope_add_symbol and
2954         g_scanner_set_scope.
2955         g_scanner_add_symbol, g_scanner_remove_symbol and
2956         g_scanner_foreach_symbol are now aliases for scope 0.
2958 Mon Jul 20 23:05:34 1998  George Lebl  <jirka@5z.com>
2960         * glib.h: typo fixed for alphas for gint64
2962 Tue Jul 14 09:05:18 1998  Tim Janik  <timj@gtk.org>
2964         * glib.h:
2965         * gutils.c: new fuction g_dirname() which returns a newlly
2966         allocated string.
2968 Fri Jul 10 06:33:43 1998  Tim Janik  <timj@gtk.org>
2970         * glib.h:
2971         * gutils.h: added a bunch of utility/wrapper functions:
2972         g_basename(), g_getcwd(), g_get_user_name(), g_get_real_name(),
2973         g_get_home_dir(), g_get_tmp_dir(), g_get_prgname() and g_set_prgname().
2975         * gutils.c: removed all g_str* functions.
2976         * gstrfuncs.c: moved the bunch g_str* functions from gutils.c in this
2977         place. this file shall never include <unistd.h> to avoid clashes for
2978         some of the g_str* functions on some OSes.
2980 Fri Jul 10 00:29:03 EEST 1998 Lauri Alanko <nether@gimp.org>
2982         * glib.h:
2983         * ghash.c: Renamed g_hash_table_lookup_full to
2984         g_hash_table_lookup_extended to conform with naming conventions.
2986 Tue Jul  7 03:18:58 EEST 1998 Lauri Alanko <nether@gimp.org>
2988         * glib.h:
2989         * ghash.c: Generic cleanup, added a function:
2990         (g_hash_table_lookup_full): Return whether the lookup succeeded,
2991         and also retrieve the key and value. This allows one to
2992         distinguish between failed lookup and finding a NULL, and also
2993         allows one to free a key in the hash.
2995 Mon Jul  6 10:12:05 PDT 1998 Manish Singh <yosh@gimp.org>
2997         * ltconfig: fix for properly detecting shared lib support on
2998         SunPro cc (taken from libtool 1.2.a)
3000 Sat Jul  4 13:38:52 PDT 1998 Manish Singh <yosh@gimp.org>
3002         * glib.h: added g_array_length
3004 Tue Jun 30 11:58:25 1998  Tim Janik  <timj@gtk.org>
3006         * gscanner.c (g_scanner_unexp_token): take symbol_2_token into
3007         account. react on valid/invalid string pairs.
3009 Sat Jun 27 21:55:46 PDT 1998 Manish Singh <yosh@gimp.org>
3011         * glib.m4: ftp.glib.org -> ftp.gtk.org, since glib.org isn't
3012         ours. ;)
3014 Fri Jun 19 03:11:02 1998  Tim Janik  <timj@gtk.org>
3016         * gdataset.c: removed g_dataset_try_key, g_dataset_force_id and
3017         g_dataset_retrive_key in favour of GQuarks.
3018         a GQuark is an numeric id wich is associated with a certain string.
3019         (g_quark_try_string): try to get the quark associated with this string,
3020         if the lookup failed return 0.
3021         (g_quark_from_string): get the associated quark for a string, if there
3022         isn't currently a GQuark associated with this string, then allocate a
3023         new quark and return that.
3024         (g_quark_from_static_string): like the above function, but the string
3025         isn't strdup()ed to save memory.
3026         (g_quark_to_string): get the string that is associated with a certain
3027         GQuark.
3029         * gdataset.c (g_dataset_id_set_data_full): invoke the destroy function
3030         _after_ the new data has been setup.
3032 Thu Jun 18 02:35:21 1998  Owen Taylor  <otaylor@gtk.org>
3034         * glib.h: Changed messages for g_return_[val]_if_fail to
3035         be somewhat more clear: assertion "blah" failed.
3037 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3039         * testglib.c (main): Use GINT_TO_POINTER casts to remove compiler
3040         warnings.
3042         * grel.c: #include <string.h>
3044 Fri Jun 12 15:39:06 1998  Tim Janik  <timj@gtk.org>
3046         * glib.h (GScanner): cleanups of the structure fields (binary
3047         incompatible).
3049 Fri Jun 12 00:39:28 1998  Josh MacDonald  <jmacd@icw.EECS.Berkeley.EDU>
3051         * glib.h: add new hash and equal functions g_int_*.  complement
3052         g_direct_hash with g_direct_equal.
3054         * grel.c: new file, GRelations implement tuples of N-N mappings.
3055         A comment in glib.h briefly describes the interface.
3057         * ghash.c: new function, g_hash_table_size
3059         * glib.h: new typedefs, gsize, gssize, gtime.
3061         * garray.c: new functions implementing a simplified GArray.  This
3062         GPtrArray is an array of gpointers and has functions to add and
3063         remove elements, much like java.lang.Vector.
3065         * garray.c: new functions for the single-byte special case of
3066         GArray.  The functions g_byte_array* operate on arrays of bytes.
3067         Internally, a GArray is used.
3069         * testglib.c: tests for g_ptr_array, g_byte_array, and g_relation...
3071 1998-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3073         * gdataset.c: #include <string.h>
3075 Thu Jun 11 04:15:31 1998  Tim Janik  <timj@gtk.org>
3077         * glib.h:
3078         * gdataset.c: new function g_dataset_retrive_key. adjusted prealloc
3079         sizes, to take up less space on initial allocation.
3081 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
3083         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
3084         the version from which glib's libtool forked.  Needed for people
3085         who use post-1.2 alphas of libtool.
3086         * configure.in (enable_mem_check, enable_mem_profile): Replace
3087         `echo -n' with AC_MSG_CHECKING.
3088         (fd_set): Explain test for `fd_set' better.
3090 Wed Jun 10 19:29:51 1998  Owen Taylor  <otaylor@gtk.org>
3092         * Makefile.am glib.m4 configure.in:
3094         Moved out from GTK+; added AM_PATH_GLIB macro.
3096 Wed Jun 10 12:56:07 1998  Owen Taylor  <otaylor@gtk.org>
3098         * glib.h: renamed g_const_pointer => gconstpointer
3100 Tue Jun  9 17:47:33 1998  Owen Taylor  <otaylor@gtk.org>
3102         * glib.h: Remove #error - HP/UX.
3104 Sat May 23 19:00:01 1998  Owen Taylor  <otaylor@gtk.org>
3105   [ Combination of:
3106      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
3107      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
3109         * glib.h ghash.c gstring.c gdataset.c gutils.c:
3110         - Added new typedef g_const_pointer; expunged all incorrect
3111           uses of 'const gpointer'.
3112         - Fixed up warnings that that created,
3113         - Changed GHashFunc and GCompareFunc to take g_const_pointer
3114           arguments. (Necessary, but will cause warnings in existing
3115           code until fixed)
3116         - Added other new const in harmless positions.
3118 Mon Jun  8 01:06:47 1998  Tim Janik  <timj@gtk.org>
3120         * glib.h: added enum-helper macros for code generation.
3121         added G_BREAKPOINT().
3123 Sat Jun  6 14:09:22 PDT 1998 Manish Singh <yosh@gimp.org>
3125         * gmem.c: commented out MEM_PROFILE and MEM_CHECK, causing weird
3126         problems
3128 Wed Jun  3 06:19:42 1998  Tim Janik  <timj@gtk.org>
3130         * glib.h (g_chunk_new0): convenience macro, for allocating small chunks
3131         like g_chunk_new() with additional 0 initialization.
3133 Mon Jun  1 04:43:27 1998  Tim Janik  <timj@gtk.org>
3135         * ghash.c (g_hash_table_insert): wrote a comment describing why
3136         a hash node's key should not also get replaced when overriding
3137         previous entries.
3139 Tue May 26 18:30:06 1998  Tim Janik  <timj@gtk.org>
3141         * glib.h (g_string_sized_new): new function to controll the preallocated
3142         size of a GString.
3144         * glib.h (g_strreversed): new function to reverse a string.
3146 Mon May 18 22:14:39 1998  Owen Taylor  <otaylor@gtk.org>
3147 (Yasuhiro SHIRASAKI <joke@awa.tohoku.ac.jp> : gtk-joke-980517-0.patch)
3149         * gutils.c: Restored a missing prototype for g_vsprintf.
3151 Wed May 20 05:02:26 1998  Tim Janik  <timj@gtk.org>
3153         * glib.h: conditionally define NULL, FALSE and TRUE.
3154         (g_mem_chunk_create): new convenience macro as a short hand for
3155         g_mem_chunk_new().
3156         (g_chunk_free): new convenience macro to be consistent with g_chunk_new.
3158 Tue, 19 May 1998 09:00:02 +0200  Paolo Molaro <lupus@debian.org>
3160         * gcompletion.c: generic functions for com<TAB>pletion...
3162 Sun May 17 10:48:27 1998  Tim Janik  <timj@gtk.org>
3164         * gscanner.c (g_scanner_unexp_token): provide usefull default
3165         specifications for identifier_spec and symbol_spec.
3167         * glib.h: new functions g_slist_nth_data and g_list_nth_data to return
3168         the data of the nth element in the list.
3170 Fri May 15 22:31:49 1998  Tim Janik  <timj@gtk.org>
3172         * gscanner.c (g_scanner_unexp_token): removed spurious va_end(args)
3173         that for some reason didn't produce a compiler warning on my machine
3174         (is va_end defined to nothing for i386?).
3176 Fri May 15 12:32:08 1998  rodo  <doulik@karlin.mff.cuni.cz>
3178         * gscanner.c: replaced some snprintf with g_snprintf
3180 Fri May 15 00:56:59 1998  Tim Janik  <timj@gtk.org>
3182         * glib.h: further support for gcc function attributes: G_GNUC_FORMAT,
3183         G_GNUC_NORETURN and G_GNUC_CONST.
3185         * gscanner.c (g_scanner_stat_mode): changed stat() to lstat().
3186         (g_scanner_msg_handler): "\n" at end of line!
3187         (g_scanner_foreach_symbol): new function to iterate over the symbol
3188         table (GScanner does value-wrapping).
3190 Thu May 14 04:14:12 1998  Tim Janik  <timj@gtk.org>
3192         * glib.h: typedef gint gboolean;
3193         this is needed to provide portability with big-endian platforms (e.g.
3194         try sizeof(bool) for c++ on big-endians - it's 4).
3195         this is also needed to maintain some_union.d_gint==some_union.d_gboolean.
3196         plus, gint to gboolean casts and vice versa need to be possible without
3197         loss.
3199 Tue May 12 19:22:58 1998  Owen Taylor  <otaylor@gtk.org>
3201         * glib/glib.h: Added macros G[U]INT_TO_POINTER() and
3202         GPOINTER_TO_[U]INT for storing small integers integers
3203         inside pointers.
3205         * glib/testglib.c: Print sizeof() results
3206         as g_print("%ld", (glong)sizeof(foo)), to deal with
3207         size_t being long on Alpha's.
3209 Tue May 12 16:54:15 1998  Owen Taylor  <otaylor@gtk.org>
3210         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
3212         * glib.h gstring.c gmessages.c: Added some missing
3213         const to arguments.
3215         * gutils.c (g_strsignal.c): Added missing return statements.
3217 Mon May 11 21:11:54 1998  Owen Taylor  <otaylor@gtk.org>
3219         * gutils.c gmessages.c: Moved g_error, g_warning, g_message and
3220         g_print from gutils.c to new file gmessages.c, to avoid having to
3221         include <unistd.h> in gutils.c which was causing problems for the
3222         g_strsignal implementation on FreeBSD boxes.
3224 Mon May 11 09:53:43 1998  Tim Janik  <timj@gtk.org>
3226         * configure.in: preserve automake CFLAGS.
3228         * Makefile.am: fully rename the created library to libglib-1.1.la.
3229         this means we need to change certain portions of the Makefile.am on
3230         major/minor version bumps.
3232         * ltmain.sh: the -release option is not required anymore.
3234         * glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
3235         avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
3236         MIN, ABS and CLAMP, these macros might be screwed from other headers.
3238 Mon May 11 01:44:10 1998  Tim Janik  <timj@gtk.org>
3240         * gdataset.c: new file, gdatasets implement the object data
3241         mechanism from GtkObject. a generic data pointer is associated with
3242         a certain location and a key id.
3244 Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>
3246         * glib/gmem.c: Experimentally restore GMemChunk
3247         to its primeval state - where mem areas are
3248         freed incrementally instead of searching the tree
3249         every time a mem area is completely empty. Also,
3250         always keep one mem chunk around. (Reduced calls
3251         to malloc() a lot, but doesn't really improve
3252         performance significiantly)
3254 Thu May  7 08:17:28 1998  Tim Janik  <timj@gtk.org>
3256         * glib.h (G_GNUC_PRINTF):
3257         (G_GNUC_SCANF): macros to facilitate the printf/scanf format argument
3258         checking of gcc.
3260         * gstring.c: const corrections, string!=NULL checks at function entry.
3261         (g_string_down): new function for tolower(3) conversion.
3262         (g_string_up): new function for toupper(3) conversion.
3264         * gutils.c: const corrections.
3265         (g_strdown): g_string_down() counterpart.
3266         (g_strup): g_string_up() counterpart.
3268         * gscanner.c (g_scanner_unexp_token):
3269         (g_scanner_error):
3270         (g_scanner_warn): new functions to let a scanner put out warnings
3271         or errors, especially to react on unexpected tokens.
3273         * gslist.c:
3274         (g_slist_index): find out about about the position of a
3275         certain data pointer.
3276         (g_slist_position): find out about about the position of a
3277         certain node.
3279         * glist.c:
3280         (g_list_index): find out about about the position of a
3281         certain data pointer.
3283 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
3285         * ltmain.sh: added a new commandline flag -postfix similar to -release,
3286         but will immediately change the library name.
3288         * Makefile.am: specify -postfix and -version-info
3290         * configure.in: version bump to 1.1.0. added GLIB_INTERFACE_AGE and
3291         GLIB_BINARY_AGE. calculate LT_* variables for libtool.
3293 Fri May  1 16:36:08 1998  Owen Taylor  <otaylor@gtk.org>
3295         * gutils.c: (g_strcasecmp). Check for isupper before
3296         taking tolower, and account for macroized tolower.
3298         * gutils.c (g_error): Check for recursion.
3300 1998-04-27  Elliot Lee  <sopwith@cuc.ml.org>
3302         * glist.c (g_list_position): New function to find the position of
3303         a link in a list - should be the inverse of g_list_nth(), but
3304         haven't tested it so poof.
3306 Thu Apr 30 21:41:30 1998  Owen Taylor  <otaylor@gtk.org>
3308         * gstring.c : Check arguments more carefully,
3309         (gtk-draco-980423-1.patch; ramsey@rhrk.uni-kl.de)
3311 Tue Apr  7 19:36:48 1998  Owen Taylor  <owt1@cornell.edu>
3313         * gutils.c (g_direct_compare): Removed, because that's what
3314         a NULL comparison function means. And it wasn't 64 bit safe.
3316 Mon Apr  6 18:43:25 1998  Tim Janik  <timj@gtk.org>
3318         * gscanner.c (g_scanner_get_token_ll): fixed a bug that caused floats
3319         of the format ".xxx" to be parsed as "xxx".
3321 Fri Apr  3 20:36:35 1998  Owen Taylor  <owt1@cornell.edu>
3323         * gutils.c (g_parse_debug_string): Make debug string
3324         parsine case-insensitive
3326 Fri Apr  3 17:03:18 PST 1998 Manish Singh <yosh@gimp.org>
3328         * gstring.c: corrected possible overrun when inserting into
3329         GStrings (thanks Elrond)
3331 Fri Apr  3 18:05:45 1998  Owen Taylor  <owt1@cornell.edu>
3333         * testglib.c: Removed literal german from strings
3334         to appease SGI compiler.
3336 Thu Mar 26 20:47:21 1998  Owen Taylor  <owt1@cornell.edu>
3338         * configure.in glib glibconfig.h.in: Add test for atexit/on_exit -
3339         use on_exit if atexit not found in definition of ATEXIT.
3341 Wed Mar 25 15:23:37 1998  Owen Taylor  <owt1@cornell.edu>
3343         * Makefile.am: Switched glibconfig.h rule from HEADERS
3344         to DATA, so that it is not added to DISTFILES
3346 Wed Mar 18 22:27:08 PST 1998 Manish Singh <yosh@gimp.org>
3348         * garray.c: g_rarray_truncate length done correctly
3350 Sun Mar 15 07:13:34 1998  Tim Janik  <timj@gimp.org>
3352         * gutils.c: changed *_handler variables to be named glib_*_handler,
3353         so you can easily access them from gdb.
3355 Sat Mar 14 17:47:43 1998  Owen Taylor  <owt1@cornell.edu>
3357         * Makefile.am: Don't refer to current directory as $(top_builddir)
3358         to avoid confusing non-gmakes
3360 Sat Mar 14 01:37:35 1998  Owen Taylor  <owt1@cornell.edu>
3362         * Makefile.am (configincludedir): Moved glibconfig.h to
3363           $(pkglibdir)/include
3365 Tue Mar 10 02:03:12 1998  Tim Janik  <timj@gimp.org>
3367         * gscanner.c (g_scanner_destroy_symbol_table_entry): new function to
3368         free symbol table entries upon destruction
3369         (gtk-gronlund-980309-0.patch.gz).
3371 Mon Mar  9 15:02:21 1998  Tim Janik  <timj@gimp.org>
3373         * glib.h: changed *_length functions to return guint.
3374         changed *_nth functions to take guint as argument.
3376         * glist.c: adapted g_list_length and g_list_length.
3378         * gslist.c: adapted g_slist_length and g_slist_length.
3380 Mon Mar  2 17:51:18 1998  Owen Taylor  <owt1@cornell.edu>
3382         * glib.h gutils.c : changed g_strcasecmp
3383           to take gchar* not guchar*
3385         * testglib.c: Remove trailing ; after functions
3387 Sun Mar  1 19:04:40 1998  Owen Taylor  <owt1@cornell.edu>
3389         * glib.h gstring.c: Added g_string_insert[_c]()
3390           and g_string_erase().
3392           From: Stefan Wille  <1wille@vsys1.informatik.uni-hamburg.de>
3394 Mon Feb 16 23:05:06 1998  Owen Taylor  <owt1@cornell.edu>
3396         * glist.c (g_list_insert_sorted): Changed function
3397           so elements are always inserted, even if they compare
3398           equal with another.
3400 Thu Feb 12 22:48:11 1998  Owen Taylor  <owt1@cornell.edu>
3402         * gstring.c glib.h: removed deprecated g_string_equal
3403           and g_string_hash.
3405 Tue Feb 10 13:04:36 1998  Owen Taylor  <owt1@cornell.edu>
3407         * configure.in: Add check to see if the C library's
3408           iswalnum can actually be used. (Not true for
3409           Linux libc-5.4.38)
3411 Sat Feb  7 11:48:09 1998  Owen Taylor  <owt1@cornell.edu>
3413         * gstring.c gutils.c: added some additional consts in
3414           appropriate places to remove a warning
3416 Sat Feb  7 11:15:54 1998  Owen Taylor  <owt1@cornell.edu>
3418         * gutils.c: include <ctype.h> for tolower()
3420 Fri Jan 30 23:57:17 PST 1998 Manish Singh <yosh@gimp.org>
3422         * added and autoconfigured in a new utility function
3423         g_strcasecmp
3425 Wed Jan 28 23:53:27 PST 1998 Manish Singh <yosh@gimp.org>
3427         * glist.c
3428         * gslist.c
3429         * testglib.c: the sort functions compared backwards. Fixed
3430         * glib.h: list iterator macros now check for NULL pointers
3432 Tue Jan 27 09:46:57 PST 1998 Manish Singh <yosh@gimp.org>
3434         * gstring.c: g_string_prepend and g_string_prepend_c had
3435         interchanged src and dest parameters for g_memmove. Fixed.
3437 Tue Jan 27 01:38:52 PST 1998 Manish Singh <yosh@gimp.org>
3439         * gslist.c: fixed a really, really lame error. g_slist_insert
3440         didn't hook the data in! Reworked the routine to reflect the
3441         functionality of g_list
3443 Wed Jan 21 01:13:25 1998  Tim Janik  <timj@psynet.net>
3445         * Applied patch from (Raja R Harinath <harinath@cs.umn.edu>)
3446           to add function g_snprintf.
3447         * configure.in (AC_CHECK_FUNCS): Check for vsnprintf.
3448         * glib.h: Add prototype for g_snprintf.
3449         * glibconfig.h.in: Add HAVE_VSNPRINTF.
3450         * gutils.c (g_snprintf): new function.
3452 Sat Jan 17 23:52:40 1998  Owen Taylor  <owt1@cornell.edu>
3454         * gstring.{c,h} gscanner.c:
3455            renamed g_string_equal => g_str_equal
3456            renamed g_string_hash => g_str_hash
3457           And const corrected. Old functions left in for now.
3459 Fri Jan  9 20:03:46 1998  Tim Janik  <timj@psynet.net>
3461         * gutils.c (g_strerror): changed message for EAGAIN from
3462         "no more processes" to "try again" since EAGAIN is used with
3463         functions else than fork().
3465         * gscanner.c (g_scanner_get_token_ll): use strtol() instead of
3466         strtoul() to avoid conflicts with solaris.
3468         * merged the glib portions from Jan 2 to Jan 7 out of gtk+/ChangeLog
3469         into this file.
3471 Wed Jan  7 02:14:30 PST 1998 Manish Singh <yosh@gimp.org>
3473         * glib.h:
3474         * glist.c:
3475         * gslist.c:
3476         * testglib.c: Added g_[s]list_insert_sorted function
3477         and appropriate tests in testglib
3479 Sat Jan  3 20:23:25 1998  Owen Taylor  <owt1@cornell.edu>
3481         * glib.h: Changed guint32 -> guint for bitfields.
3482         (Bitfields must be int or unsigned int?)
3484 Fri Jan  2 23:52 PST 1998 Jay Painter <jpaint@serv.net>
3486         * glib_pre1.h:
3487         * glib_pre2.h:
3488         * glib.h: reverted glibconfig.h and glib.h files back to the
3489         way they were before my ugly hack.
3491         * gscanner.c: removed inlines from clist and gscanner
3493 Tue Dec 23 02:49:51 1997  Tim Janik  <timj@psynet.net>
3495         * gscanner.c: new file for GScanner: Flexible lexical scanner for
3496         general purpose.
3497         * glib_pre2.h: added GScanner includes. added g_strconcat and g_strtod.
3498         gutils.c (g_strconcat): new function for string concatenation of NULL
3499         terminated parameter list.
3500         (g_strtod): new function to perform best string to double conversion
3501         with or without consideration of the current locale.
3503 Mon Dec 15 19:33:58 1997  Tim Janik  <timj@psynet.net>
3505         * glist.c: minor optimizations:
3506         (g_list_append): `if' optimized for common code path, commented out
3507         unneccessary `assert', saved one variable assignment.
3508         (g_list_prepend): saved two (conditioned) variable assignment.
3509         (g_list_insert): saved one  (conditioned) variable assignment,
3510         saved one variable assignment.
3511         (g_list_remove): `if' optimized for common code path, saved two
3512         variable assignments by using `g_list_free_1' (which is even
3513         faster) instead of `g_list_free'.
3514         (g_list_reverse): saved allocation of one variable, saved one
3515         variable assignment.
3517 Wed Dec 10 23:27:20 1997  Tim Janik  <timj@psynet.net>
3519         * glib_pre1.h:
3520         * glib_pre2.h:
3521         * glib.h: this file now gets concatenated by makeglib_h from
3522         glib_pre1.h and glib_pre2.h to merge in glibconfig.h wich got
3523         created by configure (done by Jay Painter).
3525         * glib_pre2.h: the g_assert*() and g_return_*_fail() macros
3526         are wrapped by G_STMT_START and G_STMT_END now, to avoid conflicts
3527         when used within if (...) g_macro(); else ... conditionals.
3529 Tue Dec 17 13:14:07 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
3531         * glib.h: Changed 'g_return_if_fail' and 'g_return_val_if_fail' to
3532         not call 'g_string' but to simply stringify the
3533         expression. Calling 'g_string' causes the expression to be
3534         expanded which is undesired.
3536 Sun Dec  1 01:30:48 1996  Peter Mattis  <pmattis@charnley.HIP.Berkeley.EDU>
3538         * Started ChangeLog