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