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