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