Fix
[platform/upstream/glib.git] / ChangeLog.pre-2-0
1 Wed Jun 28 22:52:00 2000  Owen Taylor  <otaylor@redhat.com>
2
3         * Makefile.am (libglib_la_SOURCES): Fix
4         gunichartable.h => gunichartables.h. (From Eric Limings)
5
6 Fri Jun 23 17:20:26 2000  Tim Janik  <timj@gtk.org>
7
8         * glib.h: define gstring in terms of gchar*. this typedef reflects
9         the type name of the primitive G_TYPE_STRING in the gobject module.
10
11 Wed Jun 21 12:09:03 2000  Owen Taylor  <otaylor@redhat.com>
12
13         * gunicode.h gutf8.c guniprop.c gunidecomp.[ch] gunichartables.h
14         Makefile.am glib.h: Initial pass at adding unicode support
15         functions. A few things still need to be implemented, a bit
16         of cleanup needs to be done, tests need to be added, and 
17         the docs need to be finished, but this should allow replacing
18         most or all use of libunicode.
19
20 2000-06-06  Tor Lillqvist  <tml@iki.fi>
21
22         * giowin32.c (g_io_channel_win32_pipe_readable): If we are
23         watching the same pipe for different conditions (with different
24         callbacks), check them all. Only call the callback for G_IO_IN
25         from here. (This bug popped up when a watch for G_IO_ERR|G_IO_HUP
26         was added to gimplib.)
27
28 2000-05-30  Tor Lillqvist  <tml@iki.fi>
29
30         * gutils.c (g_locale_get_codeset): Implement on Win32.
31
32         * glib.def: Add g_get_codeset.
33
34         * tests/Makefile.am (EXTRA_DIST): makefile.cygwin* has been
35         renamed to makefile.mingw*.
36
37 Tue May 30 16:01:32 2000  Owen Taylor  <otaylor@redhat.com>
38
39         * glib.h gutils.c: Move the g_locale_get_codeset() up in the 
40         header file to correspond to to comments about memory
41         management. Rename to g_get_codeset() to avoid 
42         polluting the g_locale_* namespace, which probably
43         would have g_locale_get_codeset (GLocale *locale).
44         Add a doc comment.
45
46 Mon May 29 14:10:35 2000  Owen Taylor  <otaylor@redhat.com>
47
48         * gutils.c (g_locale_get_codeset): Add function to get the 
49         codeset name for the current locale.
50
51         * configure.in acconfig.h: Add check for nl_langinfo(CODESET);
52
53 Fri May 19 11:39:29 2000  Tim Janik  <timj@gtk.org>
54
55
56         * gutils.c (g_snprintf):
57         (g_vsnprintf): added argument assertments.
58
59         * gstring.c (g_string_assign): added argument assertments.
60         (g_string_truncate): make len a guint.
61
62 Fri May 19 09:00:44 2000  Tim Janik  <timj@gtk.org>
63
64         * gmem.c (g_free): fixed SIZEOF_LONG==4 assumption with
65         ENABLE_MEM_CHECK, from Art Haas <ahaas@neosoft.com>.
66
67         * gslist.c (g_slist_reverse): shut up compiler.
68
69         * gscanner.c (g_scanner_get_token_ll): removed inline assignment.
70
71         * garray.c: remove index>=0 checks for unsigned indices.
72
73         * gmain.c (g_idle_prepare): timeout assignment fix.
74
75         * gtree.c (g_tree_node_rotate_right): shut up compiler.
76
77 2000-05-13  Tor Lillqvist  <tml@iki.fi>
78
79         * makefile.mingw.in
80         * tests/makefile.mingw.in
81         * build-dll: Rename makefile.cygwin(.in) to
82         makefile.mingw(.in), which better describes what it is. Move the
83         build of gmodule, gthread and gobject DLLs to makefiles in those
84         directories. Move resource file handling and build number bump to
85         build-dll, where it sits much cleaner.
86
87         * README.win32
88         * Makefile.am (EXTRA_DIST): Update accordingly.
89
90         * glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
91         G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
92         implementations.
93
94         * glib.def: Add g_strcanon.
95
96         * gtree.c (g_tree_node_rotate_left): Remove unused variables.
97
98         * gwin32.c (g_win32_opendir): Remove unneeded statement.
99
100 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
101
102         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
103         broken and require an empty arg, give it to them.
104
105 Fri Apr 28 23:54:35 2000  Tim Janik  <timj@gtk.org>
106
107         * setup things for a new sub-library libgobject:
108
109         * Makefile.am (SUBDIRS): added gobject
110
111         * glib-config.in: feature -lgobject.
112
113         * configure.in (AC_OUTPUT): generate gobject/Makefile.
114
115         * glib.m4 (AM_PATH_GLIB): feature gobject module.
116
117         * glib.spec.in: added %{prefix}/lib/libgobject-1.3.so.*
118
119 Fri Apr 28 21:41:49 2000  Tim Janik  <timj@gtk.org>
120
121         * glib.h: added G_STRLOC macro.
122         G_STRUCT_OFFSET(): signedness corrections.
123         (G_CSET_DIGITS): list 0-9.
124         * gscanner.c (g_scanner_config_template): use G_CSET_DIGITS.
125
126         * glib.h: 
127         * gstrfuncs.c:
128         (g_strdown):
129         (g_strup):
130         (g_strreverse): return the modified string instead of void, so
131         calls to these functions can be nested.
132         (g_strcanon): new function, canonicalizes string according to
133         a given character set.
134
135 Fri Apr 28 19:45:16 2000  Tim Janik  <timj@gtk.org>
136
137         * gasyncqueue.c (g_async_queue_unref): get rid of an unused variable.
138
139 Wed May 10 19:52:44 2000  Owen Taylor  <otaylor@redhat.com>
140
141         * glib.m4: Print found version when test succeeds.
142
143 2000-05-04  Tor Lillqvist  <tml@iki.fi>
144
145         * makefile.cygwin.in
146         * tests/makefile.cygwin.in: Include the common makefile snippet
147         from ../build/win32.
148
149         Maybe CVSROOT/modules should be changed so that the 'build' module
150         is included within the glib module (and gtk+, and gimp, and maybe
151         others later), in the same way as the 'macros' module is included
152         in lots of GNOME CVS modules?
153
154 2000-05-02  Tor Lillqvist  <tml@iki.fi>
155
156         * glib.def: Add new functions.
157
158         * makefile.{cygwin,msc}.in (glib_OBJECTS): Add new object files.
159
160         * tests/makefile.{cygwin,msc}.in: Add threadpool-test.
161
162 2000-04-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
163
164         * gasyncqueue.c: New File implementing an asynchronous queue to be
165         used for asynchronous inter-thread communication.
166         
167         * gthreadpool.c: New File implementing a thread pool to be used
168         for distributing work among several threads. 
169
170         * glib.h: Added the type and function declarations for these two
171         types.
172
173         * tests/threadpool-test.c: New File implementing a test for the
174         thread pool. This also checks the asynchronous queue underlying
175         the thread pool.
176
177         * tests/Makefile.am: Changed accordingly.
178         
179 2000-04-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
180
181         * configure.in: Look for both pthread_create and pthread_join in
182         the thread library. Some systems define one of them, but not both
183         in libc. Arghh. Now we really start a thread and join it later and
184         check, whether the thread to actually ran.
185
186         * glib.h, gcache.c, gtree.c: Changed the 'value' parameter of
187         g_cache_remove from gpointer to gconstpointer. Dito for the 'key'
188         parameter of g_tree_lookup and g_tree_remove and the 'data'
189         parameter of g_tree_search. This function now takes a function of
190         type GCompareFunc instead of GSearchFunc. This fixes Bug
191         #8267. Thanks to Juan Toledo <toledo@users.sourceforge.net> for
192         pointing that out.
193
194         * glib.h: Removed declaration of GSearchFunc.
195
196         * gmem.c: s/GSearchFunc/GCompareFunc/.
197
198 2000-04-19  Tor Lillqvist  <tml@iki.fi>
199
200         * glib.def: Update entry point list.
201
202 2000-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
203
204         * glib.h (G_TRYLOCK): Made the debugging G_TRYLOCK call also work
205         for compilers with funny G_STMT_(START|END) macros.
206
207         * tests/thread-test.c: Implemented a check for that.
208
209         * gutils.c (g_getenv): Changed the win32 part of this function to
210         be thread safe and to make the returned environment string
211         persistent to match the UN*X behavior. This is again a response to
212         Bug #8983.
213
214         * glib.h (G_LOCK_NAME): Removed parentheses around the lock name,
215         as that seems to cause problems for some compilers and really
216         isn't necessary.
217
218 Wed Apr 19 08:32:32 2000  Tim Janik  <timj@gtk.org>
219
220         * gscanner.c (g_scanner_new): make sure that
221         scanner->config->cset_skip_characters is "" instead of NULL, so we
222         don't segfault further on.
223
224 2000-04-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
225
226         * glib.h, glist.h, gslist.h: Changed the 'data' parameters from
227         gpointer to gconstpointer for the functions
228         g_(list|slist)_(remove|find|find_custom|index), as they do not
229         change this parameter. This fixes bug #4836.
230
231         * glib.h: Changed comment for g_getenv to reflect, that the
232         returned memory must not be freed. Fixes bug #8983.
233
234 2000-04-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
235
236         * configure.in, acconfig.h: Add configure test for garbage
237         collector friendliness for GLib. If enabled, ENABLE_GC_FRIENDLY
238         will be defined.
239
240         * garray.c, ghash.c, glist.c, gmain.c, gmem.c, gnode.c, gqueue.c,
241         gslist.c, gtree.c: If ENABLE_GC_FRIENDLY is defined, NULLify all
242         memory released by the user, but cached by GLib. This lets a
243         garbage collector have a more correct view of the actually used
244         memory.
245         
246         * garray.c, glib.h: Added g_(array|ptr_array|byte_array)_sized_new
247         functions, that reserve a certain amount of memeory for the array
248         at creation time to avoid reallocation. Fixes bug #6707 from
249         Charles Kerr <ckerr@osserver1.nssl.noaa.gov>.
250
251         * glib.h, gqueue.c, tests/queue-test.c (main): Renamed
252         g_queue_create to g_queue_new in conformance to all other GLib
253         data types.
254
255 2000-04-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
256
257         * grand.c (g_rand_new): Fixed bug. Thanks to Marko Kreen
258         <marko@l-t.ee> for reporting that.
259
260 2000-03-26  Tor Lillqvist  <tml@iki.fi>
261
262         * README.win32: Tell about using the mingw-based gcc, which is
263         much easier than modifying the cygwin gcc to product mingw code
264         for the msvcrt runtime.
265
266         * makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
267         with a "pure" mingw gcc, too.
268
269 2000-03-24  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
270
271         * garray.c: Made GArray behave correctly. Now zero_terminated
272         really means, that the element array->data[array->len] exists and
273         is zeroed, and clear means that any unassigned elements obtained
274         through g_array_set_size (the only way to get unassigned elements
275         AFAICT) are zeroed. Added some macros to make the code more
276         obvoius. Also made GPtrArray zero elements after
277         g_ptr_array_set_size. This is done in a portbale way (assignment
278         of NULL instead of just memsetting it to zero), though that might
279         be more portability than we actually want.
280
281         * Makefile.am, gthread/Makefile.am, gmodule/Makefile.am,
282         tests/Makefile.am: Added various win32 related *.in files to
283         EXTRA_DIST to let 'make distcheck' procude all the corresponding
284         files, which it silently fails to do currently.
285
286 2000-03-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
287
288         * configure.in: After finding the right thread library (containing
289         e.g. pthread_create) we now search for the right realtime library
290         (containing e.g. sched_get_priority_max). Makes the output of the
291         thread related libraries correct. 
292
293         * gtimer.c (g_usleep): The current implementation of g_usleep
294         (simply calling select) doesn't work reliable for multi-threaded
295         programs on some platforms (bad omen for the main loop....), so I
296         changed the implementation for thread-using programs to wait for a
297         GCond for the specified amount of time (NB: sleep and usleep are
298         not MT-safe in general, because they often use signals).
299
300 Wed Mar 22 16:49:57 2000  Owen Taylor  <otaylor@redhat.com>
301
302         * gmem.c (g_mem_chunk_area_compare): Fix indentation.
303
304 2000-03-22 Elliot Lee <sopwith@redhat.com>
305
306         * gmem.c (g_mem_chunk_area_compare): Fix 64-bitness bug in
307         comparing two pointers more than 4G apart.
308
309 2000-03-22  Tor Lillqvist  <tml@iki.fi>
310
311         * gutils.c: Move Win32-only includes after inclusion of glib.h, so
312         that G_OS_WIN32 is defined.
313
314         * glibconfig.h.win32.in: Add GSystemThread.
315
316 2000-03-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
317
318         * gutils.c (g_get_current_dir): Ok, Marcus Brinkmann
319         <Marcus.Brinkmann@ruhr-uni-bochum.de> convinced me, that 128 KB
320         path length might not be enough for the HURD. So I changed the
321         loop to at least avoid an integer overflow, which could happen at
322         beyond 2GB size ;-)
323
324         * configure.in: Test for sched_yield as the native yield function
325         first. Corrected typo g_thread_sleep -> g_usleep. Corrected
326         message for the pthread_create test. Negative Priorities are
327         allowed (and used on Solaris), so consider
328         sched_get_priority_min failed only if it returns -1, not <0. Check
329         for sched_get_priority_min also in -lrt, if not found in -lpthread
330         alone and add -lrt to G_THREAD_LIBS then. Remove special case
331         handling of priorities for older solaris versions and posix
332         threads. Thanks to Wan-Teh Chang <wtc@netscape.com> for suggesting
333         some of those changes.
334         
335         * config.guess, config.sub, ltconfig, ltmain.sh:
336         Upgrade to libtool 1.3.4.
337
338 2000-03-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
339
340         * glib.h, configure.in, gutils.h: always define G_GNUC_EXTENSION,
341         even when not needed by GLib. That's actually also the way, the
342         GLib reference manual describes that macro. Therefore I had to
343         remove the lonesome #include <glibconfig.h> in gutils.c, which
344         doesn't seem to be needed there however. This change should make
345         Ben Gertzfield <che@debian.org> happy.
346
347         * gutils.c: Furthermore two warnings in gutils.c were voided,
348         which crept in due to my last change.
349
350         * gutils.c (g_get_current_dir): Allocate only up to 128KB for a
351         pathname. While this is an arbitrary value just like 2048, it
352         seems to be enough (after all, even 4GB is an arbitrary value).
353
354 2000-03-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
355
356         * gmain.c (g_main_poll): Warn in case of an error during the call
357         to poll(2). Closes Bug#7564 as reported by David Helder
358         <dhelder@umich.edu>.
359
360         * gutils.c (g_get_current_dir): Make g_get_current_dir work on
361         systems with unlimited pathname length like the HURD (It worked
362         there before, but only for pathes shorter than 2048). Closes
363         Bug#4525 as reported by Marcus Brinkmann
364         <Marcus.Brinkmann@ruhr-uni-bochum.de>.
365
366 2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
367
368         * giounix.c (g_io_unix_write, g_io_unix_read): Interpret EINTR as
369         G_IO_ERROR_AGAIN.
370
371 2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
372
373         * configure.in: Added the missing POSIX_NO_YIELD and
374         POSIX_NO_PRIORITIES warning messages.
375
376         * configure.in: Use AC_TRY_RUN instead of AC_TRY_LINK, to test for
377         real thread support. On solaris pthread_create can be linked to
378         even in -lc, but it doesn't work then.
379
380         * configure.in: Don't use priorities for threads, when the
381         minimal/maximal priorities couldn't be determined at configure
382         time.
383         
384         * configure.in, gthread.c: Always define GSystemThread in
385         glibconfig.h to represent a system thread.
386
387         * configure.in: Do not use native recursive threads, when
388         possibe. We use some features, that they do not expose (namely the
389         depth counter).
390
391         * glib.h, gthread.c: Redefined GStaticRecMutex. The functions are
392         now implemented in a different way, which should be way
393         faster. Alsothere are now functions g_static_rec_mutex_unlock_full
394         and g_static_rec_mutex_lock_full to leave/enter a recursive mutex
395         completly.
396
397         * gthread.c (g_thread_self): Do not test the system_thread to be
398         non-zero to speed things up.
399         
400         * gthread.c (g_mutex_init): Therefore set the system_thread of the
401         main thread here.
402
403         * tests/thread-test.c: Rerun all tests once again, but this time
404         we fool the system into thinking, that the available thread system
405         is not native, but userprovided.
406         
407 2000-03-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
408
409         * gqueue.c (g_queue_push_tail_link, g_queue_push_head_link): We
410         want the next and prev pointer of the inserted link to be NULL.
411
412 2000-03-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
413
414         * configure.in: Another small change to the pthread_.. search
415         pattern. Should work *now* for AIX.
416
417 2000-03-04  Tor Lillqvist  <tml@iki.fi>
418
419         * gwin32.c (g_win32_error_message): New function that returns the
420         message string for a Win32 error code.
421
422         * glib.h: Declare it.
423
424         * glib.def: Export it, plus g_node_copy.
425
426 2000-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
427
428         * configure.in: Make the search for pthread_attr_... prototypes
429         find names at the start of a line also, like it is on AIX. Thanks
430         to Valdis Kletnieks <Valdis.Kletnieks@vt.edu> for the info.
431
432 Wed Mar  1 10:39:39 2000  Tim Janik  <timj@gtk.org>
433
434         * gslist.c (g_slist_reverse): minor optimization.
435
436         * testglib.c (g_node_test): added a couple of tests for
437         g_node_copy().
438
439         * glib.h:
440         * gnode.c (g_node_copy): new function to copy subtrees,
441         supplied by dbsears@ix.netcom.com.
442         changed iterator to walk the children list backwards, so
443         we get down from O(n^2) to O(n).
444
445         * gnode.c (g_node_first_sibling): applied patch from
446         dbsears@ix.netcom.com to optimize access if node->parent
447         is present.
448
449         * gutils.c (g_get_any_init): backed out HAVE_PW_GECOS check around
450         assignment of g_real_name, sicne HAVE_PW_GECOS is never defined and
451         thus breaks the original code.
452
453         * merged changes from 1.2.7.
454
455 Fri Jan 28 11:37:41 2000  Owen Taylor  <otaylor@redhat.com>
456
457         Bug #4156 - Changes vaguely modelled after Scott Gifford's patch
458
459         * gtimer.c (g_timer_elapsed): Never report negative times -
460         clip times to 0.
461
462         * gmain.c (g_timeout_prepare): Guard against unexpected
463         clock shifts by never setting a timeout of more than
464         data->interval msecs.
465
466 2000-02-27  Tor Lillqvist  <tml@iki.fi>
467
468         * glib.def: Add new functions.
469
470 2000-02-23  Tor Lillqvist  <tml@iki.fi>
471
472         * README.win32: Add a missing step to the setup instructions for
473         gcc-2.95.2. Thanks to Arnaud Charlet.
474
475         * glib.def: Add missing entry point.
476
477 2000-02-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
478
479         * configure.in: Changed GCC version test to also accept major
480         versions > 2. Thanks to Ben Gertzfield <che@debian.org> for
481         pointing this out.
482
483 Thu Feb 17 12:53:44 2000  Tim Janik  <timj@gtk.org>
484
485         * gstring.c: changed g_str_hash() to a 31 bit version based on
486         a submission by Karl Nelson and hand optimized ad absurdum by
487         various people ;)
488
489         * gstring.c: applied patch from havoc for new gstring functions,
490         added some more sanity checks, coding style fixups.
491
492 2000-02-13  Havoc Pennington  <hp@pobox.com>
493
494         * tests/string-test.c (main): Add tests for the new GString 
495         features
496
497         * testglib.c (main): Add tests for the new GString features
498
499         * gstring.c (g_string_insert_len): New function; insert 
500         a given length of string at a given position. 
501         (g_string_append): reimplement in terms of g_string_insert_len
502         (g_string_append_len): new function
503         (g_string_insert_c): accept -1 for "pos" arg to mean "append"
504         (g_string_append_c): reimplement in terms of g_string_insert_c
505         (g_string_prepend): reimplement in terms of g_string_insert_len
506         (g_string_prepend_len): new function
507         (g_string_prepend_c): reimplement in terms of g_string_insert_c
508         (g_string_insert): reimplement in terms of g_string_insert_len
509
510         * glib.h: Declare g_string_insert_len, g_string_append_len,
511         g_string_prepend_len
512         
513 Sun Feb 13 08:16:47 2000  Tim Janik  <timj@gtk.org>
514
515         * configure.in: wtf??? someone destroyed the configure.in, reverting to
516         an older version from Feb 4 which apears to still work.
517
518 2000-02-07  Tor Lillqvist  <tml@iki.fi>
519
520         * gmodule.rc.in gthread.rc.in: Move to corresponding subdirectories.
521
522         * Makefile.am
523         * gmodule/Makefile.am
524         * gthread/Makefile.am: Change accordingly.
525         
526         * makefile.cygwin: Corresponding changes, some cleanup.
527
528 2000-02-05  Tor Lillqvist  <tml@iki.fi>
529
530         * glib.rc.in gmodule.rc.in gthread.rc.in: New files, for putting
531         version info in the DLLs on Win32.
532
533         * Makefile.am: Generate corresponding *.rc files and distribute
534         them.
535
536         * makefile.cygwin.in: Add rules to automatically bump a "build
537         number" in the version info in the rc files each time the DLL is
538         built. But do this only for the person who releases binaries. If
539         others build the DLLs, the build number is set to zero.
540
541 Fri Feb  4 19:36:05 2000  Tim Janik  <timj@gtk.org>
542
543         * glib.h: 
544         * gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
545         and g_dataset_id_remove_no_notify() to avoid second lookup for common
546         use.
547
548 2000-02-01  Tor Lillqvist  <tml@iki.fi>
549
550         * glib.h
551         * gstrfuncs.c (g_filename_to_utf8, g_filename_from_utf8): New
552         functions for conversion between UTF-8 and the encoding expected
553         by C runtime functions like open() and stat(), and returned by
554         readdir().
555
556         Implement them on Win32 where we use the system "ANSI" codepage,
557         which might be single-byte or double-byte. On Unix, just skip the
558         issue for now and provide dummy implementations that return a copy
559         of the argument.
560
561         * README.win32
562         * build-dll
563         * glib.def: Minor updates.
564
565 Wed Jan 26 05:24:38 2000  Tim Janik  <timj@gtk.org>
566
567         * glib.h:
568         * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
569         refetch the current time after invocation of poll() to cover up for
570         the time spent in that function call.
571
572 Fri Jan 21 10:18:24 2000  Owen Taylor  <otaylor@redhat.com>
573
574         * glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
575         the number of elements in an array.
576
577 Sun Jan  9 13:28:36 2000  Tim Janik  <timj@gtk.org>
578
579         * gstrfuncs.c (g_strtod): correctly fetch the current locale,
580         fix from owen.
581
582 1999-12-16  Tor Lillqvist  <tml@iki.fi>
583
584         * gmodule/gmodule-win32.c: Use FormatMessage to translate system
585         error codes into textual messages.
586
587 1999-11-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
588
589         * glib.h (G_TRYLOCK): This of course should return TRUE in a
590         program with a thread-disabled GLib.
591
592 1999-11-18  Tor Lillqvist  <tml@iki.fi>
593
594         * glib.def: g_strjoin was missing.
595
596 1999-11-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
597
598         * acconfig.h, config.h.win32.in, configure.in: Renamed
599         GLIB_SIZEOF_PTHREAD_T to GLIB_SIZEOF_SYSTEM_THREAD to reflect
600         changed meaning.
601
602         * configure.in: Cope with systems, that have a pthread_t type,
603         that is not a pointer. Hint from Karl Nelson
604         <kenelson@ece.ucdavis.edu>. Define GLIB_SIZEOF_SYSTEM_THREAD to 4
605         for Solaris. Cope with systems, that have no default mutex
606         initialize, like obviously most DCE systems.
607
608         * glib.h, gthread.c: Changed the prototype of thread_create and
609         thread_self to return the system thread into provided memory
610         instead of a return value. This is necessary, as HPUX has a
611         pthread_t, that is bigger than the biggest integral type there.
612
613         * gthread.c: system_thread is no longer a pointer, but an memory
614         area of size GLIB_SIZEOF_SYSTEM_THREAD. Changed the
615         zeroinitialization and the tests for zeroness accordingly.
616
617 1999-11-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
618
619         * configure.in: Create docs/glib-config.1 from
620         docs/glib-config.1.in. Makes 'make distcheck' happy (and me too).
621
622         * glib-config.1: Removed from CVS, as it is a generated file.
623
624 1999-11-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
625
626         * configure.in: Make the test for getpwuid_r work on newer AIX
627         versions, too. Still works on Solaris and Linux. Patch from Craig
628         Rodrigues <rodrigc@mediaone.net>.
629
630 1999-11-08  Tor Lillqvist  <tml@iki.fi>
631
632         * gwin32.c (g_win32_getlocale): Look at env vars LC_ALL, LC_CTYPE
633         and LANG first. Some refinements to the sublanguage logic.
634
635 1999-11-04  Tor Lillqvist  <tml@iki.fi>
636
637         * makefile.{cygwin,msc}.in: Add gwin32 object. Add rule to make .i
638         (preprocessed source) files.
639
640 1999-11-01  Tor Lillqvist  <tml@iki.fi>
641
642         * glib.h
643         * glib.def: Rename Win32-only functions from gwin_* to g_win32_*
644         to match the GLib naming conventions.
645
646         * gutils.c
647         * gwin32.c
648         * testglib.c
649         * Makefile.am: Move the Win32-only functions to the new
650         file gwin32.c
651
652 1999-10-31  Tor Lillqvist  <tml@iki.fi>
653
654         * gutils.c (gwin_getlocale): New Win32-specific function, returns
655         a Unixish current locale string (en, zh_TW etc).
656
657         * glib.h: Declare it.
658
659         * glib.def: Export it.
660
661         * testglib.c: Test it.
662
663         * gmessages.c (Win32: ensure_stdout_valid): Some improvements,
664         make sure we don't call AllocConsole several times, which I think
665         has happened.
666
667 Sun Oct 31 18:55:01 1999  ape@spacetec.no  (Asbjorn Pettersen)
668
669         * gcache.c (g_cache_remove): Test if node is NULL.
670         If not tested, GIMP's script-fu will crash. 
671
672 Sun Oct 17 18:11:40 1999  Tim Janik  <timj@gtk.org>
673
674         * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around
675         destroy() notification here as well.
676
677 1999-10-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
678
679         * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist
680         is called recursivly. Reported by Ola Andersson <rand@ling.umu.se>.
681
682 Tue Oct 12 14:17:12 1999  Tim Janik  <timj@gtk.org>
683
684         * glib.h: removed useless g_string(x) macro that cluttered the namespace
685         and was just a poor wrapper around the cpp '#' symbol, use #x if you
686         need to work around this.
687         added new macro G_STRINGIFY(arg) that will convert arg to a string,
688         no matter whether it contains macros or not.
689
690 1999-10-12  Tor Lillqvist  <tml@iki.fi>
691
692         * config.h.win32.in: Define the new GLIB_SIZEOF_* constants here,
693         too.
694
695         * glib.h: Small Win32 comments improvement.
696
697 Tue Oct 12 12:16:12 1999  Tim Janik  <timj@gtk.org>
698
699         * gmessages.c (g_printf_string_upper_bound): completly new implementation
700         for printf string upper bounds calculation.
701         we handle all glibc 2.1 format specifiers now, except for positional
702         parameters (%nn$...) and wide char strings, plus some obscure upper
703         case variants of the standard conversions. this fixes a lot of
704         bugs in the old code, i.e.
705         - NULL format strings
706         - floats with exponents >+24
707         - %G
708         - precision specifications in general
709         - negative field widths
710         - %p for SIZEOF_VOID_P > 4 platforms
711         we now issue warnigns in places where the old code would have
712         caused buffer overruns anyways. warnings are suppressed when invoked
713         from glogv(), to avoid infinite recursions if someone passes a log
714         message that comes with really obscure format specifications.
715
716 Tue Oct 12 11:49:00 1999  Tim Janik  <timj@gtk.org>
717
718         * gstrfuncs.c: nuked old g_printf_string_upper_bound() version.
719
720 Tue Oct 12 03:34:40 1999  Tim Janik  <timj@gtk.org>
721
722         * glib.h: added GFloatIEEE754 and GDoubleIEEE754 unions to access sign,
723         mantissa and exponent of IEEE floats and doubles (required by the new
724         version of g_printf_string_upper_bound). the unions are endian specific,
725         we handle G_LITTLE_ENDIAN and G_BIG_ENDIAN as of currently. ieee floats
726         and doubles are supported (used for storage) by at least intel, ppc and
727         sparc, reference:
728         http://twister.ou.edu/workshop.docs/common-tools/numerical_comp_guide/ncg_math.doc.html
729         
730 Mon Oct 11 18:01:49 1999  Tim Janik  <timj@gtk.org>
731
732         * configure.in: added additional checks to figure sizes of size_t,
733         ptrdiff_t and intmax_t (required by g_printf_string_upper_bound).
734
735 Wed Oct  6 12:44:23 PDT 1999 Manish Singh <yosh@gimp.org>
736
737         * configure.in: blah. use G_WITH_CYGWIN instead of G_HAVE_CYGWIN
738
739 1999-10-05  Tor Lillqvist  <tml@iki.fi>
740
741         * glib.h: (Win32) Drop the mapping of POSIX function names to the
742         underscored versions, it's unnecessary after all. With MSVC we get
743         them from oldnames.lib, with gcc-2.95 and mingw32 from
744         -lmoldname-msvc. Add comment about what headers to include for
745         prototypes.
746
747         * glibconfig.h.win32.in: Don't define WIN32 and NATIVE_WIN32.
748
749         * gerror.c (g_on_error_query): (Win32) Slightly increased verbosity.
750
751         * build-dll: Don't strip.
752
753         * tests/string-test.c tests/dirname-test.c: Use G_OS_WIN32.
754
755         * glib.def: Add g_thread_use_default_impl.
756
757 Sun Oct  3 19:46:55 PDT 1999 Manish Singh <yosh@gimp.org>
758
759         * configure.in: use G_HAVE_CYGWIN instead of G_OS_FEATURE_CYGWIN
760
761 Sun Oct  3 19:25:42 PDT 1999 Manish Singh <yosh@gimp.org>
762
763         * acconfig.h
764         * configure.in
765         * glibconfig.h.win32: G_OS_FOO #defines. I *think* I got the cygwin
766         and beos stuff right, but I haven't tested it. The respective
767         porters should fix any screwups
768
769         * glib.h
770         * gerror.c
771         * gmain.c
772         * gmessages.c
773         * gscanner.c
774         * gthread.c
775         * gtimer.c
776         * gutils.c
777         * testglib.c: use G_OS stuff
778
779 Wed Sep 22 01:53:18 1999  Tim Janik  <timj@gtk.org>
780
781         * glib.h (NULL): define NULL as (0L) if __cplusplus is defined, to
782         avoid "ANSI C++ forbids implicit conversion from `void *' in argument
783         passing" errors upon NULL usage in C++ programs (gcc-2.95 is on crack
784         for erroring out on this, instead of just issueing a warning).
785
786         * glib.h (g_trash_stack_pop): use uncasted NULL again.
787         
788 Fri Sep 17 10:24:45 1999  Tim Janik  <timj@gtk.org>
789
790         * gmem.c (g_mem_chunk_compute_size) (g_mem_chunk_new): applied patch
791         from Soeren Sandmann <sandmann@daimi.au.dk>, to force mem chunk's area
792         sizes to be a multitiple of atom_size, and to eliminate the MAX_MEM_AREA
793         restriction of 65536 bytes. we also catch cases where users pass an area
794         size < atom size with a return_if_fail statement now (which is ok,
795         because previously this lead to memory corruption anyways).
796
797 Thu Sep 16 13:19:54 1999  Tim Janik  <timj@gtk.org>
798
799         * glib.h (g_trash_stack_pop): add explicit (GTrashStack*) cast for NULL
800         pointer to cure ANSI C++ error.
801
802 Mon Sep 13 23:25:59 1999  Tim Janik  <timj@gtk.org>
803
804         * gmessages.c (g_logv): in case we have to abort the program,
805         debugging is enabled and we are not called recursively, try
806         to abort with raise (SIGTRAP) first, so developers may ignore
807         certain failure conditions during debugging stage.
808
809 Thu Aug 26 15:09:36 1999  Tim Janik  <timj@gtk.org>
810
811         * Makefile.am:
812         * gmodule/Makefile.am:
813         * gthread/Makefile.am: added --export-dynamic so we can load dynmic
814         modules, (required, according to the libtool 1.3.3 docu).
815
816 1999-07-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
817
818         * grand.c (g_rand_new): Use /dev/urandom, as it doesn't block,
819         which /dev/random might do. Do not XOR the time, when getting the
820         seed form /dev/urandom, as this is good itself. Prevent the
821         initial seed from being zero, which causes the PRNG to produce
822         only zeros. Hints from Colin Plumb <colin@pgp.com>.
823
824 1999-08-17  Tor Lillqvist  <tml@iki.fi>
825
826         * glib.h (g_trash_stack_push): Add a cast.
827
828         * gslist.c
829         * glist.c: Make the inline functions static inline, and add
830         separate extern wrappers. Not all compilers produce callable entry
831         points for inline functions, even if gcc does.
832
833 Sun Aug 15 02:47:14 1999  Tim Janik  <timj@gtk.org>
834
835         * glib.h (g_trash_stack_pop): eliminate memset() call, since string.h
836         has not neccessarily been included prior to glib.h.
837
838 Mon Aug  2 21:03:10 1999  Tim Janik  <timj@gtk.org>
839
840         * configure.in: added --enable-msg-prefix option.
841
842         * gmessages.c (g_log_default_handler): feature "prg_name (pid:%u): "
843         if --enable-msg-prefix was selected (use "(process:%u): " if
844         g_get_prgname () returns NULL, along the lines of g_on_error_query).
845
846 1999-08-03  Tor Lillqvist  <tml@iki.fi>
847
848         * glib.h
849         * gstrfuncs.c
850         * tests/strfunc-test.c: Rename g_strccpy to g_strcompress and
851         g_strecpy to g_strescape per Tim Janik's suggestion. Dropped the
852         destination parameter, always g_malloc a new string.  Fix bug in
853         g_strcompress, octal digits were gobbled up without limit, should
854         use max three.
855
856         Sources that use g_strescape must have ifdefs to be compilable
857         both with GLib 1.2 and 1.3.
858
859 Sat Jul 31 17:52:03 PDT 1999 Manish Singh <yosh@gimp.org>
860
861         * glib.h
862         * gstrfuncs.c: the #define for g_strescape interfered with the
863         compilation of the function, so just remove the function and
864         note that it's deprecated in the header
865
866 1999-08-01  Tor Lillqvist  <tml@iki.fi>
867
868         * gstrfuncs.c (g_strccpy, g_strecpy): New functions.
869
870         * glib.h: Declare and document them. Define the deprecated
871         g_strescape as a macro that calls g_strecpy.
872
873         * tests/strfunc-test.c (main): Test them.
874
875         * makefile.{cygwin,msc}.in
876         * tests/makefile.{cygwin,msc}.in: Remove gstack and its test
877         program.
878
879         * glib.def: Additions and removals.
880
881         * README.win32: Improve gcc build instructions.
882
883         * build-dll: Also build import library for MSVC.
884
885 Sat Jul 24 20:11:35 1999  Tim Janik  <timj@gtk.org>
886
887         * merged GLib 1.3.0 with glib-1.2.3 from Fri Jul 16 22:18:36.
888         * incorporated proposed cleanups from gtk-devel-list.
889
890         * bumped version number to GLib-1.3.1
891
892         * glib.h:
893         * gqueue.c:
894         * gstring.c:
895         * glist.c:
896         removed string tokenisation (we got g_strsplit() and g_strjoin()
897         already) and readline functions.
898         s/g_list_delete/g_list_delete_link.
899         implemented g_slist_delete_link.
900         removed notion of g_ATEXIT() macro in glib.h, this is an *internal*
901         macro, g_atexit() is provided for public consumption.
902         added GTrashStack inline utility functions.
903         reimplement double eneded queues.
904         removed GStack implementation, people can use a queue or a (singly)
905         linked list for this task.
906         deprecated g_strescape(), we need the SunOS variants here.
907
908         * gdate.c: added DEBUG_MSG() macro to wrap old messages.
909         
910         * *.*: CVS merges.
911
912         * upgrade to libtool 1.3.3.
913
914 1999-07-21  Tor Lillqvist  <tml@iki.fi>
915
916         Win32: With the latest gcc (2.95, pre-release), we can have binary
917         compatibility with MSVC by using the switch -fnative-struct. No
918         longer build DLLs with .gcc in the name when using gcc.
919
920         * README.win32: Renew gcc build instructions.
921
922         * build-dll: Comments change, handle also .a files.
923
924         * makefile.cygwin.in
925         * tests/makefile.cygwin.in: Remove .gcc from DLL name.
926         
927 1999-07-13  Tor Lillqvist  <tml@iki.fi>
928
929         * README.win32: Correct URL for mingw runtime sources.
930
931         * build-dll: Combine commands with &&.
932
933         * glib.h: Map also rmdir() and hypot() for MSVCRT library.
934
935         * makefile.cygwin.in
936         * tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
937         now called *.gcc.dll, to avoid binary incompatibilities with
938         MSVC-compiled versions.
939
940         * makefile.msc.in: Cosmetics.
941
942 1999-07-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
943
944         * configure.in: Test for pthread_join rather than for
945         pthread_create to determine the right thread-lib. Makes it work on
946         mips-sgi-irix6.5. Hitn from to Jari Vuoksenranta
947         <javu@piano.ux.phys.jyu.fi>.
948
949 1999-07-02  Tor Lillqvist  <tml@iki.fi>
950
951         * README.win32: Note about need to fix another bug in the mingw32
952         headers.
953
954         * makefile.msc.in: Debugging turned on via an nmake variable,
955         no need to edit the makefile.
956
957 1999-07-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
958
959         * configure.in, acconfig.h, gutils.c: Added a g_memmove
960         replacement for platforms without memmove, where bcopy can't
961         handle overlapping copies and the corresponding checks, which is
962         taken form the PERL Configure routine.
963
964         * glib.h: Updated the commentary about g_memmove to be right and
965         more GLib-like.
966         
967         * configure.in: Removed test for rand_r, as it isn't used anymore.
968
969 1999-06-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
970
971         * glib.h, grand.c: Finally removed the g_random_normal and
972         g_rand_normal functions.
973
974 1999-06-28  Tor Lillqvist  <tml@iki.fi>
975
976         * glib.def: Add missing export of g_strncasecmp.
977
978 1999-06-21  Jose Mercado  <jmercado@mit.edu>
979
980         * glib.spec.in: Changed version number (1.1->1.3) in files section
981         to allow rpm to build packages again.
982
983 1999-06-21  Tor Lillqvist  <tml@iki.fi>
984
985         * README.win32: Update the pthreads snapshot version we want.
986         Advice how to hand-expand the makefile.*.in files.
987
988         * config.h.win32.in: Define values needed by Sebastian Wilhelmi's
989         new thread stuff.
990
991         * glib.def: Add new functions.
992
993         * glibconfig.h.win32.in: Update the pthreads snapshot version.
994         Fix typo.
995
996         * gthread.c: Include config.h, guard inclusion of unistd.h.  When
997         using gcc on Win32, g_thread_functions_for_glib_use must be marked
998         for export here, too.
999
1000         * gtimer.c: Implement g_usleep on native Win32 using Sleep (which
1001         only has millisecond granularity, though).
1002         
1003         * makefile.cygwin.in
1004         * makefile.msc.in: Update pthreads snapshot version. File
1005         name changes. Remove testgthread.
1006
1007         * tests/makefile.cygwin.in
1008         * tests/makefile.msc.in: Add thread-test. Link with gthread lib.
1009
1010 1999-06-18  Jeff Garzik  <jgarzik@pobox.com>
1011
1012         * tests/Makefile.am:  Re-order tests in alpha order.
1013
1014 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1015
1016         * configure.in: Changed test for pthread_attr_setstacksize from
1017         AC_TRY_COMPILE to AC_TRY_LINK.
1018
1019 1999-06-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1020
1021         * configure.in, acglib.m4, acconfig.h, glib.h, gthread.c:
1022         Completed the thread support in GLib. Thread creation,
1023         prioritizing threads, yielding, joining threads as well as
1024         reader/writer locks and recursive mutexes are now in place. Please
1025         test heavily on your platform. It is so far tested on
1026         Linux/i386/pthreads, Solaris/Sparc/pthreads and
1027         Solaris/Sparc/solaristhreads.
1028
1029         * gtimer.c, glib.h: Implement g_usleep (gulong microseconds) for
1030         thread safe sleeping. (sleep() is not MT-safe at all!)
1031
1032         * gutils.c: Avoid compiler warning.
1033
1034         * tests/Makefile.am, tests/thread-test.c: New program to test some
1035         aspects of the thread implementation.
1036
1037         * gthread.c, Makefile.am: Renamed from gmutex.c to reflect the
1038         change of content.
1039
1040         * configure.in: Purged all appearances of nspr. 
1041
1042 Wed Jun  2 11:42:46 PDT 1999 Manish Singh <yosh@gimp.org>
1043
1044         * acinclude.m4
1045         * config.guess
1046         * config.status
1047         * ltconfig
1048         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
1049
1050 1999-05-29  Tor Lillqvist  <tml@iki.fi>
1051
1052         * gstrfuncs.c (g_strescape): Backslashify also '"' characters.
1053
1054         * glib.h: Document g_strescape.
1055
1056 1999-05-12  Tor Lillqvist  <tml@iki.fi>
1057
1058         * glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
1059         _fstat.
1060
1061         * README.win32: Advice also to remove -lmoldname in the
1062         patch to the egcs-1.1.2 spec file.
1063
1064 Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
1065
1066         * gmodule/Makefile.am: Another small fix.
1067
1068 1999-05-08  Tor Lillqvist  <tml@iki.fi>
1069
1070         * Makefile.am tests/Makefile.am: Correct rules for making the
1071         win32-related files that are made from corresponding .in files.
1072         Is there a cleaner way than explicitly writing rules that invoke
1073         config.status?
1074
1075 Fri Jul 16 22:18:36 PDT 1999 Manish Singh <yosh@gimp.org>
1076
1077         * ltconfig
1078         * ltmain.sh: upgrade to libtool 1.3.3
1079
1080 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1081
1082         * gdate.c, gstrfuncs.c, gstring.c: Fixed the use of the
1083         is..... and to..... macros, which take unsigned chars, not chars!
1084         Thanks to Morten Welinder <terra@diku.dk> for pointing this out.
1085
1086 Thu Jun  3 16:30:31 PDT 1999 Manish Singh <yosh@gimp.org>
1087
1088         * gerror.c (g_on_error_query): check isatty() before querying so
1089         we don't loop endlessly
1090
1091 Sat May 29 11:16:29 PDT 1999 Manish Singh <yosh@gimp.org>
1092
1093         * acinclude.m4
1094         * config.guess
1095         * config.status
1096         * ltconfig
1097         * ltmain.sh: upgrade to libtool 1.3.2
1098
1099 1999-05-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1100
1101         * gmain.c: provide a poll prototype for SunOS, as they do not do
1102         it self. Hint from Christian Parg <cparg@fs-design.de>.
1103
1104 Tue May 25 12:23:07 1999  Owen Taylor  <otaylor@redhat.com>
1105
1106         * gstrfuncs.c (g_strchug): Use g_memmove() not memmove().
1107         (Reported by Charles Levert <charles@comm.polymtl.ca>)
1108
1109 Mon May 10 22:03:52 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
1110
1111         * Released GLib 1.2.3
1112
1113 1999-05-08  Tor Lillqvist  <tml@iki.fi>
1114
1115         * Makefile.am tests/Makefile.am: Correct rules for making the
1116         win32-related files that are made from corresponding .in files.
1117         Is there a cleaner way than explicitly writing rules that invoke
1118         config.status?
1119         
1120 Sat May  1 10:18:01 PDT 1999 Manish Singh <yosh@gimp.org>
1121
1122         * acinclude.m4
1123         * config.guess
1124         * config.status
1125         * ltconfig
1126         * ltmain.sh: upgrade to libtool 1.3
1127
1128 1999-04-30  Tor Lillqvist  <tml@iki.fi>
1129
1130         * Makefile.am: Don't distribute glibconfig.h.win32.in, but
1131         glibconfig.h.win32. Generate it when making a dist. Also generate
1132         makefile.msc and config.h.win32 from corresponding .in files when
1133         making dist.
1134
1135         * configure.in: Also substitute @GLIB_INTERFACE_AGE@ and
1136         @GLIB_BINARY_AGE@ (needed in config.h.win32).
1137         
1138         * glibconfig.h.win32.in: Use static mutex structure and initial
1139         value corresponding to the 1999-04-07 snapshot of pthreads-win32.
1140
1141         * tests/Makefile.am: Distribute makefile.msc. Generate it when
1142         making dist.
1143
1144         * tests/makefile.msc.in: New file.
1145
1146         * tests/node-test.c: Include <stdlib.h> for exit().
1147
1148 Thu Apr 29 02:16:36 1999  Tim Janik  <timj@gtk.org>
1149
1150         * gstrfuncs.c: minor code cleanups.
1151
1152 Tue Apr 27 13:11:29 1999  Owen Taylor  <otaylor@redhat.com>
1153
1154         * gmain.c (g_main_poll): Mask out ERR HUP and NVAL from
1155         the events field so we don't give IRIX fits.
1156
1157 Tue Apr 20 08:42:22 1999  Tim Janik  <timj@gtk.org>
1158
1159         * gscanner.c (g_scanner_unexp_token): behave conservative with
1160         G_TOKEN_IDENTIFIER_NULL and always assume scanner->value.v_string
1161         to be "null" in that case.
1162
1163 1999-04-20  Havoc Pennington  <hp@pobox.com>
1164
1165         * gutils.c (g_vsnprintf):  When using the vsnprintf()
1166         implementation, '\0'-terminate the resulting string
1167         and return its length rather than -1.
1168
1169 Mon Apr 19 13:42:21 1999  Owen Taylor  <otaylor@redhat.com>
1170
1171         * gmain.c (g_main_iterate): Added missing
1172         #ifdef G_THREADS_ENABLED. (I never liked G_THREADS_ENABLED in
1173         the first place!)
1174
1175 1999-04-18  Havoc Pennington  <hp@pobox.com>
1176
1177         * gutils.c (g_snprintf): When using the vsnprintf()
1178         implementation, '\0'-terminate the resulting string
1179         and return its length rather than -1.
1180
1181 Fri Apr 16 06:52:07 1999  Tim Janik  <timj@gtk.org>
1182
1183         * gscanner.c (g_scanner_unexp_token): feature G_TOKEN_EOF as a valid
1184         expected token as well, so we get "- expected end of file" instead of
1185         "- expected (unknown) token <0>".
1186
1187 Tue Apr 13 16:16:14 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
1188
1189         * Released GLib 1.2.2
1190
1191 1999-04-12  Elliot Lee  <sopwith@mh69.mh.cuc.edu>
1192
1193         * g_strchug(): s/strcpy/memmove/
1194
1195 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1196
1197         * configure.in: Adjusted the test for an unimplemented
1198         getpwuid_r. Info from Michael Pruett <mikep@ugcs.caltech.edu>.
1199
1200 Sun Apr 11 15:07:34 1999  Tim Janik  <timj@gtk.org>
1201
1202         * configure.in: bumped versin number to GLib 1.2.2, interface 2,
1203         binary 2.
1204         
1205         * NEWS: updates.
1206
1207 Sun Apr 11 14:37:06 1999  Tim Janik  <timj@gtk.org>
1208
1209         * gstrfuncs.c (g_strcasecmp): always check for s1, s2 != NULL.
1210
1211 Sat Apr 10 19:30:50 1999  Tim Janik  <timj@gtk.org>
1212
1213         * glib.h: removed braces around inline strings for the G_GNUC_FUNCTION
1214         and G_GNUC_PRETTY_FUNCTION macros, so the macros can be used for compile
1215         time string concatenation.
1216
1217 Thu Apr  8 19:53:19 1999  Owen Taylor  <otaylor@redhat.com>
1218
1219         * gmain.c (g_main_iterate): Check for two threads
1220         calling g_main_iterate at once.
1221
1222         * gmain.c: If the set of poll file descriptors changes
1223         during a call to poll(), abort that call, and start
1224         a new poll. My test program still segfaults
1225         obscurely on glibc 2.0 (in read()!!!), but now it works on
1226         glibc 2.1, so I'll blame something else for the other segfault.
1227
1228 1999-03-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1229
1230         * configure.in: Fixed slight bug, that made configure hang on some
1231         systems. Please do not merge this into 1.3 branch. It's taken care
1232         of differently there. Info from J. Rhett Aultman
1233         <cuplan@alley.gator.net>
1234         
1235 Wed Mar 24 21:23:47 CST 1999 Shawn T. Amundson <amundson@gtk.org>
1236
1237         * Released GLib 1.2.1
1238
1239         * README:
1240           INSTALL: 
1241           NEWS: 
1242           sanity_check: updated
1243
1244         * glibconfig.h.win32.in:
1245           Makefile.am:
1246           docs/glib-config.1.in:
1247           docs/Makefile.am: Added files used to generate new files.
1248
1249         * glibconfig.h.win32:
1250           docs/glib-config.1: Removed, now generated.
1251
1252         * configure.in: Added to output now-generated files.
1253         
1254 Tue Mar 23 13:43:39 PST 1999 Manish Singh <yosh@gimp.org>
1255
1256         * giounix.c: add user_data param to check and prepare functions
1257
1258 Mon Mar 22 03:54:43 1999  Tim Janik  <timj@gtk.org>
1259
1260         * glib.h:
1261         * gmain.c: add user_data to the GSource ->check and ->prepare functions,
1262         so it can be used to e.g. pass a GPollFd.
1263         (g_main_poll): only add poll records with an events mask != 0 to the
1264         fd_array. don't even bother calling poll_func() if fds=timeout=0.
1265         added debugging printouts around poll_func() invokation that can be
1266         enabled with #define G_MAIN_POLL_DEBUG.
1267
1268 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
1269
1270         * acinclude.m4
1271         * config.guess
1272         * config.sub
1273         * ltconfig
1274         * ltmain.sh: upgrade to libtool 1.2f
1275
1276         * autogen.sh: libtool is not required to autogen glib
1277
1278         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
1279         needed)
1280
1281 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1282
1283         * gmem.c: Fixed another stupid fault of mine: Did
1284         s/g_static_/g_private_/g
1285
1286 Wed Mar 17 03:17:42 1999  Tim Janik  <timj@gtk.org>
1287         
1288         * configure.in bumped versin number to GLib 1.2.1, interface 1,
1289         binary 1.
1290         
1291         * NEWS: updates.
1292
1293         * glib.h: added GLIB_CHECK_VERSION() macro similar to
1294         GTK_CHECK_VERSION().
1295
1296 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
1297
1298         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
1299         to g_return_if_fail().
1300         (g_mem_profile): 
1301         (g_mem_chunk_print): 
1302         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
1303         messages.
1304
1305         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
1306         to g_return_if_fail().
1307         * grel.c (g_*): changed a bunch of g_assert() statements to
1308         g_return_if_fail() and added some extra ones to check relation != NULL.
1309
1310 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1311
1312         * configure.in: Also accept _Pctime_r instead of ctime_r, while
1313         seraching for the right `_REENTRANT' flag. This is for Digital
1314         UNIX 4.0d. Thanks to Sascha Brawer <sb@adasys.ch>.
1315
1316 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
1317
1318         * configure.in: check for working realloc (NULL,).
1319         * gmem.c (g_realloc): use malloc() for initial allocation on systems
1320         where realloc(NULL,) will not work (this is the case on SunOS, reported
1321         by Tom Geiger).
1322
1323 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
1324
1325         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
1326         flag around the call to g_hook_free() to avoid spurious
1327         warnings (happens during destruction phase).
1328
1329 1999-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1330
1331         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
1332         from config.h.win32 to glibconfig.h.win32
1333
1334         * acconfig.h, configure.in, config.h.win32: Added test for DCE
1335         versions of mutex_trylock and cond_timedwait. The win32 versions
1336         are posix, aren't they?
1337
1338 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1339
1340         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
1341         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
1342
1343 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1344
1345         * gutils.c (g_get_any_init): Fixed yet another bloody
1346         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
1347         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
1348         test better than that, but have no idea, how to do that easily.
1349
1350 Sun Feb 21 22:11:51 CST 1999  Shawn T. Amundson <amundson@gtk.org>
1351
1352         * Released GLib 1.2.0
1353
1354         * AUTHORS: updated
1355
1356 Wed Feb 24 00:08:42 CST 1999 Shawn T. Amundson <amundson@gtk.org>
1357
1358         * *.[ch]: inserted additional note to look for ChangeLog and
1359           AUTHORS file for a log of modifications.
1360
1361 Sun Feb 21 14:01:00 1999  Dr Mike <drmike@redhat.com>
1362
1363         * Made specfile generated, tweaked slightly
1364         
1365 Sat May  8 06:00:17 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
1366
1367         * configure.in
1368           gmodule/Makefile.am
1369           gthread/Makefile.am: Better testing reveals better
1370           methods.  Fixes for BeOS.
1371
1372 Sat May  8 01:52:29 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
1373
1374         * configure.in
1375           gerror.c
1376           gmain.c
1377           gstrfuncs.c
1378           gutils.c
1379           ltconfig
1380           ltmain.sh
1381           gmodule/Makefile.am
1382           gmodule/gmodule.c
1383           gmodule/gmoduleconf.h.in
1384           gmodule/gmodule-beos.c
1385           gthread/Makefile.am: Port to BeOS by myself and Richard Offer.
1386
1387 1999-05-06  Tor Lillqvist  <tml@iki.fi>
1388
1389         * makefile.msc.in makefile.cygwin.in glibconfig.h.win32.in
1390         config.h.win32.in tests/makefile.msc.in tests/makefile.cygwin.in:
1391         New files, used to generate corresponding non-.in files when
1392         making a dist. This is just so the version numbers will be kept in
1393         synch automatically.
1394
1395         * configure.in: Also substitute @GLIB_MAJOR_VERSION@,
1396         @GLIB_MINOR_VERSION@, and @GLIB_INTERFACE_AGE@.
1397         
1398         * Makefile.am tests/Makefile.am: Also distribute makefile.cygwin.
1399         
1400         * gerror.c (g_on_error_query): On Win32, put up a MessageBox and
1401         then exit.
1402
1403         * glib.def: Add a couple of functions.
1404         
1405 Sat May  1 10:26:20 PDT 1999 Manish Singh <yosh@gimp.org>
1406
1407         * acinclude.m4
1408         * config.guess
1409         * config.status
1410         * ltconfig
1411         * ltmain.sh: upgrade to libtool 1.3
1412
1413 1999-04-25  Tor Lillqvist  <tml@iki.fi>
1414
1415         * README.win32: More editing.
1416         * build-dll: Use gcc, not ld to link.
1417         * glib.h: On native Win32 use _unlink().
1418         * gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
1419         not _MSC_VER.
1420         * gstring.c: Include <io.h> on Win32 for _read prototype.
1421         * gutils.c: Remove old IO channel code (was in #if 0).
1422         * makefile.cygwin: Don't need to link with kernel32 and msvcrt
1423         explicitly, they are included anyway.
1424
1425 1999-04-24  Tor Lillqvist  <tml@iki.fi>
1426
1427         Support added for building using a GNU toolchain on Win32,
1428         i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).
1429
1430         * README.win32: Updated.
1431         * build-dll makefile.cygwin tests/makefile.cygwin: New files.
1432         * glib.h glib.def glibconfig.h.win32: Slight updates. 
1433         * gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
1434         * gmain.c gutils.c testglib.c tests/string-test.c: Test for
1435         NATIVE_WIN32, not _MSC_VER.
1436         * gmutex.c: Must declare g_thread_functions_for_glib_use as
1437         exported (using the GUTILS_C_VAR macro).
1438         * gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
1439         * gmodule/gmoduleconf.h.win32: Need underscore with gcc.
1440         * gthread/gthread.c: With gcc on Win32, must use memcpy to assign
1441         value of g_thread_functions_for_glib_use (?).
1442         * makefile.msc tests/makefile.msc: Cosmetics.
1443
1444 Fri Apr 23 14:29:25 BST 1999  Tony Gale <gale@gtk.org>
1445
1446         * glib.h: Fix typo in g_string_ncasecmp macro (by me).
1447           Add b_string_strncasecmp macro.
1448
1449 1999-04-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1450
1451         * gutils.c (g_get_any_init): use sysconf (_SC_GETPW_R_SIZE_MAX) as
1452         the new initinal bufsize for getpwuid_r on systems, that support
1453         this. Hint from Holger Duerer <H.Duerer@zait.uni-bremen.de>.
1454
1455 Sat Apr 17 20:55:13 BST 1999  Tony Gale <gale@gtk.org>
1456
1457         * glib.h, gstring.c: Add new g_string functions for reading
1458           from file/socket descriptors, and tokenising strings.
1459
1460           Added various g_string macros.
1461
1462 Tue Apr 13 23:28:32 1999  Tor Lillqvist  <tml@iki.fi>
1463
1464         * README.win32: Mention the tests directory.
1465
1466         * glib.def: Add the functions from grand.c.
1467
1468         * glibconfig.h.win32: Add unsigned max values, and the format
1469         strings.
1470
1471         * makefile.msc: Add grand.
1472
1473         * tests/{date-test,node-test}.c: Include <stdlib.h> for exit().
1474
1475         * tests/makefile.msc: New file.
1476
1477 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1478
1479         * glib.h: Moved struct declaration up. Style fixes.
1480
1481         * grand.c: Style fixes. Only try to open /dev/random once.
1482
1483         * tests/rand-test.c (main): New tests; Slight bug fix. 
1484
1485 1999-04-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1486
1487         * grand.c, tests/rand-test.c: New files to implement the Mersenne
1488         Twister Pseudo Random Number Generator.
1489
1490         * glib.h, AUTHORS, Makefile.am, tests/Makefile.am: Changed
1491         accordingly.
1492
1493 Thu Apr  8 21:12:30 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
1494
1495         * Released GLib 1.3.0
1496
1497 1999-03-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1498
1499         * configure.in: Added a check for the right format to printf and
1500         scanf long longs. It is %qi instead of %lli on FreeBSD for
1501         whatever reason.
1502
1503 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
1504
1505         * Makefile.am (glibconfig.h): Make sure `glibconfig.h' exists
1506         after the rule is fired.
1507         (install-exec-local): Install glibconfig.h only if the contents
1508         are different from the currently installed glibconfig.h.
1509
1510 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
1511
1512         * Makefile.am (configexecincludedir): Rename from 
1513         configincludedir so that glibconfig.h will be installed 
1514         as part of `make install-exec'. 
1515
1516 Thu Mar 25 22:45:47 1999  Tor Lillqvist  <tml@iki.fi>
1517
1518         * config.h.win32: Update version numbers.
1519
1520         * glibconfig.h.win32: Update version numbers and pthreads-win32-
1521         related magic values.
1522
1523         * README.win32: Some improvements.
1524
1525         * makefile.msc: Add gqueue and gstack. Correct version number.
1526
1527 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
1528
1529         * acinclude.m4
1530         * config.guess
1531         * config.sub
1532         * ltconfig
1533         * ltmain.sh: upgrade to libtool 1.2f
1534
1535         * autogen.sh: libtool is not required to autogen glib
1536
1537         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
1538         needed)
1539
1540 1999-03-18  Jeff Garzik  <jgarzik@pobox.com>
1541
1542         * glib.def: Add new g_list, g_stack, g_queue functions.
1543
1544 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1545
1546         * configure.in: added new AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
1547         to hold various defines to get the right thread implementation on
1548         different platforms. Also look in -ldce for pthread_create. Should
1549         make it work on HP-UX 10.x. Information from "D. Emilio Grimaldo
1550         Tunon" <emilio_tunon@nl.compuware.com>.
1551
1552 1999-03-17  Jeff Garzik  <jgarzik@pobox.com>
1553
1554         * gstack.c, gqueue.c:
1555         Add copyright, clean up code a bit.
1556
1557 1999-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1558
1559         * configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
1560         platforms with only /usr/include/values.h.
1561
1562         * acconfig.h: Removed unnecessary macros.
1563
1564         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
1565         from config.h.win32 to glibconfig.h.win32. Taken from glib 1.2
1566         branch.
1567
1568         * configure.in: Also accept _Pctime_r instead of ctime_r, while
1569         seraching for the right `_REENTRANT' flag. This is for Digital
1570         UNIX 4.0d. Taken from glib 1.2 branch.
1571
1572 Wed Mar 17 03:14:56 1999  Tim Janik  <timj@gtk.org>
1573
1574         * glib.h: added GLIB_CHECK_VERSION() macro similar to
1575         GTK_CHECK_VERSION().
1576
1577 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
1578
1579         * merges from glib-1-2:
1580         
1581 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
1582
1583         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
1584         to g_return_if_fail().
1585         (g_mem_profile):
1586         (g_mem_chunk_print):
1587         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
1588         messages.
1589
1590         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
1591         to g_return_if_fail().
1592         * grel.c (g_*): changed a bunch of g_assert() statements to
1593         g_return_if_fail() and added some extra ones to check relation != NULL.
1594
1595 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
1596
1597         * configure.in: check for working realloc (NULL,).
1598         * gmem.c (g_realloc): use malloc() for initial allocation on systems
1599         where realloc(NULL,) will not work (this is the case on SunOS, reported
1600         by Tom Geiger).
1601
1602 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
1603
1604         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
1605         flag around the call to g_hook_free() to avoid spurious
1606         warnings (happens during destruction phase).
1607
1608 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1609
1610         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
1611         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
1612
1613 1999-03-16  Timur Bakeyev  <mc@bat.ru>
1614
1615         * configure.in: Fix problem with pthread_create in libc, as running
1616         "gcc test.c -l " is not legal.
1617
1618 1999-03-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1619
1620         * tests/type-test.c: Added a test for the
1621         G_(U)?INT(16|32|64)_FORMAT and G_(MIN|MAX|MAXU)(SHORT|INT|LONG)
1622         macros.
1623
1624         * configure.in: Removed G_(U)?INT8_FORMAT again, as it can't be
1625         used for scanf.
1626
1627         * configure.in: Added the macros G_MAXU(SHORT|INT|LONG). I do not
1628         know how to handle these on platforms with /usr/include/values.h,
1629         but without /usr/include/limits.h. Please someone add this.
1630
1631
1632 1999-03-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1633
1634         * configure.in: Added the macros G_(U)?INT(8|16|32|64)_FORMAT to
1635         use for printf and (much more important) scanf format strings for
1636         the corresponding GLib types. 
1637
1638         * glib.h Added G_(U)?(SHORT|INT|LONG)_FORMAT for consistency. It
1639         however makes no sense to also provide G_(FLOAT|DOUBLE)_FORMAT, as
1640         they are different for printf (f for both) and scanf (f for float,
1641         lf for double). Defining G_INT_FORMAT makes sense however, as we
1642         might want to define gint to something different than int someday
1643         in the future. Idea from Sascha Brawer <sb@adasys.ch>.
1644         
1645 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
1646
1647         * gdate.c:
1648         Commented out debugging output.
1649
1650         * tests/Makefile.am, tests/date-test.c:
1651         Added test of the GDate module, based closely on testgdate.c.
1652
1653         * tests/Makefile.am:
1654         Bugfix - compile tests with @GLIB_DEBUG_FLAGS@.
1655
1656 1999-03-14  Raja R Harinath  <harinath@cs.umn.edu>
1657
1658         * configure.in (glibconfig.h): Remove widechar tests and defines.
1659         (fd_set): Change the grep for `fd_mask' to search for `fd_set'.
1660         * gerror.c (fd_mask): Remove conditional typedef.  It is not used
1661         elsewhere in the file.
1662         * gmain.c (fd_mask): Likewise.
1663
1664 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1665
1666         * configure.in: Test for posix threads first, then for dce threads.
1667
1668 1999-03-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1669
1670         * configure.in: Revamped the thread configure stuff. Now dce
1671         threads (old posix draft) are recogniced. This is necessary,
1672         because dce threads are in fact working quite differently from
1673         posix threads. Also changed the conditions for checking for MT
1674         safe functions a bit, because G_THREADS_IMPL_NONE still have to
1675         compile thread safe. NOTE: Please do not commit my change to
1676         glib-1-2/{acconfig.h,configure.in,config.h.win32} from 1999-03-03,
1677         as the current change will take care of that too.
1678
1679 Tue Mar  9 14:37:32 1999  Jeff Garzik  <jgarzik@pobox.com>
1680
1681         * Makefile.am, glib.h, gstack.c, gqueue.c,
1682           tests/Makefile.am, tests/queue-test.c, tests/stack-test.c:
1683         Added stack, queue ADTs and related tests.
1684
1685         * glib.h, glist.c:
1686         New g_list_delete() function.
1687
1688 Sat Mar  6 11:03:08 1999  Asbjorn Pettersen  <ape@lrdpf.spacetec.no>
1689
1690         * gutils.c (g_get_any_init): add OS/2 changes.
1691         change '\\' in HOME to '/'.
1692
1693 1999-03-03  Josh MacDonald  <jmacd@spin.dsl.pacbell.net>
1694
1695         * glib.def: g_spaced_primes_closest was omitted here, so I
1696         couldn't build Xdelta on Windows.
1697
1698 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1699
1700         * gutils.c (g_get_any_init): Fixed yet another bloody
1701         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
1702         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
1703         test better than that, but have no idea, how to do that easily.
1704
1705 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
1706
1707         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
1708         new one.
1709
1710         * configure.in: set glib version to 1.3.0.