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