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