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