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