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