Added g_static_mutex_init to allow initialization of a GStaticMutex, that
[platform/upstream/glib.git] / ChangeLog.pre-2-12
1 2001-02-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2
3         * gthread.c, gthread.h: Added g_static_mutex_init to allow
4         initialization of a GStaticMutex, that can not be initialized with
5         G_STATIC_MUTEX_INIT, for example in allocated structures.
6
7 Wed Jan 31 13:46:58 2001  Owen Taylor  <otaylor@redhat.com>
8
9         * acinclude.m4 glib-gettext.m4: Fix problem with --disable-nls.
10
11 2001-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
12
13         * gthread.c, gthread.h: Added g_static_mutex_free to allow using
14         GStaticMutexes with limited lifetime without leaking.
15         
16         * configure.in: GStaticMutex doesn't have to provide extra space
17         for debugging information for G_ERRORCHECK_MUTEXES, as then the
18         non-default implementation (runtime_mutex) is used anyway.
19
20         * gthread.h (g_cond_wait): Added debug information for
21         g_mutex_free calls, if G_ERRORCHECK_MUTEXES is defined.
22
23 2001-01-29  Tor Lillqvist  <tml@iki.fi>
24
25         * glibconfig.h.win32.in: Use the same GMutex structure as the
26         configure-generated glibconfig.h does.
27
28         * gstrfuncs.c (g_strsignal): Declare strsignal() on Cygwin, too,
29         says jbdoll@kepri.re.kr.
30
31 2001-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
32
33         * gthread.c: Broadcast the condition, if there are waiting
34         readers, as all might read at the same time. Only signal the
35         writer thread, if there are no more readers.
36
37 2001-01-25  Tor Lillqvist  <tml@iki.fi>
38
39         * makefile.mingw.in
40         * */makefile.mingw.in: Protect the rule to rebuild makefile.mingw
41         if makefile.mingw.in has changed with a check if said .in file
42         exists. (This rule is mainly a convenience for yours truly.)
43
44         * giowin32.c: Socket support rewritten. It was utterly broken, and
45         untested in fact. We still do use a thread for each socket being
46         watched, but instead of blocking in recv() (which of course was
47         plain stupid for sockets being listen()ed on in a server-type
48         application), we block in select(). The read method for sockets
49         calls recv(). It is now possible for the application to call
50         accept(), recv() or send() in the callback, just like on
51         Unix. Tested with code kindly provided by Andrew Lanoix.
52
53         Rename g_io_channel_win32_new_stream_socket() to
54         g_io_channel_win32_new_socket() as it isn't restricted to stream
55         sockets.
56         
57         * gmain.c (g_poll): Related changes in the Win32 version of
58         g_poll(). When polling for messages, always do a PeekMessage()
59         first. We used to miss messages if several were posted between
60         calls to g_poll().
61
62         * giochannel.h: Improve Win32-related comments.
63
64         * gutf8.c: (Win32) Include <stdio.h> for sprintf.
65
66         * tests/gio-test.c: (Win32) Add tests for polling for Windows
67         messages.
68
69         * tests/makefile.mingw.in: Remove superfluous compilation command
70         line.
71
72 2001-01-23  Alex Larsson  <alexl@redhat.com>
73
74         * gmain.c (g_source_callback_unref): Free the callback
75         (g_source_set_callback): Initialize the callback refcount
76
77 2001-01-20  Tor Lillqvist  <tml@iki.fi>
78
79         * gutils.c (g_get_codeset): (Win32) Even if g_get_codeset() is
80         currently commented out from gutils.h, fix it to return the same
81         CP%d value as g_get_charset().
82
83 2001-01-19  Kjartan Maraas  <kmaraas@gnome.org>
84
85         * gconvert.c: Fix typo.
86         * gfileutils.c: Same here.
87         * configure.in: Added no to ALL_LINGUAS
88         
89 2001-01-17  Tor Lillqvist  <tml@iki.fi>
90
91         * gwin32.c (g_win32_getlocale, g_win32_error_message): Add doc
92         comments.
93         (g_win32_get_package_installation_directory): Add one parameter,
94         the name of a DLL in the package. Add possibility to use that to
95         deduce the installation directory if not entered into the
96         Registry. Make the return value dynamically allocated.
97         (g_win32_get_package_installation_subdirectory): New convenience
98         function.
99
100         * gutils.c (GLIB_LOCALE_DIR)
101         * gwin32.h: Adapt accordingly.
102
103         * testglib.c (main): Adapt tests accordingly.
104
105 Tue Jan 16 23:20:38 2001  Owen Taylor  <otaylor@redhat.com>
106
107         * gutils.c glibintl.h: Optimize for size rather than speed by
108         making _() always call _glib_gettext() instead of conditionally
109         calling gettext() or _glib_gettext_init. glib only uses translated
110         strings in slow error handling code anyways.
111
112         * glibintl.h: g'ify types.
113
114         * Makefile.am: include glibintl.h in _SOURCES
115
116 2001-01-17  Tor Lillqvist  <tml@iki.fi>
117
118         * config.h.win32.in: Define ENABLE_NLS and GETTEXT_PACKAGE.
119
120         * makefile.mingw.in
121         * makefile.msc.in: Use the GNU intl library.
122
123         * gwin32.c (g_win32_get_package_installation_directory): New
124         function. To be used by various GLib-using packages to get their
125         installation directory, which should be stored in the Registry by
126         some installer.
127
128         * gwin32.h: Declare it.
129
130         * testglib.c (main): Test it.
131
132         * gutils.c: On Win32, define GLIB_LOCALE_DIR using
133         g_win32_get_package_installation_directory().
134
135         * glib.def: Update.
136
137 Mon Jan 15 21:39:06 2001  Owen Taylor  <otaylor@redhat.com>
138
139         * glib-2.0.pc.in (Libs) glib-config-2.0.in: Add @INTLLIBS@.
140
141 Mon Jan 15 21:12:49 2001  Owen Taylor  <otaylor@redhat.com>
142
143         * configure.in acconfig.h glibintl.h gutils.c
144         po/{Makefile.in.in,POTFILES.in,po2tbl.in}: Add gettext
145         support.
146
147         * glib-gettext.m4 acinclude.m4: Clean up the GTK+ gettext macros
148         some more and put them in this file, though they also need
149         to be included in acinclude.m4 due to the brokeness of
150         aclocal.
151
152         * gspawn.c gspawn-win32.c gutf8.c gconvert.c gfileutils.c
153         gshell.c: Remove dummy _() #defines, include glibintl.m4.
154
155 2001-01-09  Tor Lillqvist  <tml@iki.fi>
156
157         * giowin32.c: Rework the changes needed to pass mainloop-test. Now
158         we don't need to call TerminateThread() after all, which is a
159         relief, as the docs have a BIG RED WARNING SIGN about using that
160         API. Instead, when closing a fd channel that has a reader thread
161         running, just mark it as non-running and additionally mark the fd
162         as ripe for closing. When the reader thread hopefully eventually
163         gets something (and EOF or some actual data), it will note that it
164         shouldn't be running, break out of the loop, and close the fd.
165
166         The socket channel closing code should probably be changed
167         similarily, but that will have to wait until I have a test case.
168         
169         (g_pipe_readable_msg, g_io_channel_win32_new_pipe,
170         g_io_channel_win32_new_pipe_with_wakeups,
171         g_io_channel_win32_pipe_request_wakeups,
172         g_io_channel_win32_pipe_readable): Remove these, have been
173         obsolete for some time.
174         
175         * gutils.c (g_basename, g_dirname): Don't warn about deprecation
176         on Win32. Code written for GLib 1.2 doesn't have much choice but
177         to use GLib >= 1.3 on Win32.
178
179         * glib.def: Update.
180
181 2001-01-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
182
183         * gmem.c: Made g_profile_mutex a GMutex* instead of
184         G_LOCK_DEFINE_STATIC to avoid deadlock for thread implementations
185         without native static mutexes. Contruct g_profile_mutex in
186         g_mem_init().
187
188 2001-01-06  Tor Lillqvist  <tml@iki.fi>
189
190         * gconvert.c (g_locale_to_utf8, g_locale_from_utf8): Get len using
191         strlen() if arg is negative in the Win32 code, too.
192
193         * giowin32.c: Changes necessary to be able to run
194         mainloop-test. We can't close the fd that our (internal) reader
195         thread is sitting doing a blocking read() from. We must terminate
196         the thread first. Keep track of thread handle, and close it when
197         thread is dying. Start reader thread with the lower-level
198         CreateThread() instead of _beginthreadex() from the C runtime, in
199         order to be able to use TerminateThread(). Hopefuly this isn't
200         harmful.
201
202         * glib.def: Update.
203
204         * tests/makefile.{mingw,msc}.in (TESTS): Add mainloop-test and
205         unicode-encoding.
206
207         * tests/mainloop-test.c: Portability: <unistd.h>, need <fcntl.h>
208         on Win32.
209
210         * tests/unicode-encoding.c (process): Add missing "line" argument
211         to fail(). On Win32, convert UTF-16LE, as libiconv'c ivonf always
212         converts to UTF-16BE if we ask for unspecific UTF-16.
213         (main) Handle also '\r'.
214
215 Fri Jan  5 11:25:42 2001  Owen Taylor  <otaylor@redhat.com>
216
217         * configure.in (PACKAGE): move $enable_debug down below
218         checks for GCC to avoid setting CFLAGS prematurely,
219         change checks to avoid adding -g twice.
220
221         * gutf8.c (g_ucs4_to_utf8): Support len < 0 to mean
222         0 termination.
223
224         * gutf8.c (g_utf8_to_ucs4): Terminate result with 0.
225
226         * tests/mainloop-test.c (main): Fix uses of 
227         g_main_loop_destroy().
228
229         * tests/unicode-encoding.c tests/Makefile.am tests/utf8.txt:
230         Tests for unicode-conversion code.
231
232         * gconvert.c (g_convert, g_convert_with_fallback): work around
233         a couple of GNU libc bugs.
234
235         * gconvert.[ch] (g_{locale,filename}_{to,from}_utf8): Standardize
236         arguments to match g_convert(). Document.
237
238         * gunicode.[ch]: 
239           - Implement conversion functions to and from UTF-16
240           - Standardize unicode conversion functions on prototype like
241             g_convert.
242           - Add a lot of error checking to unicode conversion functions.
243
244         * gunicode.[ch] (g_utf8_to_ucs4_fast): Add fast, non-checking
245         variant of g_utf8_to_ucs4.
246
247         * gutf8.c (g_utf8_validate): 
248          - add g_return_if_fail (str != NULL).
249          - add checks for overlong strings, non-valid Unicode characters (>= 110000)
250            and single surrogates.
251
252 2001-01-05  Tor Lillqvist  <tml@iki.fi>
253
254         * testglib.c (main): Add test for g_path_skip_root().
255
256         * gfileutils.c (g_file_open_tmp): (Win32:) Look also for (illegal)
257         forward slashes in the template.
258
259         * gutils.c (g_path_skip_root): On Win32, skip the \\server\share
260         part of UNC paths. On all platforms, skip several initial
261         slashes. Add a few comments.
262         (g_get_any_init): On Win32, in case HOME is Unix-style with
263         (forward) slashes (some other applications apparently set it up
264         this way, convert to backslashed form.
265
266         * configure.in (glib_os): Remove stray 'v'. Add case for mingw,
267         although using configure for mingw surely doesn't work yet.
268
269         * glib.def: Update.
270
271 2001-01-02  Havoc Pennington  <hp@redhat.com>
272
273         * configure.in: remove glib-config-2.0
274
275         * Makefile.am: remove glib-config-2.0
276
277 2001-01-03  Havoc Pennington  <hp@pobox.com>
278
279         * tests/Makefile.am (INCLUDES): -I$(top_srcdir)/gmodule, 
280         fix from Michael Meeks
281
282         * Makefile.am (INCLUDES): DISABLE was spelled wrong
283
284 Wed Jan  3 14:10:49 2001  Owen Taylor  <otaylor@redhat.com>
285
286         * gmain.[ch]: Switch GMainLoop to be ref/unref, use to
287         make dropping reference to running loop safe.
288
289 Wed Dec 13 20:41:49 2000  Owen Taylor  <otaylor@redhat.com>
290
291         * gmain.c (g_source_unref_internal): Unref callback->cb_data
292         if it was still set when the source is freed. (Usually, this
293         will be done by g_source_destroy.)
294
295 2001-01-02  Dan Winship  <danw@helixcode.com>
296
297         * garray.h (g_array_append_val, g_array_prepend_val,
298         g_array_insert_val): Use parentheses around an argument to make
299         these cause an error if you pass a non-lvalue for the value,
300         rather than silently doing the wrong thing.
301
302 2000-12-29  Tor Lillqvist  <tml@iki.fi>
303
304         * glibconfig.h.win32.in: Add GLIB_SIZEOF_VOID_P and GLIB_SIZEOF_LONG.
305
306         * glib.def: Update.
307
308         * {.,*}/makefile.{mingw,msc}.in: Add -DG_ENABLE_DEBUG.
309         
310 Fri Dec 29 14:53:18 2000  Tim Janik  <timj@gtk.org>
311
312         * configure.in: we can't grow _cv_ variables by using a backticked
313         expr that refers back to the variable (glib_cv_sizeof_system_thread for
314         G_THREAD_USE_PID_SURROGATE), that'd keep the variable growing every time
315         it's evaluated. quantum states, anyone?)
316
317 Thu Dec 28 10:21:46 2000  Tim Janik  <timj@gtk.org>
318
319         * gmem.[hc]: got rid of outdated dmalloc support. provide g_try_malloc()
320         and g_try_realloc() which _may_ fail and return NULL.
321         nuked g_mem_check(), provided GMemVTable for memory function
322         virtualization, alterable at program startup with g_mem_set_vtable().
323         provided glib_mem_profiler_table and g_mem_profile() to support limited
324         profiling information out of the box (uses mprotect() for free()ed areas
325         on linux).
326         provide globally visible G_MEM_ALIGN.
327         buncha cleanups.
328
329         * docs/macros.txt: file to get a clue about the various configuration
330         macros.
331
332         * docs/debugging.txt: explain debugging traps.
333
334         * configure.in: got rid of --enable-mem-check and --enable-mem-profile,
335         define GLIB_SIZEOF_VOID_P and GLIB_SIZEOF_LONG. check malloc prototypes
336         and define SANE_MALLOC_PROTOS is we can use them.
337         <boy, is this file a mess>
338
339         * gutils.c, gscanner.c: fix up compatibility warnings, use g_message().
340
341 2000-12-27  Tor Lillqvist  <tml@iki.fi>
342
343         * README.win32: Update.
344
345 2000-12-25  Tor Lillqvist  <tml@iki.fi>
346
347         * gmessages.c: (Win32) Use a MessageBox for fatal
348         messages. Collect eror message into a buffer, and display that.
349
350         * glib.def: Update.
351
352         * glibconfig.h.win32.in: Update. Remove unused wchar and wctype
353         macros, add G_MODULE_SUFFIX.
354
355 2000-12-24  Ali Abdin  <aliabdin@aucegypt.edu>
356
357         * Makefile.am, gcompat.h, glib.h: New gcompat.h header file
358           as recommended by Havoc.
359
360         * gdate.c, gdate.h, testgdate.c,
361           docs/reference/glib/glib-sections.txt,
362           docs/reference/glib/tmpl/date.sgml, tests/date-test.c: Rename some
363           of the gdate functions to use the '_get' in their name. Patch
364           reviewed by Havoc.
365                 
366 2000-12-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
367
368         * configure.in: Determine the suffix of the shared librarries for
369         this system. This is done analogous to
370         ltconfig.sh. G_MODULE_SUFFIX in glibconfig.h is set to either
371         "sl", "dll", or (most often) "so".
372
373         * tests/Makefile.am, tests/module-test.c,
374         tests/libmoduletestplugin_a.c, tests/libmoduletestplugin_b.c:
375         Added new testcase for gmodule. This is mostly copied from
376         gmodule/testgmodule.c, but unlike that is is quiet. (Why BTW are
377         some tests that verbose, not to say loquacious...)
378
379 2000-12-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
380
381         * grand.c: Updated G_RAND_DOUBLE_TRANSFORM to be more
382         accurate. Redid g_rand_double() such that it returns 52 bits after
383         the point instead of 32 as before. That OTOH requires calling
384         g_rand_int() twice. Overhauled g_rand_int_range(), which is easier
385         now thanks to the new precision of g_rand_double(). Thanks to
386         Sverre Johansen <sj@ifi.uio.no> for the hint.
387
388         * grand.h: Added g_rand_boolean() and g_random_boolean()
389         macros. While they could be omitted due to extreme simplicity,
390         they make intention clearer in code and are therefore good to have.
391
392         * grand.c, grand.h: Renamed all 'min' and 'max' parameters to'
393         begin' and 'end' resp. to avoid making people think, that 'max' is
394         included in the interval. 'end' now isn't, whereas 'begin'
395         is. That's similar to the use in the STL.
396
397         * gslist.c, glist.c: Ok, I'm a moron. When I originally
398         implemented ENABLE_GC_FRIENDLY, I forgot to include config.h into
399         the affected files. Now that Alex did that for those two,
400         inevitable typos surfaced, which are now fixed.
401         
402         * garray.c, ghash.c, gqueue.c, gtree.c: Include config.h as well,
403         as ENABLE_GC_FRIENDLY should be known.
404
405 2000-12-19  Alexander Larsson  <alexl@redhat.com>
406
407         * configure.in:
408         Added --disable-mem-pools option.
409
410         * glist.c:
411         * gslist.c:
412         * gnode.c:
413         * gmem.c:
414         Disable free list and memory chunks if DISABLE_MEM_POOLS is defined.
415
416 2000-12-17  Tor Lillqvist  <tml@iki.fi>
417
418         * gutf8.c (g_utf8_get_charset_internal): (Win32) Use GetACP to get
419         the current ANSI codepage.
420
421         * gunicode.h: Add comment that the static string g_get_charset
422         sets the parameter to point to should be copied in case the
423         charset might be changed later in the program.
424
425 2000-12-14  Tor Lillqvist  <tml@iki.fi>
426
427         * makefile.{mingw,msc}.in: No need to -DGSPAWN_HELPER when
428         compiling gspawn-win32-helper any longer.
429
430         * giowin32.c (g_io_win32_dispatch): Warn if no callback. Call
431         callback correctly.
432         (g_io_win32_create_watch): Fix typo.
433         (g_io_win32_fd_create_watch): Ditto.
434         (g_io_channel_unix_new): If it is a file descriptor (i.e., a Unix
435         fd lookalike provided by the C library), call
436         g_io_channel_win32_new_fd(). If it is a socket (from WinSock),
437         call g_io_cahnnel_win32_new_stream_socket(). Hopefully sockets and
438         fds don't overlap. TODO: Implement also datagram sockets.
439         (g_io_channel_win32_poll): Call g_main_context_get_poll_func().
440
441         * gcompletion.h: Include <unistd.h> only on Unix. Is this
442         inclusion really needed here? OTOH, do include <stddef.h>, for
443         size_t.
444
445         * gmessages.c: (Win32) Don't define a function called "write" that
446         might clash with the prototype from <io.h>, use a #define.
447
448         * glib.def: Update.
449
450         * gmain.c (g_source_add_poll): Don't return a value from void
451         function.
452         (g_main_context_get_poll_func): Compile also for non-Win32, as
453         presumably was intended. The result var is a GPollFunc, not a
454         GPollFunc*. Return the result!
455
456 2000-12-13  Havoc Pennington  <hp@redhat.com>
457
458         * gconvert.c (open_converter): make static
459
460         * gutf8.c (g_utf8_validate): Simplify logic a bit, maybe 
461         speeding it up - now we just return FALSE if we had to bail out
462         for any reason before getting to the end of the string, as defined 
463         by a nul byte if len was -1, defined by the len otherwise. This 
464         also fixes a bug where nul bytes were not treated as invalid 
465         when the length was specified.
466
467 2000-12-12  Havoc Pennington  <hp@pobox.com>
468
469         * gmain.c (g_main_context_destroy): don't try to use thread stuff
470         unless G_THREADS_ENABLED
471         (g_main_context_query): ditto
472         (g_main_context_check): ditto
473         (g_main_loop_quit): ditto
474
475 Tue Dec 12 18:58:22 2000  Tim Janik  <timj@gtk.org>
476
477         * ghash.c (g_hash_table_remove): return whether a value
478         got removed.
479
480 Tue Dec 12 15:18:10 2000  Owen Taylor  <otaylor@redhat.com>
481
482         * gmain.[ch]: Revert unauthorized changes.
483
484 2000-12-12  Elliot Lee  <sopwith@redhat.com>
485
486         * gmain.c, gmain.h (g_main_context_new, g_main_context_destroy):
487         GMainContext useful in implementing some additional styles of
488         main loop usage.  To do this, however, Joe Hacker needs to be able
489         to create/destroy GMainContext's at will. This is just an export
490         of existing functionality, rather than any new functionality.
491
492         They are listed in the "Low level functions for implementing custom
493         main loops" section of the header file, to avoid confusing people.
494
495 Sun Dec 10 10:47:11 2000  Owen Taylor  <otaylor@redhat.com>
496
497         * gmain.c (g_source_destroy_internal): Remove pollfds
498         from the context here, not when actually freeing the
499         source.
500
501         * gmain.c (g_source_unref_internal): Free source list
502         and source, call source->source_funcs->destroy().
503
504         * giochannel.c: Unreference io_channel properly.
505
506 Thu Dec  7 15:22:30 2000  Owen Taylor  <otaylor@redhat.com>
507
508         * tests/mainloop-test.c (recurser_start): Add a bunch
509         of unrefs.
510
511         * gmain.c (g_source_attach): Reference the source
512         when adding (pointed out by Elliot)
513
514 2000-12-08  Raja R Harinath  <harinath@cs.umn.edu>
515
516         * acglib.m4 (GLIB_AC_DIVERT_BEFORE_HELP): 
517         Rename from GLIB_DIVERT_BEFORE_HELP.  
518         Update to track autoconf 2.49b.
519         * configure.in: Reflect above change.
520         (AC_EGREP_HEADER): Rename from really obselete AC_HEADER_EGREP.
521         (debug_default): Replace "if test `expr ...`" with "case". 
522
523         * tests/Makefile.am (TESTS): Rearrange into other variables, and
524         include run-markup-tests.sh.
525         (TESTS_ENVIRONMENT): New.  Pass $srcdir to tests.
526         (noinst_PROGRAMS): Rename to ...
527         (check_PROGRAMS): ... this.  'automake' ensures that these are
528         built before running the tests.
529         * tests/run-markup-tests.sh: Support $srcdir != $builddir.
530
531 2000-12-08  Havoc Pennington  <hp@pobox.com>
532
533         * tests/Makefile.am (TESTS): move markup-test to noinst_PROGRAMS;
534         it isn't a proper test, the proper test would be 
535         run-markup-tests.sh, but that can't go in tests, so we need 
536         a manual make check rule. Didn't do that yet.
537
538 2000-12-07  Raja R Harinath  <harinath@cs.umn.edu>
539
540         * gmain.h: Don't put anything after an #endif.
541         * gmain.c: Likewise.
542
543 2000-12-06  Havoc Pennington  <hp@pobox.com>
544
545         * tests/strfunc-test.c (main): add g_strdupv test
546
547         * gstrfuncs.c (g_strdupv): Add a function to copy 
548         an array of strings
549
550 Tue Dec  5 12:23:04 2000  Owen Taylor  <otaylor@redhat.com>
551
552         * gmain.[hc]: Major change in API for creating sources
553         to handle multiple main loops (GMainContext *). 
554
555         GSources are now exposed as GSource * and implemented
556         with structure derivation.
557
558         * giochannel.[ch]: Changed vtable for GIOChannel to correspond
559         to the new mainloop API, add g_io_channel_create_watch().
560          
561         * gtypes.h: Move GTimeVal here.
562
563         * gthread.h: Remove gmain.h include to avoid circularity.
564         
565         * giounix.c: Update for new GMain API.
566          
567         * giowin32.c: Update for new GMain API. (No check for
568         proper compilation or working.)
569
570         * timeloop.c timeloop-basic.c: A benchmarking program for
571         the main loop comparing the main loop against a 
572         hand-written (timeloop-basic.c) variant. 
573
574         * tests/mainloop-test.c: New torture test of mainloop.
575         
576         * docs/Changes-2.0.txt: Started. Added text about
577         changes to GMain.
578
579         * gmain.c (g_main_add_poll_unlocked): Initial fd->revents
580         to zero. (#8482, Benjamin Kahn)
581
582 2000-12-01  Tor Lillqvist  <tml@iki.fi>
583
584         * {.,*}/makefile.msc.in: Include make.msc from GLib's build subdir.
585
586         * makefile.{mingw,msc}.in (glib_OBJECTS): Add gunibreak.
587
588         * glib.def: Update correspondingly.
589
590 2000-11-21  Havoc Pennington  <hp@pobox.com>
591
592         * gmacros.h: Provide G_CONST_RETURN which is 'const' by default,
593         and nothing when G_DISABLE_CONST_RETURNS is defined.
594
595 2000-11-29  Havoc Pennington  <hp@redhat.com>
596
597         * gunidecomp.c (COMBINING_CLASS): 
598         s/UNICODE_LAST_CHAR/G_UNICODE_LAST_CHAR/
599
600         * gunichartables.h: Update for data in Unicode 3.0.1
601
602         * gunidecomp.h: Ditto
603         
604         * gunicode.h (GUnicodeBreakType): Enum for line break properties
605         (g_unichar_break_type): Get the break property for a char
606         
607         * gunibreak.h: Autogenerated line break property tables
608
609         * gunibreak.c (g_unichar_break_type): added 
610         
611         * Makefile.am (EXTRA_DIST): dist gen-unicode-tables.pl
612
613         * Makefile.am (libglib_1_3_la_SOURCES): Add gunibreak.h, gunibreak.c
614         
615         * gen-unicode-tables.pl: Include the script to update the unicode
616         char tables
617
618 2000-11-28  Elliot Lee  <sopwith@redhat.com>
619
620         * gmarkup.c: Fix warnings.
621
622         * guniprop.c, gunidecomp.c: Make warnings go away by using
623         GPOINTER_TO_INT() instead of (int).
624
625         * gcompletion.[ch]: Add g_completion_set_compare(),
626         to allow (for example) using case-insensitive completion.
627
628 2000-11-28  Tor Lillqvist  <tml@iki.fi>
629
630         Patches by Hans Breuer:
631         
632         * gspawn-win32.c: Move the code for gspawn-win32-helper to its own
633         file.
634
635         * makefile.{mingw,msc}.in: Change accordingly.
636
637         * gspawn-win32-helper.c: New file.
638
639         * Makefile.am (EXTRA_DIST): Add it.
640
641         * gmarkup.c (find_current_text_end): Fix assertion not to check an
642         uninitialised variable.
643
644 2000-11-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
645
646         * gthread.c: Set the thread data before locking the mutex, because
647         the locking call might use g_thread_self ().
648
649         * gthread.h: Do only show the location of the locking/unlocking
650         for -DG_ERRORCHECK_MUTEXES and not the name of the mutex. Add the
651         errorcheck capability for g_cond_wait and g_cond_timed_wait as
652         well.   
653
654 2000-11-27  Havoc Pennington  <hp@redhat.com>
655
656         * gthread.h: Add void in empty function arg list
657
658 2000-11-22  Tor Lillqvist  <tml@iki.fi>
659
660         * makefile.{mingw,msc}.in: Add gqsort.
661
662         * glib.def: Update.
663
664 2000-11-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
665
666         * configure.in: Add a surrogate for thread priorities using PID
667         niceness for systems with no thread priorities and different PIDs
668         for threads of the same process (most notably: Linux). Define
669         G_THREAD_USE_PID_SURROGATE in that case, as used by
670         gthread-posix.c. Also make the system thread bigger by
671         sizeof (long) to contain the thread's PID.
672
673         * gfileutils.c: Include stdlib.h for mkstemp prototype.
674
675         * gthread.c: Add priority range checks to the affected functions.
676
677         * gthreadpool.c: Remove unused variable.
678
679 Mon Nov 20 18:55:17 2000  Jonathan Blandford  <jrb@redhat.com>
680
681         * gtree.[hc]: Patch from David Benson <daveb@idealab.com> to add
682         user_data support to gtree functions.
683
684 Mon Nov 13 18:35:52 2000  Jonathan Blandford  <jrb@redhat.com>
685
686         * gtypes.h (GCompareFuncData): new func type to let you use user
687         data when comparing nodes.
688
689         * gslist.c (g_list_sort_with_data): new function to sort with
690         user_data. 
691
692         * glist.c (g_list_sort_with_data): new function to sort with
693         user_data. 
694
695         * garray.[ch]: Added convenience functions to sort arrays.
696
697 2000-11-16  Havoc Pennington  <hp@redhat.com>
698
699         * guniprop.c (g_unichar_isspace): Use a switch here, maybe helps 
700         the compiler optimize things. Also, ' ' is a SPACE_SEPARATOR,
701         so don't special case it.
702
703 2000-11-17  Tor Lillqvist  <tml@iki.fi>
704
705         * glib.def: Add g_trash_stack entry points.
706
707 Fri Nov 17 15:43:00 2000  Owen Taylor  <otaylor@redhat.com>
708
709         * Released 1.3.2
710         
711         * NEWS: Update.
712
713         * tests/Makefile.am (dist-hook): Add code to distribute
714         markup test files.
715
716 2000-11-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
717
718         * configure.in: Check for the sched.h header and include it on
719         gthread/gthread-posix.c if available.
720
721         * configure.in: Add -D_POSIX4_DRAFT_SOURCE to
722         GTHREAD_COMPILE_IMPL_DEFINES. Also add -D_POSIX4A_DRAFT10_SOURCE
723         to G_THREAD_CFLAGS. Really deploy GTHREAD_COMPILE_IMPL_DEFINES,
724         when searching for thread libs. Look for sched_* functions in
725         -lrte as well. All of that is necessary on DG/UX.
726
727         * configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADERS in
728         various places to make it work more reliable, to make it accept
729         macros instead of functions etc.
730
731         * configure.in: Replace some NULL's for checks with 0 to make it
732         work without stdio.h everywhere.
733
734         * configure.in, gutils.c: changed the test for getpwuid_r to first
735         test for a posix version and then for a non-posix version. No code
736         change in gutils.c. Again this change deals better with getpwuid_r
737         being a macro and not a function. Most of the above with kind help
738         from Tethys <tet@isengard.europe.dg.com>. This fixes Bug #13403.
739         
740 2000-11-14  Tor Lillqvist  <tml@iki.fi>
741
742         * gwin32.h: Make #endif comment match #ifdef.
743
744 Mon Nov 13 14:00:20 2000  Owen Taylor  <otaylor@redhat.com>
745
746         * configure.in: Up version to 1.3.2
747
748         * gconvert.h (enum GConvertError): Remove trailing ,
749
750         * gfileutils.c (g_file_open_tmp): Fix comment to 
751         properly describe return value.
752
753 2000-11-13  Tor Lillqvist  <tml@iki.fi>
754
755         * config.h.win32.in: Add USE_LIBICONV.
756
757         * gconvert.c: Check G_OS_WIN32 only after including glib.h. 
758
759         * glib.def: Update.
760
761 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
762
763         * gthread.c (g_static_rec_mutex_*): Made recursive mutexes also
764         work when the thread system is not (yet) initialized.
765
766 Sun Nov 12 18:34:32 2000  Owen Taylor  <otaylor@redhat.com>
767
768         * gconvert.[ch]: Create wrapper functions for iconv()
769         so that we can transparently use the native iconv, 
770         libiconv, or (in the future) a mini-iconv included
771         with glib.
772
773         * glib-config-2.0.in glib-2.0.pc.in: Include @ICONV_LIBS@
774
775         * INSTALL: Added note about libiconv.
776
777         * configure.in: Add checks for libiconv from pango. If
778         EILSEQ is not defined in errno.h add define for it into
779         glibconfig.h so g_iconv can use it. (Note, recompiling
780         from a system without EILSEQ to a system with EILSEQ
781         will break binary compatibility)
782
783 2000-11-12  Robert Brady  <robert@suse.co.uk>
784
785         * gstrfuncs.c, gstrfuncs.h: Remove g_filename_{to,from}_utf8
786
787         * gconvert.c, gconvert.h: Add g_filename_{to,from}_utf8 and
788         g_locale_{to.from}_utf8.  The locale_ variant honours 
789         nl_langinfo(CODESET), the filename_ variant uses UTF-8 unless
790         asked otherwise.
791
792         (g_convert): Add G_CONVERT_ERROR_PARTIAL_INPUT error, if bytesread
793         != length and no bytesread pointer passed.
794
795 Sun Nov 12 15:29:53 2000  Owen Taylor  <otaylor@redhat.com>
796
797         * gfileutils.[ch]: template is a reserved word in
798         C++ s/template/tmpl/. 
799
800 2000-11-11  Havoc Pennington  <hp@pobox.com>
801
802         * gmarkup.c (g_markup_parse_context_parse): Handle a long stream
803         of bytes containing no UTF-8 character starts
804
805 2000-11-11  Tor Lillqvist  <tml@iki.fi>
806
807         * glib.def: Add missing entry points.
808
809         * gfileutils.c (g_mkstemp): Improve chance to generate unique
810         names with less effort a bit.
811
812         * gfileutils.h: Add g_file_open_tmp() declaration.
813
814         * testglib.c: Include <io.h> on Win32.
815
816         * makefile.mingw.in: Correct the way to invoke sub-makes.
817
818 Sun Nov  5 13:20:54 2000  Owen Taylor  <otaylor@redhat.com>
819
820         * glib-object.h: Add gtypemodule.h
821
822 2000-11-11  Tor Lillqvist  <tml@iki.fi>
823
824         * gfileutils.c (g_file_open_tmp): New function, suggested by Havoc
825         earlier this month.
826         (g_mkstemp): Use only one case for letters in temp file name, as
827         this will be used on systems with case-insensitive file systems.
828
829         * testglib.c (main): Test g_mkstemp() and g_file_open_tmp().
830
831 2000-11-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
832
833         * gthreadpool.c: Don't take other threads with other priorities
834         into account as changing the priority is highly
835         unportable. (Actually using it at all already is unportable, but
836         even sometimes where that works, changing priority is not
837         possible).
838
839 2000-11-05  Havoc Pennington  <hp@pobox.com>
840
841         * gmarkup.h: rename G_MARKUP_FOO to
842         G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG
843
844         * gmarkup.c: don't start doc comments with "Returns"
845         
846 2000-11-05  Havoc Pennington  <hp@pobox.com>
847
848         * gmarkup.c: inline docs
849         (unescape_text): properly check strtoul for failure.
850         
851         * gerror.c (g_propagate_error): Free the src error if the dest
852         location is NULL - I'm pretty sure that's what this function was 
853         supposed to do.
854
855 2000-11-05  Havoc Pennington  <hp@pobox.com>
856
857         * gutils.c (g_find_program_in_path): cleanup docs, sync param 
858         names to those in the header
859
860         * gfileutils.c (g_mkstemp): clean up docs
861
862         * gshell.h: sync param names with param names in .c file
863
864         * gfileutils.h (enum GFileTest): remove trailing comma from last
865         member, confuses gtk-doc
866
867         * gmarkup.h: s/GMarkupErrorType/GMarkupError/g; to follow
868         convention
869
870 2000-11-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
871
872         * gasyncqueue.c: Added documentation for asyncronous queues.
873
874         * gspawn.c: Include sys/select.h (some platforms need it for
875         select). 
876
877         * gspawn.c: Changed unportable __FUNCTION__ to the verbatim
878         function name.
879
880 2000-10-31  Tor Lillqvist  <tml@iki.fi>
881
882         * gutils.c
883         * gutils.h
884         * gfileutils.c
885         * gfileutils.h: Actually, g_mkstemp() is better suited in gfileutils.
886
887 2000-10-30  Tor Lillqvist  <tml@iki.fi>
888
889         * configure.in: Check for mkstemp.
890
891         * gutils.c (g_mkstemp): New function. If HAVE_MKSTEMP, just call
892         it, otherwise use code lifted from glibc.
893
894         * gutils.h: Declare it.
895
896         * glib.def: Here, too. Plus two missing functions.
897
898 2000-10-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
899
900         * gcache.h, gcache.c, ghash.h, ghash.c, grel.c, grel.h, gtypes.h:
901         Introduced new function type GEqualFunc to return TRUE for equal
902         params. This is now used instead of GCompareFunc (which should
903         work akin to strcmp) here. This kind of fixes Bug #14412. Note
904         that technically GCompareFunc and GEqualFunc are still the same
905         types, as gint == gboolean.
906
907         * ghash.h, gutils.c: g_int_equal and g_direct_equal now return
908         gboolean to be really become GEqualFunc.
909
910         * gscanner.c, testglib.c, tests/hash-test.c: Some tiny changes to
911         follow the above change.
912
913 2000-10-27  Tor Lillqvist  <tml@iki.fi>
914
915         * makefile.{mingw,msc}.in (glib_OBJECTS): Add gmarkup.
916
917         * glib.def: Add missing functions.
918
919         * tests/makefile.{mingw,msc}.in (TESTS): Add markup-test.
920
921 2000-10-24  Havoc Pennington  <hp@pobox.com>
922
923         * gmarkup.h, gmarkup.c: New module to parse a simple
924         markup language
925         
926         * Makefile.am: add gmarkup.h, gmarkup.c
927
928         * tests/Makefile.am: add markup-test
929
930         * gstring.h (g_string_new_len): new function to create a string
931         with a length
932         (g_string_new): avoid a gratuitous realloc
933
934 2000-10-26  Tor Lillqvist  <tml@iki.fi>
935
936         * makefile.{mingw,msc}.in: Cosmetics.
937
938 2000-10-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
939
940         * gstrfuncs.c (g_strsplit): When the string is ended by a
941         delimiter, return an extra empty string just like for a delimiter
942         at the start of the string. This makes the function behave more
943         consistent and also fixes Bug #15026.
944
945 Tue Oct 24 22:09:14 2000  Tim Janik  <timj@gtk.org>
946
947         * glib-object.h: added newly added gobject/ headers.
948
949         * gmesage.c: print g_message() output to stderr instead of stdout.
950
951 2000-10-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
952
953         * configure.in: Use one = instead of two, which is plainly wrong.
954
955 2000-10-19  Tor Lillqvist  <tml@iki.fi>
956
957         * makefile.msc.in: Pass -DGSPAWN_HELPER when building it. Link
958         with user32.lib.
959
960         * gspawn-win32.c
961         * gfileutils.c: Make them compile with picky MSVC.
962
963         * gwin32.h: New file. Move Win32-only stuff that isn't related to
964         GIOChannels here from giochannel.h.
965
966         * Makefile.am: Add it here.
967
968         * giochannel.h: Move stuff to gwin32.h.
969
970         * glib.h: On Win32, include gwin32.h.
971
972 Mon Sep 11 10:03:24 2000  Owen Taylor  <otaylor@redhat.com>
973
974         * glib.h convert.c (g_convert_with_fallback): Change
975         ERROR_OTHER to ERROR_FAILED, add some dummy marking with _().
976
977         * docs/reference/glib/glib-sections.txt
978         docs/reference/glib/glib-docs.sgml Update for g_convert,
979         g_unicode_validate.
980
981 2000-10-16  Tor Lillqvist  <tml@iki.fi>
982
983         * glibconfig.h.win32.in: Remove alloca stuff from here. galloca.h
984         takes care of it, correctly.
985
986         * giowin32.c (reader_thread): Some more debugging output.
987         (g_io_channel_win32_poll): Remove unused vars.
988
989         * gfileutils.c: Changes for Win32, with no unistd.h and no
990         S_ISLNK().
991
992         * gspawn-win32.c: Implementation of the g_spwan_* functions for
993         Win32. Due to the general non-Unixness of Win32, much of the
994         functionality that is relatively clean to implement on Unix, is
995         hard to do on Win32. We must use a separate helper program to
996         change directory, close extra file descriptors, redirect the std
997         ones, as needed, and only then start the child process. No child
998         process pid can be returned, unfortunately. Or if we used
999         CreateProcess directly, it probably could. (Now we use the spawnv*
1000         functions from msvcrt.)
1001
1002         * Makefile.am (EXTRA_DIST): Add gspawn-win32.c
1003
1004         * glib.def: Add new entry points.
1005
1006         * glib.def
1007         * giowin32.c: Remove g_io_channel_win32_wait_for_condition(),
1008         g_io_channel_win32_poll() subsumes it.
1009
1010         * gbacktrace.h: G_BREAKPOINT for MSVC (on the ix86).
1011
1012         * gwin32.c (g_win32_getlocale): Use "sp" for
1013         LANG_CROATIAN+SUBLANG_SERBIAN_LATIN.
1014
1015         * makefile.{mingw,msc}.in (glib_OBJECTS): Add new files.
1016         Add gspawn-win32-helper.exe rule.
1017
1018         * tests/makefile.{mingw,msc}.in (TESTS): Add shell-test and
1019         spawn-test.
1020
1021         * tests/spawn-test.c: (run_tests): On Win32, don't try to run
1022         /bin/sh, but ipconfig (no special significance in choosing that,
1023         just a program that outputs something to stdout).
1024
1025 2000-10-15  Raja R Harinath  <harinath@cs.umn.edu>
1026
1027         Remove need for acconfig.h, and misc. cleanups.
1028         * acglib.m4 (GLIB_SIZEOF): Add 'autoheader' comment to
1029         AC_DEFINE_UNQUOTED.
1030         (GLIB_BYTE_CONTENTS): Likewise.
1031
1032         * configure.in: Add 'autoheader' comments to all AC_DEFINE(...)
1033         and AC_DEFINE_UNQUOTED(...) lines.
1034         Replace AC_MSG_CHECKING/AC_CACHE_VAL with AC_CACHE_CHECK.
1035         (AM_PROG_LIBTOOL): Move after AC_PROG_CC.
1036         
1037         * acconfig.h: Empty out.
1038
1039         * Makefile.am (BUILT_EXTRA_DIST): New variable.  List 'dist'able
1040         files that are created in the builddir.
1041         (dist-hook): Handle those files.
1042         (libglib_1_3_la_SOURCES): Remove @ALLOCA@.  @ALLOCA@ should only
1043         be used in an _LDADD or _LIBADD, since it expands (if necessary)
1044         to 'alloca.o'.
1045
1046         * tests/Makefile.am (BUILT_EXTRA_DIST): New variable.
1047         (dist-hook): Handle $(BUILT_EXTRA_DIST).
1048         
1049 2000-10-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1050
1051         * grand.c: Added inline documentation. 
1052
1053         * gtypes.h, gnode.h, gutils.h: Readded GFreeFunc,
1054         g_node_insert_after and g_find_program_in_path resp., which
1055         mysteriously disappeared during the glib.h dissection.
1056
1057 2000-10-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1058
1059         * glibconfig.h.win32.in: Adapted accordingly to header separation
1060         and GLIB_HAVE_ALLOCA_H renaming.
1061
1062         * Makefile.am: Added the new headers to glibinclude_HEADERS.
1063
1064         * glib.h: Forgot to include gerror.h.
1065
1066         * glib.h, galloca.h, garray.h, gasyncqueue.h, gbacktrace.h,
1067         gcache.h, gcompletion.h, gconvert.h, gdataset.h, gdate.h, ghash.h,
1068         ghook.h, giochannel.h, glist.h , gmacros.h, gmain.h, gmem.h,
1069         gmessages.h, gnode.h, gprimes.h, gquark.h, gqueue.h, grand.h,
1070         grel.h, gscanner.h, gslist.h, gstrfuncs.h, gstring.h, gthread.h,
1071         gthreadpool.h, gtimer.h, gtree.h, gtypes.h, gutils.h: Split glib.h
1072         into many header files mostly according to the resp. *.c-files.
1073         
1074         * gmacros.h: Added G_BEGIN_DECLS and G_END_DECLS to mean: 'in case
1075         of C++: extern "C" { ... }' analogous to glibc __BEGIN_DECLS and
1076         __END_DECLS.
1077
1078         * configure.in, gerror.h, gfileutils.h, gshell.h, gspawn.h,
1079         gunicode.h, : Changed guard-macro names to something more
1080         consistent.
1081
1082         * configure.in, *.h: Use G_BEGIN_DECLS and G_END_DECLS.
1083
1084         * configure.in: Defined GLIB_HAVE_ALLOCA_H instead of including
1085         alloca.h in glibconfig.h, GLIB_HAVE_ALLOCA_H is used in glib.h.
1086
1087         * configure.in: Removed cruft from old threading code.
1088
1089 2000-10-09  Raja R Harinath  <harinath@cs.umn.edu>
1090
1091         Work with beta autoconf 2.50.
1092         * configure.in (GLIB_MAJOR_VERSION): Use GLIB_DIVERT_BEFORE_HELP
1093         instead of AC_DIVERT_PUSH(),AC_DIVERT_POP.
1094         (AC_CHECK_HEADERS): Remove redundant AC_DEFINE(HAVE_...).
1095         (REALLOC_0_WORKS): Move AC_DEFINE outside AC_CACHE_VAL.
1096         (dlopen): Quote nested AC_CHECK_... calls.
1097
1098         * acglib.m4 (GLIB_TR_SH, GLIB_TR_CPP): Utility macros copied from
1099         beta autoconf 2.50.
1100         (GLIB_DIVERT_BEFORE_HELP): New macro that works both with autoconf
1101         2.13 and beta autoconf 2.50.
1102         (GLIB_SIZEOF, GLIB_BYTECONTENTS): Use GLIB_TR_*.
1103
1104         * Makefile.am (CONFIGURE_DEPENDENCIES): Use this to specify
1105         that 'configure' depends on acglib.m4.
1106
1107 2000-10-09  Havoc Pennington  <hp@redhat.com>
1108
1109         * Makefile.am, tests/Makefile.am: Add new files.
1110
1111         * tests/spawn-test.c, tests/shell-test.c: new tests for
1112         the shell/spawn stuff
1113
1114         * gutils.c (g_find_program_in_path): convert a relative
1115         program name into an absolute pathname to an existing 
1116         executable
1117
1118         * gspawn.h, gspawn.c: New fork/exec API
1119
1120         * gshell.h, gshell.c: Shell-related utilities, at the moment
1121         simply routines to parse argv and quote/unquote strings
1122
1123         * guniprop.c (g_unichar_isspace): Return TRUE for the 
1124         ASCII space characters isspace() returns TRUE for.
1125
1126         * gfileutils.c (g_file_get_contents): Convenience function 
1127         to slurp entire file into a string and return it. Partially
1128         written by Joel Becker.
1129         (g_file_test): file test function
1130
1131 2000-10-06  Tor Lillqvist  <tml@iki.fi>
1132
1133         * makefile.msc.in: Revamp to be like makefile.mingw.in, make
1134         the MSVC build actually work again.
1135
1136         * gmodule/makefile.msc.in
1137         * gobject/makefile.msc.in
1138         * gthread/makefile.msc.in: New files, like their mingw counterparts.
1139
1140         * gmodule/Makefile.am
1141         * gobject/Makefile.am
1142         * gthread/Makefile.am: Make and distribute them.
1143
1144         * */makefile.mingw.in: Allow override of GLib version number from
1145         the build/win32/module.defs file.
1146
1147         * glib.def: Add new entry point.
1148
1149         * tests/gio-test.c (main): Fix the Win32-only code to use current
1150         API, g_io_channel_win32_make_pollfd() and g_io_channel_win32_poll().
1151
1152         Fixes from Hans Breuer:
1153
1154         * glib.h (struct DIR): Keep the last readdir result cached inside
1155         the DIR struct, to enable several DIRs being open simultaneously.
1156
1157         * gwin32.c (g_win32_readdir): Use the above instead of static.
1158
1159         * giowin32.c (g_io_channel_win32_make_pollfd): Insert cast to keep
1160         MSVC happy.
1161
1162 2000-10-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1163
1164         * glib.h: Changed alloca stuff a bit: when we have a working
1165         alloca.h, we're not messing with alloca any further. Should fix a
1166         bug reported by Bernd Demian <wega@csc-dd.de>.
1167
1168 2000-09-29  Jonathan Blandford  <jrb@redhat.com>
1169
1170         * gnode.c (g_node_insert_after): Added function to keep symmetry
1171         with g_node_insert_before. 
1172
1173 2000-09-29  Martin Baulig  <baulig@suse.de>
1174
1175         Several minor ANSI C fixes.
1176
1177         Added missing casts:
1178         * gdate.c (g_date_fill_parse_tokens): `s = (guchar *) str'.
1179         * gmain.c (g_idle_dispatch): `func = (GSourceFunc) source_data'.
1180         (g_idle_add_full): `(gpointer) function' in call to g_source_add().
1181         * gstrfuncs.c (g_strdown): `s = (guchar *) string' and
1182         `return (gchar *) string'.
1183         (g_strup): Likewise.
1184         (g_strchug): `start = (guchar*) string' in 1st for() argument;
1185         `strlen ((gchar *) start)' in call to g_memmove().
1186         * gstring.c (g_string_down): `s = (guchar *) string->str'.
1187         (g_string_up): Likewise.
1188         * gthreadpool.c (stop_this_thread_marker):
1189         `(gpointer) &g_thread_pool_new'.
1190         * gunidecomp.h (decomp_table[]): Cast all the strings to
1191         `unsigned char *'.
1192
1193         Put text following #endif into comments:
1194         * gmain.c: here.
1195
1196 2000-09-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1197
1198         * configure.in, glib.h: Added errorcheck mutexes. These are
1199         activated through the preprocessor symbol
1200         G_ERRORCHECK_MUTEXES. Need to add an extra word to StaticMutex in
1201         order to achieve this. g_(static_)mutex_* functions instrument the
1202         mutex operations with mutex name and location, when compiled with
1203         -DG_ERRORCHECK_MUTEXES. g_thread_init activates the errorcheck
1204         mutexes, when compiled with -DG_ERRORCHECK_MUTEXES.
1205
1206 2000-09-28  Havoc Pennington  <hp@pobox.com>
1207
1208         * glib.h (GThreadPriority): fix indentation
1209         (GConvertError): generic error is conventionally called
1210         _FAILED rather than _OTHER, at least at the moment, 
1211         according to GError docs in docs/reference.
1212
1213         * gconvert.c: s/_OTHER/_FAILED/
1214
1215 2000-09-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1216
1217         * configure.in: Adjusted the test for an unimplemented
1218          getpwuid_r. Info from Michael Pruett. This is just a forward
1219          merge from glib-1-2.
1220
1221         * configure.in: Moved determination of G_THREAD_FLAGS before
1222         G_THREAD_LIBS. Check for UnixWare systems and set the right cflags
1223         and libs there (it needs -Kthread for the native compiler and
1224         -pthread for gcc). Thanks to Boyd Lynn Gerber <gerberb@zenez.com>
1225         for the info.
1226
1227         * configure.in: Fail immediately, when no thread library is found,
1228         instead of continuing searching for rt libs etc. Changed almost
1229         all occurances of $enable_threads to $have_threads, as that's,
1230         what we want.
1231
1232         * tests/threadpool-test.c: Define vars inside the guard to avoid
1233         warnings.
1234
1235         * configure.in, tests/type-test.c: Some platforms support 64 bit
1236         'long long', but you can not printf or scanf them. In that case,
1237         don't define G_G{UINT|INT}64_FORMAT. Changed the type-test program
1238         to reflect that.
1239
1240         * gutils.c (g_get_current_dir): max_len can't be initialized
1241         statically as it might call a function. So do it at first call.
1242
1243 Tue Sep 26 2000 Elliot Lee <sopwith@redhat.com>
1244
1245         * glib.h: Add G_GNUC_PURE macro (but don't use it anywhere).
1246
1247 Mon Sep 25 2000 Elliot Lee <sopwith@redhat.com>
1248
1249         * garray.c, glib.h, gmem.c: Add a few missing G_GNUC_CONST's.
1250
1251 2000-09-21  Tor Lillqvist  <tml@iki.fi>
1252
1253         * makefile.mingw.in: Add gconvert.o. Use libiconv.
1254
1255         * config.h.win32.in: Define HAVE_GETCWD.
1256
1257         * glib.def: Add new entry points.
1258
1259 2000-09-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1260
1261         * configure.in: The last released automake (1.4) still requires
1262         AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL, so use that for the
1263         time being.
1264
1265 2000-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1266
1267         * acconfig.h, configure.in, gutils.c: Test for the existence of
1268         getcwd, and use it only when found.
1269
1270         * glib.h: Only use the gcc-variable-macro-argument-extension for
1271         gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.
1272
1273 Mon Sep 18 10:58:21 2000  Owen Taylor  <otaylor@redhat.com>
1274
1275         * gutf8.c: Implement g_ucs4_to_utf8 which was in
1276         the header file but not implemented.
1277
1278 Sun Sep 17 2000 Elliot Lee <sopwith@redhat.com>
1279
1280         * glib.h configure.in: Define g_alloca() as an
1281         alloca-that-works-anywhere.
1282
1283         * gconvert.c: Fix warnings which could have caused problems on
1284         64-bit platforms.
1285
1286 Sun Sep 10 12:37:40 2000  Owen Taylor  <otaylor@redhat.com>
1287
1288         * glib.h gconvert.c (g_convert): Havoc Pennington's implementation 
1289         of convenient character set conversion using iconv, with
1290         the addition of GError. We probably need a fallback that
1291         just does conversions between, say UTF-8,16,32 and ISO-8859-1
1292         for targets without iconv at all.
1293
1294         Also add g_convert_with_fallback() to take care of conversions 
1295         where we accept some loss going to the target encoding.
1296
1297 2000-09-10  Havoc Pennington  <hp@redhat.com>
1298
1299         * gutf8.c (g_utf8_validate): Add this function.
1300
1301 Sat Sep  9 18:50:42 2000  Owen Taylor  <otaylor@redhat.com>
1302
1303         * gstrfuncs.c (g_strescape): Add a missing g_return_if_fail().
1304
1305 Mon Aug 21 03:57:46 2000  Tim Janik  <timj@gtk.org>
1306
1307         * glib.h (G_BREAKPOINT): for non-i386 and non-alpha, or non gcc,
1308         implement BREAKPOINT() as raise (5 /* SIGTRAP */);
1309
1310         * glib.h: provide user-definable switch G_IMPLEMENT_INLINES,
1311         to turn on compilation of inline function implementations provided
1312         in header files with extern linkage.
1313         wrap inline function implementations into ifdef __G_UTILS_C__, so we
1314         really only compile them for gutils.c and not also into arbitrary user
1315         code that wants to make use of G_IMPLEMENT_INLINES.
1316         adjusted comment apropriately.
1317
1318         * gutils.c: to turn on compilation of inline functions, provide
1319         #define G_IMPLEMENT_INLINES 1 and #define __G_UTILS_C__.
1320
1321 2000-09-06  Havoc Pennington  <hp@redhat.com>
1322
1323         * gerror.c: docs
1324
1325         * docs/reference/glib/tmpl/error_reporting.sgml: docs
1326
1327 Wed Sep  6 10:28:34 2000  Owen Taylor  <otaylor@redhat.com>
1328
1329         * guniprop.c gunicode.h gutf8.c: Some inline docs fixes.
1330
1331 2000-09-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1332
1333         * glib.h, gtimer.c, tests/thread-test.c:
1334         s/G_MICROSEC/G_USEC_PER_SEC/
1335
1336         * glib.h: Removed G_G{U}{SHORT|INT|LONG}_FORMAT from glib.h, as
1337         they are really superfluous.
1338
1339 Tue Sep  5 20:16:27 2000  Owen Taylor  <otaylor@redhat.com>
1340
1341         * configure.in docs/Makefile.am: Add gtk-doc checks
1342         for newly added docs/reference/ subdir.
1343
1344 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1345
1346         * gthread.c (g_thread_error_quark): Don't use a G_LOCK, as it
1347         isn't necessary.
1348
1349 2000-09-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1350
1351         * gstring.c (g_string_free): Use g_return_val_if_fail instead of
1352         g_return_if_fail, as the function now is supposed to return
1353         something.
1354
1355         * gerror.c, gerror.h (g_propagte_error): Added function
1356         g_propagte_error to hand over local errors to the calling
1357         function.
1358
1359         * glib.h: Include gerror.h before it is used for some g_thread_*
1360         functions.
1361
1362         * gthread.c, gthreadpool.c, glib.h: Enable error reporting for
1363         thread creation, namely for g_thread_create, g_thread_pool_new,
1364         g_thread_pool_push and g_thread_pool_set_max_threads.
1365
1366         * tests/thread-test.c, tests/threadpool-test.c: Adapted
1367         accordingly.
1368
1369 2000-08-31  Tor Lillqvist  <tml@iki.fi>
1370
1371         * glib.h
1372         * glib.def
1373         * giowin32.c (g_io_channel_win32_make_pollfd): New function, to
1374         make a GPollFD from a GIOChannel. Creates the events and starts
1375         the reader thread if necessary.
1376
1377         * glib.h
1378         * giowin32.c (g_io_channel_win32_poll): No use for separate
1379         condition parameter.
1380
1381         * gmain.c (g_get_current_time): (Win32): Simplify, use
1382         GetSystemTimeAsFileTime().
1383
1384 2000-08-27  Tor Lillqvist  <tml@iki.fi>
1385
1386         * giowin32.c (g_io_channel_win32_poll): New function, otherwise
1387         like g_io_channel_win32_wait_for_condition(), but accept several
1388         GPollFDs.
1389         (g_io_channel_win32_wait_for_condition): Call
1390         g_io_channel_win32_poll().
1391
1392         * glib.h: Declare g_io_channel_win32_poll().
1393
1394         * gwin32.c (g_win32_error_message): Don't believe return value
1395         from FormatMessage.
1396
1397 2000-08-25 Elliot Lee <sopwith@redhat.com>
1398
1399         * glib.h, gunicode.h, gmodule/gmodule.h:
1400         Mark the following functions G_GNUC_CONST (to allow optimization)
1401         because their results are a function of only their parameters: 
1402         g_int_hash, g_int_equal, g_direct_hash, g_direct_equal,
1403         g_quark_to_string, g_date_is_leap_year, g_date_days_in_month,
1404         g_date_monday_weeks_in_year, g_date_sunday_weeks_in_year,
1405         g_spaced_primes_closest, g_unichar_is*, g_unichar_to*,
1406         g_unichar_*digit_value, g_unichar_type
1407
1408 2000-08-21 Elliot Lee <sopwith@redhat.com>
1409
1410         * gobject/Makefile.am, gobject/gobject-query.c,
1411         gobject/gparamspecs.c: Fix inclusion of config.h
1412
1413 Mon Aug 21 14:46:23 2000  Owen Taylor  <otaylor@redhat.com>
1414
1415         * tests/gio-test.c: Fix a couple of trivial bugs that
1416         were causing warnings.
1417
1418 Mon Aug 21 14:39:36 2000  Owen Taylor  <otaylor@redhat.com>
1419
1420         * glib.h: Use C99 varargs macros where possible 
1421         (check __STDC_VERSION__), otherwise, on gcc, use an alternate 
1422         form of gcc varargs which is more likely
1423         to be supported going forward. (Based on some code
1424         from Raja Harinath)
1425
1426 2000-08-17  Darin Adler  <darin@eazel.com>
1427
1428         * glib.h:
1429         * garray.c: (g_array_free), (g_ptr_array_free),
1430         (g_byte_array_free): Return the data left behind.
1431         * gstring.c: (g_string_free): Return the data left behind.
1432
1433         Changed the free calls that leave data behind so they
1434         return a pointer to the left-behind data, NULL if told not
1435         to leave anything behind. This makes these calls easier
1436         to use correctly, without any incompatible API change for
1437         callers that don't know about the return value. Of course,
1438         it would be even clearer if the free calls weren't dual-purpose
1439         in the first place.
1440
1441 2000-08-12  Tor Lillqvist  <tml@iki.fi>
1442
1443         * giowin32.c: Some indentation and spacing fixes. Add some more
1444         logging.
1445         (g_io_win32_add_watch): New function, with common code from
1446         g_io_win32_fd_add_watch and g_io_win32_sock_add_watch. Don't start
1447         more than one reader thread for a GIOChannel. We should obviously
1448         have just one reader thread reading a file descriptor or socket.
1449
1450 2000-08-10  Havoc Pennington  <hp@redhat.com>
1451
1452         * gthread-2.0.pc.in (Cflags): don't duplicate glib Cflags
1453
1454         * gmodule-2.0.pc.in (Cflags): don't duplicate glib Cflags
1455
1456         * gobject-2.0.pc.in (Cflags): don't duplicate Cflags from glib
1457         itself
1458
1459 2000-08-10  Havoc Pennington  <hp@redhat.com>
1460
1461         * glib-2.0.pc.in (Cflags): Look in glib-2.0/include for
1462         glibconfig.h
1463
1464 2000-08-07  Tor Lillqvist  <tml@iki.fi>
1465
1466         * tests/gio-test.c (shutdown_source): New function, that calls
1467         g_source_remove(). Check return value of g_source_remove(), and
1468         decrement running subprocess counter only if g_source_remove()
1469         actually did remove the source.
1470
1471         (recv_message): Call shutdown_source() on EOF condition. Return
1472         FALSE on G_IO_HUP and G_IO_ERR condition. Fix printf format typo.
1473
1474 Sun Aug  6 20:06:02 2000  Tim Janik  <timj@gtk.org>
1475
1476         * gmessages.c (g_log_domain_check_free): keep *last updated while
1477         running through the domain list, so we don't screw up the removal,
1478         patch provided by Gady Kozma <gadykozma@hotmail.com>.
1479
1480 Sun Aug  6 20:03:41 2000  Tim Janik  <timj@gtk.org>
1481
1482         * gmessages.c (g_log_remove_handler): keep *last updated while running
1483         through the handler list, so we don't screw up the removal.
1484
1485 Sun Jul 30 16:54:13 2000  Owen Taylor  <otaylor@redhat.com>
1486
1487         * gunicode.h: Fix stray character
1488
1489         * gutf8.c (g_unichar_to_utf8): Allow outbuf to be NULL, in
1490         which case we just compute the length.
1491
1492 2000-07-31  Havoc Pennington  <hp@redhat.com>
1493
1494         * Makefile.am (EXTRA_DIST): forgot to add .pc.in to EXTRA_DIST
1495
1496 2000-07-31  Havoc Pennington  <hp@redhat.com>
1497
1498         * glib-2.0.pc.in, gobject-2.0.pc.in, gmodule-2.0.pc.in,
1499         gobject-2.0.pc.in: pkg-config data files         
1500
1501         * Makefile.am: Install/dist the .pc files
1502
1503         * configure.in: Output the .pc files
1504
1505 2000-07-31  Tor Lillqvist  <tml@iki.fi>
1506
1507         * giowin32.c (buffer_read): The code didn't compile (must
1508         have been sleepy when committing). "return" instead of "break"
1509
1510         (g_io_win32_fd_add_watch): Cannot check if the file descriptor is
1511         readable by calling ReadFile to read zero bytes. ReadFile blocks
1512         on NT even if trying to read nothing at all. So, don't check if
1513         file descriptor is readable; assume this function isn't called
1514         otherwise.
1515
1516 Sun Jul 30 10:44:16 2000  Tim Janik  <timj@gtk.org>
1517
1518         * gmain.c (g_get_current_time): fix tor's recent changes which
1519         got rid of a required variable in the non-windows path.
1520
1521 2000-07-30  Tor Lillqvist  <tml@iki.fi>
1522
1523         Finally, a new and improved IO Channel and condition watch
1524         implementation for Win32. Based on code provided by Craig Setera.
1525
1526         When watching file descriptors, for which there is no select()
1527         like functionality on Win32 that would work on all Win32 platforms
1528         for all types of file descriptors (including anonymous pipes), we
1529         start a new thread that blocks while trying to read from the file
1530         descriptor. When the read returns, a Win32 Event is signalled that
1531         the polling routine eventually notices. Meanwhile, the data being
1532         read is stored in a circular buffer, from where the IO channel's
1533         read() method picks it up.
1534
1535         If the buffer fills up the reading thread has to wait for space
1536         becoming available. For this another Win32 Event is used. The IO
1537         Channel's read() method signals this when it has read some data
1538         out of the buffer.
1539
1540         The separate reader thread(s), and the circular buffer(s) with
1541         associated events mean lots of possibilities for fun parallelism
1542         errors. But it seems to work OK, i.e. GIMP runs.
1543
1544         * gmain.c: Small changes to the Win32 polling function.
1545         (g_main_win32_get_poll_func): New function. Perhaps it would be a
1546         good idea to provide this on all platforms.
1547
1548         * giowin32.c: The bulk of the new implementation.
1549         (g_io_channel_win32_wait_for_condition): New function. To be used
1550         where on Unix one does a select() on the channel's fd, like
1551         libgimp's gimp_extension_process(). Could be provided on all
1552         platforms.
1553
1554         * glib.h: Update documentation for IO Channels on Win32. Remove
1555         the declarations for the as of now obsolete old functions related
1556         to IO Channels for pipes with "wakeup" messages.
1557
1558         * glib.def: Some new functions.
1559
1560         * tests/gio-test.c: New file, to test GIOChannel and main loop.
1561
1562         * tests/Makefile.am
1563         * tests/makefile.mingw.in: Add it.
1564
1565         (Later the same night:)
1566
1567         * giowin32.c: Compile in the debugging code all the time, but only
1568         output debug messages if told so. Add (unadvertised) function to
1569         turn on/off debug messages for a channel.
1570
1571         (buffer_read): Don't loop. It is expected behaviour to return a
1572         short read occasionally, for instance when reading from
1573         pipes. It's the calling code that should loop if it *knows* how
1574         much the writer has written.
1575
1576         * tests/gio-test.c: Correct the program's name in the output.
1577         (recv_message): Loop calling g_io_channel_read() (in a new
1578         function read_all()) until we have all the bytes we want (that we
1579         know the writer has written/will write).
1580
1581 Thu Jul 27 05:15:11 2000  Tim Janik  <timj@gtk.org>
1582
1583         * gstrfuncs.c (g_strlcpy, g_strlcat): completed tor's fix
1584         to cover both #ifdef branches.
1585
1586 2000-07-26  Tor Lillqvist  <tml@iki.fi>
1587
1588         * gstrfuncs.c (g_strlcpy, g_strlcat): Return 0 on error, not NULL.
1589
1590         * glib.def: Add g_strlcpy, g_strlcat.
1591
1592         * glibconfig.h.win32.in: Add gsize and gssize.
1593
1594 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
1595
1596         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
1597         updates the license headers to the GNU Lesser General Public License,
1598         as well as updating the copyright year to 2000.
1599
1600 Wed Jul 26 05:47:48 2000  Tim Janik  <timj@gtk.org>
1601
1602         * configure.in:
1603         * testglib.c:
1604         * gstrfuncs.c:
1605         * glib.h: added g_strlcat() and g_strlcpy() wrappers, supplied by
1606         David Wheeler <dwheeler@ida.org>:
1607
1608         * glib.h, gstrfuncs.c: added g_strlcpy and g_strlcat to support
1609           safe manipulation of fixed-length string buffers.
1610           These functions were originally developed by Todd Miller to simplify
1611           development of security-related programs, and
1612           are available on many (but not all) Unix-like systems,
1613           including OpenBSD, FreeBSD, and Solaris.  See
1614           ftp://ftp.openbsd.org/pub/OpenBSD/src/lib/libc/string/strlcpy.3
1615           and http://www.openbsd.org/security.html.
1616           If there's a strlcpy/strlcat on the system, it's called, otherwise
1617           an implementation is provided.
1618
1619         * testglib.c: Added tests for g_strlcpy, g_strlcat.
1620
1621 Wed Jul 26 05:03:24 2000  Tim Janik  <timj@gtk.org>
1622
1623         * acglib.m4 (GLIB_SIZEOF): include <stdlib.h> and <stddef.h> if
1624         STDC_HEADERS is defined.
1625
1626         * glib.h:
1627         * glibconfig.h: define gsize and gssize in terms of GLIB_SIZEOF_SIZE_T
1628
1629         * glib.h (g_return_if_reached): applied darin's fix for copy'n
1630         paste error in the macro implementation.
1631
1632 Wed Jul 26 00:46:03 2000  Tim Janik  <timj@gtk.org>
1633
1634         * glib.h: applied patch from Darin Adler <darin@eazel.com> which
1635         supplies g_return_if_reached(), g_return_val_if_reached() and
1636         g_critical().
1637
1638 2000-07-22  Tor Lillqvist  <tml@iki.fi>
1639
1640         * build-dll: Fix resource handling, the resource file got left out
1641         from the DLL after all... Remove the WIN32APIHEADERS, not needed
1642         with current windres.
1643
1644         * glib.def: Add new functions.
1645
1646 2000-07-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1647
1648         * gutils.c, glib.h: Mark the functions g_basename and g_dirname
1649         deprecated. They will issue an warning once, when compiled with
1650         G_ENABLE_DEBUG, but continue to work as before. Instead the
1651         functions g_path_get_basename and g_path_get_dirname should be
1652         used, which BOTH return newly allocated memory, that has to freed
1653         by g_free. The new g_path_get_basename now strips trailing slashes
1654         from the path. This fixes #5097. For discussion see
1655         http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
1656
1657         * gwin32.c, testglib.c, tests/dirname-test.c: Use the new
1658         functions instead of the old ones.
1659
1660         * ghash.c, gscanner.c, glib.h: Mark the functions
1661         g_hash_table_freeze, g_hash_table_thaw and thus
1662         g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table
1663         deprecated. They will issue an warning once, when compiled with
1664         G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see
1665         http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
1666
1667 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1668
1669         * configure.in, glib.h: glibconfig.h and glib.h now include files
1670         outside of the extern "C" block. Makes some C++ compiler
1671         happy. Reported by Denis Vakatov <vakatov@peony.nlm.nih.gov>.
1672
1673 Sat Jul 15 23:49:03 2000  Owen Taylor  <otaylor@redhat.com>
1674
1675         * glib/glib.texi: Remove incomplete start of info file -
1676         real docs are in RDP.   
1677
1678 Sat Jul 15 22:44:22 2000  Owen Taylor  <otaylor@redhat.com>
1679
1680         * configure.in: Add build/Makefile and 
1681         build/win32/Makefile to AC_OUTPUT() so things build
1682         again.
1683
1684 Sat Jul 15 09:11:46 2000  Tim Janik  <timj@gtk.org>
1685
1686         * gstrfuncs.c (g_strncasecmp): fixed an off by 0 error (yeah,
1687         the function went off when the while (n--) loop failed due to
1688         n==0 ;), reported by Jean-Louis HAMEL <jlhamel@club-internet.fr>.
1689
1690 2000-07-15  Tor Lillqvist  <tml@iki.fi>
1691
1692         * Makefile.am (SUBDIRS): Include the "build" module in GLib, too,
1693         to make it more self-contained. If your CVS client doesn't
1694         automatically get it, do a cvs get build in glib.
1695
1696         * */makefile.mingw.in: Include make.mingw from build in the glib
1697         source directory.
1698
1699 Fri Jul 14 16:26:35 2000  Owen Taylor  <otaylor@redhat.com>
1700
1701         * Release 1.3.1
1702
1703 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
1704
1705         * configure.in Makefile.am glib-config.m4 glib.m4: Move
1706         glib-config to glib-config-2.0 move glib.m4 to
1707         glib-2.0.m4
1708
1709         * Makefile.am gobject/Makefile.am gmodule/Makefile.am
1710         gthread/Makefile.am tests/Makefile.am: Change 
1711         library names to libglib-1.3.la, etc, so that we
1712         can distinguish glib-1.2 and glib-2.0 on the linkline.
1713
1714         * Makefile.am gobject/Makefile.am gmodule/Makefile.am:
1715         Move include files into /usr/include/glib-2.0.
1716
1717 Thu Jul  6 18:54:49 2000  Owen Taylor  <otaylor@redhat.com>
1718
1719         * docs/Makefile.am (EXTRA_DIST): Remove info files
1720         from the build.
1721
1722 2000-07-14  Tor Lillqvist  <tml@iki.fi>
1723
1724         * glib.def: Add g_error functions.
1725
1726         * makefile.mingw.in: Add gbacktrace.o.
1727
1728         * gbacktrace.c: No need to include <process.h>.
1729
1730 2000-07-12  Havoc Pennington  <hp@redhat.com>
1731
1732         * glib.h: #include <gerror.h>
1733
1734         * Makefile.am (include_HEADERS): Add gerror.h
1735         (libglib_la_SOURCES): Add gbacktrace.c
1736
1737         * gbacktrace.c: Move g_on_error_query() in here (moved on the 
1738         server, so history is preserved)
1739
1740         * gerror.h: GError interface
1741
1742         * gerror.c: GError implementation replaces stuff that's now in 
1743         gbacktrace.c
1744
1745 Sun Jul  9 21:20:45 2000  Owen Taylor  <otaylor@redhat.com>
1746
1747         * gunicode.h: Include stddef.h instead of stdlib.h
1748
1749 2000-07-08  Tor Lillqvist  <tml@iki.fi>
1750
1751         * glib.h (GLIB_VAR): Rename the GUTILS_C_VAR macro to GLIB_VAR.
1752
1753         * gunicode.h: Mark the g_utf8_skip array with GLIB_VAR.
1754
1755         * glib.def: Add two missing entry points.
1756
1757 Thu Jul  6 15:35:28 2000  Owen Taylor  <otaylor@redhat.com>
1758
1759         * Release 1.3.1
1760
1761         * Makefile.am (EXTRA_DIST): Dist fixes.
1762
1763         * configure.in: Moderate the warnings just a little bit.
1764
1765 2000-07-05  Tor Lillqvist  <tml@iki.fi>
1766
1767         * README.win32: Update.
1768
1769 Mon Jul  3 17:58:02 2000  Owen Taylor  <otaylor@redhat.com>
1770
1771         * gutf8.c (g_utf8_get_charset_internal): Fix up
1772         to correspond to configure.in checks.
1773
1774 Mon Jul  3 17:18:19 2000  Owen Taylor  <otaylor@redhat.com>
1775
1776         * glib.h: Comment g_get_codeset() out of the header file
1777         temporarily. (Very similar to g_get_charset(), need
1778         to resolve the two.)
1779
1780 2000-07-01  Tor Lillqvist  <tml@iki.fi>
1781
1782         * glib.def: Add new entry points.
1783
1784         * makefile.{mingw,msc}.in: Add the new Unicode object files.
1785
1786 Thu Jun 29 15:57:28 2000  Owen Taylor  <otaylor@redhat.com>
1787
1788         * NEWS: updated
1789
1790         * Makefile.am: added snapcheck target to go along with snapshot
1791
1792         * gstring.c glib.h (g_string_hash): Add g_string_hash to 
1793         go along with g_string_equal.
1794
1795 Tue Jun 27 12:40:23 EDT 2000  David A. Wheeler <dwheeler@dwheeler.com>
1796
1797         * glib.h: Added g_string_equal for comparing GStrings;
1798         changed g_str_equal so it returns gboolean (instead of gint).
1799
1800         * gstring.c: Modified GString implementation to support embedded
1801         ASCII NUL ('\0') characters, and implemented g_string_equal.
1802
1803         * testglib.c tests/string-test.c: Added tests for g_string_equal
1804         and tests for proper handling of embedded ASCII NUL characters.
1805
1806 Wed Jun 28 22:52:00 2000  Owen Taylor  <otaylor@redhat.com>
1807
1808         * Makefile.am (libglib_la_SOURCES): Fix
1809         gunichartable.h => gunichartables.h. (From Eric Limings)
1810
1811 Fri Jun 23 17:20:26 2000  Tim Janik  <timj@gtk.org>
1812
1813         * glib.h: define gstring in terms of gchar*. this typedef reflects
1814         the type name of the primitive G_TYPE_STRING in the gobject module.
1815
1816 Wed Jun 21 12:09:03 2000  Owen Taylor  <otaylor@redhat.com>
1817
1818         * gunicode.h gutf8.c guniprop.c gunidecomp.[ch] gunichartables.h
1819         Makefile.am glib.h: Initial pass at adding unicode support
1820         functions. A few things still need to be implemented, a bit
1821         of cleanup needs to be done, tests need to be added, and 
1822         the docs need to be finished, but this should allow replacing
1823         most or all use of libunicode.
1824
1825 2000-06-06  Tor Lillqvist  <tml@iki.fi>
1826
1827         * giowin32.c (g_io_channel_win32_pipe_readable): If we are
1828         watching the same pipe for different conditions (with different
1829         callbacks), check them all. Only call the callback for G_IO_IN
1830         from here. (This bug popped up when a watch for G_IO_ERR|G_IO_HUP
1831         was added to gimplib.)
1832
1833 2000-05-30  Tor Lillqvist  <tml@iki.fi>
1834
1835         * gutils.c (g_locale_get_codeset): Implement on Win32.
1836
1837         * glib.def: Add g_get_codeset.
1838
1839         * tests/Makefile.am (EXTRA_DIST): makefile.cygwin* has been
1840         renamed to makefile.mingw*.
1841
1842 Tue May 30 16:01:32 2000  Owen Taylor  <otaylor@redhat.com>
1843
1844         * glib.h gutils.c: Move the g_locale_get_codeset() up in the 
1845         header file to correspond to to comments about memory
1846         management. Rename to g_get_codeset() to avoid 
1847         polluting the g_locale_* namespace, which probably
1848         would have g_locale_get_codeset (GLocale *locale).
1849         Add a doc comment.
1850
1851 Mon May 29 14:10:35 2000  Owen Taylor  <otaylor@redhat.com>
1852
1853         * gutils.c (g_locale_get_codeset): Add function to get the 
1854         codeset name for the current locale.
1855
1856         * configure.in acconfig.h: Add check for nl_langinfo(CODESET);
1857
1858 Fri May 19 11:39:29 2000  Tim Janik  <timj@gtk.org>
1859
1860         * gutils.c (g_snprintf):
1861         (g_vsnprintf): added argument assertments.
1862
1863         * gstring.c (g_string_assign): added argument assertments.
1864         (g_string_truncate): make len a guint.
1865
1866 Fri May 19 09:00:44 2000  Tim Janik  <timj@gtk.org>
1867
1868         * gmem.c (g_free): fixed SIZEOF_LONG==4 assumption with
1869         ENABLE_MEM_CHECK, from Art Haas <ahaas@neosoft.com>.
1870
1871         * gslist.c (g_slist_reverse): shut up compiler.
1872
1873         * gscanner.c (g_scanner_get_token_ll): removed inline assignment.
1874
1875         * garray.c: remove index>=0 checks for unsigned indices.
1876
1877         * gmain.c (g_idle_prepare): timeout assignment fix.
1878
1879         * gtree.c (g_tree_node_rotate_right): shut up compiler.
1880
1881 2000-05-13  Tor Lillqvist  <tml@iki.fi>
1882
1883         * makefile.mingw.in
1884         * tests/makefile.mingw.in
1885         * build-dll: Rename makefile.cygwin(.in) to
1886         makefile.mingw(.in), which better describes what it is. Move the
1887         build of gmodule, gthread and gobject DLLs to makefiles in those
1888         directories. Move resource file handling and build number bump to
1889         build-dll, where it sits much cleaner.
1890
1891         * README.win32
1892         * Makefile.am (EXTRA_DIST): Update accordingly.
1893
1894         * glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
1895         G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
1896         implementations.
1897
1898         * glib.def: Add g_strcanon.
1899
1900         * gtree.c (g_tree_node_rotate_left): Remove unused variables.
1901
1902         * gwin32.c (g_win32_opendir): Remove unneeded statement.
1903
1904 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
1905
1906         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
1907         broken and require an empty arg, give it to them.
1908
1909 Fri Apr 28 23:54:35 2000  Tim Janik  <timj@gtk.org>
1910
1911         * setup things for a new sub-library libgobject:
1912
1913         * Makefile.am (SUBDIRS): added gobject
1914
1915         * glib-config.in: feature -lgobject.
1916
1917         * configure.in (AC_OUTPUT): generate gobject/Makefile.
1918
1919         * glib.m4 (AM_PATH_GLIB): feature gobject module.
1920
1921         * glib.spec.in: added %{prefix}/lib/libgobject-1.3.so.*
1922
1923 Fri Apr 28 21:41:49 2000  Tim Janik  <timj@gtk.org>
1924
1925         * glib.h: added G_STRLOC macro.
1926         G_STRUCT_OFFSET(): signedness corrections.
1927         (G_CSET_DIGITS): list 0-9.
1928         * gscanner.c (g_scanner_config_template): use G_CSET_DIGITS.
1929
1930         * glib.h: 
1931         * gstrfuncs.c:
1932         (g_strdown):
1933         (g_strup):
1934         (g_strreverse): return the modified string instead of void, so
1935         calls to these functions can be nested.
1936         (g_strcanon): new function, canonicalizes string according to
1937         a given character set.
1938
1939 Fri Apr 28 19:45:16 2000  Tim Janik  <timj@gtk.org>
1940
1941         * gasyncqueue.c (g_async_queue_unref): get rid of an unused variable.
1942
1943 Wed May 10 19:52:44 2000  Owen Taylor  <otaylor@redhat.com>
1944
1945         * glib.m4: Print found version when test succeeds.
1946
1947 2000-05-04  Tor Lillqvist  <tml@iki.fi>
1948
1949         * makefile.cygwin.in
1950         * tests/makefile.cygwin.in: Include the common makefile snippet
1951         from ../build/win32.
1952
1953         Maybe CVSROOT/modules should be changed so that the 'build' module
1954         is included within the glib module (and gtk+, and gimp, and maybe
1955         others later), in the same way as the 'macros' module is included
1956         in lots of GNOME CVS modules?
1957
1958 2000-05-02  Tor Lillqvist  <tml@iki.fi>
1959
1960         * glib.def: Add new functions.
1961
1962         * makefile.{cygwin,msc}.in (glib_OBJECTS): Add new object files.
1963
1964         * tests/makefile.{cygwin,msc}.in: Add threadpool-test.
1965
1966 2000-04-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1967
1968         * gasyncqueue.c: New File implementing an asynchronous queue to be
1969         used for asynchronous inter-thread communication.
1970
1971         * gthreadpool.c: New File implementing a thread pool to be used
1972         for distributing work among several threads. 
1973
1974         * glib.h: Added the type and function declarations for these two
1975         types.
1976
1977         * tests/threadpool-test.c: New File implementing a test for the
1978         thread pool. This also checks the asynchronous queue underlying
1979         the thread pool.
1980
1981         * tests/Makefile.am: Changed accordingly.
1982
1983 2000-04-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1984
1985         * configure.in: Look for both pthread_create and pthread_join in
1986         the thread library. Some systems define one of them, but not both
1987         in libc. Arghh. Now we really start a thread and join it later and
1988         check, whether the thread to actually ran.
1989
1990         * glib.h, gcache.c, gtree.c: Changed the 'value' parameter of
1991         g_cache_remove from gpointer to gconstpointer. Dito for the 'key'
1992         parameter of g_tree_lookup and g_tree_remove and the 'data'
1993         parameter of g_tree_search. This function now takes a function of
1994         type GCompareFunc instead of GSearchFunc. This fixes Bug
1995         #8267. Thanks to Juan Toledo <toledo@users.sourceforge.net> for
1996         pointing that out.
1997
1998         * glib.h: Removed declaration of GSearchFunc.
1999
2000         * gmem.c: s/GSearchFunc/GCompareFunc/.
2001
2002 2000-04-19  Tor Lillqvist  <tml@iki.fi>
2003
2004         * glib.def: Update entry point list.
2005
2006 2000-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2007
2008         * glib.h (G_TRYLOCK): Made the debugging G_TRYLOCK call also work
2009         for compilers with funny G_STMT_(START|END) macros.
2010
2011         * tests/thread-test.c: Implemented a check for that.
2012
2013         * gutils.c (g_getenv): Changed the win32 part of this function to
2014         be thread safe and to make the returned environment string
2015         persistent to match the UN*X behavior. This is again a response to
2016         Bug #8983.
2017
2018         * glib.h (G_LOCK_NAME): Removed parentheses around the lock name,
2019         as that seems to cause problems for some compilers and really
2020         isn't necessary.
2021
2022 Wed Apr 19 08:32:32 2000  Tim Janik  <timj@gtk.org>
2023
2024         * gscanner.c (g_scanner_new): make sure that
2025         scanner->config->cset_skip_characters is "" instead of NULL, so we
2026         don't segfault further on.
2027
2028 2000-04-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2029
2030         * glib.h, glist.h, gslist.h: Changed the 'data' parameters from
2031         gpointer to gconstpointer for the functions
2032         g_(list|slist)_(remove|find|find_custom|index), as they do not
2033         change this parameter. This fixes bug #4836.
2034
2035         * glib.h: Changed comment for g_getenv to reflect, that the
2036         returned memory must not be freed. Fixes bug #8983.
2037
2038 2000-04-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2039
2040         * configure.in, acconfig.h: Add configure test for garbage
2041         collector friendliness for GLib. If enabled, ENABLE_GC_FRIENDLY
2042         will be defined.
2043
2044         * garray.c, ghash.c, glist.c, gmain.c, gmem.c, gnode.c, gqueue.c,
2045         gslist.c, gtree.c: If ENABLE_GC_FRIENDLY is defined, NULLify all
2046         memory released by the user, but cached by GLib. This lets a
2047         garbage collector have a more correct view of the actually used
2048         memory.
2049
2050         * garray.c, glib.h: Added g_(array|ptr_array|byte_array)_sized_new
2051         functions, that reserve a certain amount of memeory for the array
2052         at creation time to avoid reallocation. Fixes bug #6707 from
2053         Charles Kerr <ckerr@osserver1.nssl.noaa.gov>.
2054
2055         * glib.h, gqueue.c, tests/queue-test.c (main): Renamed
2056         g_queue_create to g_queue_new in conformance to all other GLib
2057         data types.
2058
2059 2000-04-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2060
2061         * grand.c (g_rand_new): Fixed bug. Thanks to Marko Kreen
2062         <marko@l-t.ee> for reporting that.
2063
2064 2000-03-26  Tor Lillqvist  <tml@iki.fi>
2065
2066         * README.win32: Tell about using the mingw-based gcc, which is
2067         much easier than modifying the cygwin gcc to product mingw code
2068         for the msvcrt runtime.
2069
2070         * makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
2071         with a "pure" mingw gcc, too.
2072
2073 2000-03-24  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2074
2075         * garray.c: Made GArray behave correctly. Now zero_terminated
2076         really means, that the element array->data[array->len] exists and
2077         is zeroed, and clear means that any unassigned elements obtained
2078         through g_array_set_size (the only way to get unassigned elements
2079         AFAICT) are zeroed. Added some macros to make the code more
2080         obvoius. Also made GPtrArray zero elements after
2081         g_ptr_array_set_size. This is done in a portbale way (assignment
2082         of NULL instead of just memsetting it to zero), though that might
2083         be more portability than we actually want.
2084
2085         * Makefile.am, gthread/Makefile.am, gmodule/Makefile.am,
2086         tests/Makefile.am: Added various win32 related *.in files to
2087         EXTRA_DIST to let 'make distcheck' procude all the corresponding
2088         files, which it silently fails to do currently.
2089
2090 2000-03-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2091
2092         * configure.in: After finding the right thread library (containing
2093         e.g. pthread_create) we now search for the right realtime library
2094         (containing e.g. sched_get_priority_max). Makes the output of the
2095         thread related libraries correct. 
2096
2097         * gtimer.c (g_usleep): The current implementation of g_usleep
2098         (simply calling select) doesn't work reliable for multi-threaded
2099         programs on some platforms (bad omen for the main loop....), so I
2100         changed the implementation for thread-using programs to wait for a
2101         GCond for the specified amount of time (NB: sleep and usleep are
2102         not MT-safe in general, because they often use signals).
2103
2104 Wed Mar 22 16:49:57 2000  Owen Taylor  <otaylor@redhat.com>
2105
2106         * gmem.c (g_mem_chunk_area_compare): Fix indentation.
2107
2108 2000-03-22 Elliot Lee <sopwith@redhat.com>
2109
2110         * gmem.c (g_mem_chunk_area_compare): Fix 64-bitness bug in
2111         comparing two pointers more than 4G apart.
2112
2113 2000-03-22  Tor Lillqvist  <tml@iki.fi>
2114
2115         * gutils.c: Move Win32-only includes after inclusion of glib.h, so
2116         that G_OS_WIN32 is defined.
2117
2118         * glibconfig.h.win32.in: Add GSystemThread.
2119
2120 2000-03-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2121
2122         * gutils.c (g_get_current_dir): Ok, Marcus Brinkmann
2123         <Marcus.Brinkmann@ruhr-uni-bochum.de> convinced me, that 128 KB
2124         path length might not be enough for the HURD. So I changed the
2125         loop to at least avoid an integer overflow, which could happen at
2126         beyond 2GB size ;-)
2127
2128         * configure.in: Test for sched_yield as the native yield function
2129         first. Corrected typo g_thread_sleep -> g_usleep. Corrected
2130         message for the pthread_create test. Negative Priorities are
2131         allowed (and used on Solaris), so consider
2132         sched_get_priority_min failed only if it returns -1, not <0. Check
2133         for sched_get_priority_min also in -lrt, if not found in -lpthread
2134         alone and add -lrt to G_THREAD_LIBS then. Remove special case
2135         handling of priorities for older solaris versions and posix
2136         threads. Thanks to Wan-Teh Chang <wtc@netscape.com> for suggesting
2137         some of those changes.
2138
2139         * config.guess, config.sub, ltconfig, ltmain.sh:
2140         Upgrade to libtool 1.3.4.
2141
2142 2000-03-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2143
2144         * glib.h, configure.in, gutils.h: always define G_GNUC_EXTENSION,
2145         even when not needed by GLib. That's actually also the way, the
2146         GLib reference manual describes that macro. Therefore I had to
2147         remove the lonesome #include <glibconfig.h> in gutils.c, which
2148         doesn't seem to be needed there however. This change should make
2149         Ben Gertzfield <che@debian.org> happy.
2150
2151         * gutils.c: Furthermore two warnings in gutils.c were voided,
2152         which crept in due to my last change.
2153
2154         * gutils.c (g_get_current_dir): Allocate only up to 128KB for a
2155         pathname. While this is an arbitrary value just like 2048, it
2156         seems to be enough (after all, even 4GB is an arbitrary value).
2157
2158 2000-03-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2159
2160         * gmain.c (g_main_poll): Warn in case of an error during the call
2161         to poll(2). Closes Bug#7564 as reported by David Helder
2162         <dhelder@umich.edu>.
2163
2164         * gutils.c (g_get_current_dir): Make g_get_current_dir work on
2165         systems with unlimited pathname length like the HURD (It worked
2166         there before, but only for pathes shorter than 2048). Closes
2167         Bug#4525 as reported by Marcus Brinkmann
2168         <Marcus.Brinkmann@ruhr-uni-bochum.de>.
2169
2170 2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2171
2172         * giounix.c (g_io_unix_write, g_io_unix_read): Interpret EINTR as
2173         G_IO_ERROR_AGAIN.
2174
2175 2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2176
2177         * configure.in: Added the missing POSIX_NO_YIELD and
2178         POSIX_NO_PRIORITIES warning messages.
2179
2180         * configure.in: Use AC_TRY_RUN instead of AC_TRY_LINK, to test for
2181         real thread support. On solaris pthread_create can be linked to
2182         even in -lc, but it doesn't work then.
2183
2184         * configure.in: Don't use priorities for threads, when the
2185         minimal/maximal priorities couldn't be determined at configure
2186         time.
2187
2188         * configure.in, gthread.c: Always define GSystemThread in
2189         glibconfig.h to represent a system thread.
2190
2191         * configure.in: Do not use native recursive threads, when
2192         possibe. We use some features, that they do not expose (namely the
2193         depth counter).
2194
2195         * glib.h, gthread.c: Redefined GStaticRecMutex. The functions are
2196         now implemented in a different way, which should be way
2197         faster. Alsothere are now functions g_static_rec_mutex_unlock_full
2198         and g_static_rec_mutex_lock_full to leave/enter a recursive mutex
2199         completly.
2200
2201         * gthread.c (g_thread_self): Do not test the system_thread to be
2202         non-zero to speed things up.
2203
2204         * gthread.c (g_mutex_init): Therefore set the system_thread of the
2205         main thread here.
2206
2207         * tests/thread-test.c: Rerun all tests once again, but this time
2208         we fool the system into thinking, that the available thread system
2209         is not native, but userprovided.
2210
2211 2000-03-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2212
2213         * gqueue.c (g_queue_push_tail_link, g_queue_push_head_link): We
2214         want the next and prev pointer of the inserted link to be NULL.
2215
2216 2000-03-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2217
2218         * configure.in: Another small change to the pthread_.. search
2219         pattern. Should work *now* for AIX.
2220
2221 2000-03-04  Tor Lillqvist  <tml@iki.fi>
2222
2223         * gwin32.c (g_win32_error_message): New function that returns the
2224         message string for a Win32 error code.
2225
2226         * glib.h: Declare it.
2227
2228         * glib.def: Export it, plus g_node_copy.
2229
2230 2000-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2231
2232         * configure.in: Make the search for pthread_attr_... prototypes
2233         find names at the start of a line also, like it is on AIX. Thanks
2234         to Valdis Kletnieks <Valdis.Kletnieks@vt.edu> for the info.
2235
2236 Wed Mar  1 10:39:39 2000  Tim Janik  <timj@gtk.org>
2237
2238         * gslist.c (g_slist_reverse): minor optimization.
2239
2240         * testglib.c (g_node_test): added a couple of tests for
2241         g_node_copy().
2242
2243         * glib.h:
2244         * gnode.c (g_node_copy): new function to copy subtrees,
2245         supplied by dbsears@ix.netcom.com.
2246         changed iterator to walk the children list backwards, so
2247         we get down from O(n^2) to O(n).
2248
2249         * gnode.c (g_node_first_sibling): applied patch from
2250         dbsears@ix.netcom.com to optimize access if node->parent
2251         is present.
2252
2253         * gutils.c (g_get_any_init): backed out HAVE_PW_GECOS check around
2254         assignment of g_real_name, sicne HAVE_PW_GECOS is never defined and
2255         thus breaks the original code.
2256
2257         * merged changes from 1.2.7.
2258
2259 Fri Jan 28 11:37:41 2000  Owen Taylor  <otaylor@redhat.com>
2260
2261         Bug #4156 - Changes vaguely modelled after Scott Gifford's patch
2262
2263         * gtimer.c (g_timer_elapsed): Never report negative times -
2264         clip times to 0.
2265
2266         * gmain.c (g_timeout_prepare): Guard against unexpected
2267         clock shifts by never setting a timeout of more than
2268         data->interval msecs.
2269
2270 2000-02-27  Tor Lillqvist  <tml@iki.fi>
2271
2272         * glib.def: Add new functions.
2273
2274 2000-02-23  Tor Lillqvist  <tml@iki.fi>
2275
2276         * README.win32: Add a missing step to the setup instructions for
2277         gcc-2.95.2. Thanks to Arnaud Charlet.
2278
2279         * glib.def: Add missing entry point.
2280
2281 2000-02-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2282
2283         * configure.in: Changed GCC version test to also accept major
2284         versions > 2. Thanks to Ben Gertzfield <che@debian.org> for
2285         pointing this out.
2286
2287 Thu Feb 17 12:53:44 2000  Tim Janik  <timj@gtk.org>
2288
2289         * gstring.c: changed g_str_hash() to a 31 bit version based on
2290         a submission by Karl Nelson and hand optimized ad absurdum by
2291         various people ;)
2292
2293         * gstring.c: applied patch from havoc for new gstring functions,
2294         added some more sanity checks, coding style fixups.
2295
2296 2000-02-13  Havoc Pennington  <hp@pobox.com>
2297
2298         * tests/string-test.c (main): Add tests for the new GString 
2299         features
2300
2301         * testglib.c (main): Add tests for the new GString features
2302
2303         * gstring.c (g_string_insert_len): New function; insert 
2304         a given length of string at a given position. 
2305         (g_string_append): reimplement in terms of g_string_insert_len
2306         (g_string_append_len): new function
2307         (g_string_insert_c): accept -1 for "pos" arg to mean "append"
2308         (g_string_append_c): reimplement in terms of g_string_insert_c
2309         (g_string_prepend): reimplement in terms of g_string_insert_len
2310         (g_string_prepend_len): new function
2311         (g_string_prepend_c): reimplement in terms of g_string_insert_c
2312         (g_string_insert): reimplement in terms of g_string_insert_len
2313
2314         * glib.h: Declare g_string_insert_len, g_string_append_len,
2315         g_string_prepend_len
2316
2317 Sun Feb 13 08:16:47 2000  Tim Janik  <timj@gtk.org>
2318
2319         * configure.in: wtf??? someone destroyed the configure.in, reverting to
2320         an older version from Feb 4 which apears to still work.
2321
2322 2000-02-07  Tor Lillqvist  <tml@iki.fi>
2323
2324         * gmodule.rc.in gthread.rc.in: Move to corresponding subdirectories.
2325
2326         * Makefile.am
2327         * gmodule/Makefile.am
2328         * gthread/Makefile.am: Change accordingly.
2329
2330         * makefile.cygwin: Corresponding changes, some cleanup.
2331
2332 2000-02-05  Tor Lillqvist  <tml@iki.fi>
2333
2334         * glib.rc.in gmodule.rc.in gthread.rc.in: New files, for putting
2335         version info in the DLLs on Win32.
2336
2337         * Makefile.am: Generate corresponding *.rc files and distribute
2338         them.
2339
2340         * makefile.cygwin.in: Add rules to automatically bump a "build
2341         number" in the version info in the rc files each time the DLL is
2342         built. But do this only for the person who releases binaries. If
2343         others build the DLLs, the build number is set to zero.
2344
2345 Fri Feb  4 19:36:05 2000  Tim Janik  <timj@gtk.org>
2346
2347         * glib.h: 
2348         * gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
2349         and g_dataset_id_remove_no_notify() to avoid second lookup for common
2350         use.
2351
2352 2000-02-01  Tor Lillqvist  <tml@iki.fi>
2353
2354         * glib.h
2355         * gstrfuncs.c (g_filename_to_utf8, g_filename_from_utf8): New
2356         functions for conversion between UTF-8 and the encoding expected
2357         by C runtime functions like open() and stat(), and returned by
2358         readdir().
2359
2360         Implement them on Win32 where we use the system "ANSI" codepage,
2361         which might be single-byte or double-byte. On Unix, just skip the
2362         issue for now and provide dummy implementations that return a copy
2363         of the argument.
2364
2365         * README.win32
2366         * build-dll
2367         * glib.def: Minor updates.
2368
2369 Wed Jan 26 05:24:38 2000  Tim Janik  <timj@gtk.org>
2370
2371         * glib.h:
2372         * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
2373         refetch the current time after invocation of poll() to cover up for
2374         the time spent in that function call.
2375
2376 Fri Jan 21 10:18:24 2000  Owen Taylor  <otaylor@redhat.com>
2377
2378         * glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
2379         the number of elements in an array.
2380
2381 Sun Jan  9 13:28:36 2000  Tim Janik  <timj@gtk.org>
2382
2383         * gstrfuncs.c (g_strtod): correctly fetch the current locale,
2384         fix from owen.
2385
2386 1999-12-16  Tor Lillqvist  <tml@iki.fi>
2387
2388         * gmodule/gmodule-win32.c: Use FormatMessage to translate system
2389         error codes into textual messages.
2390
2391 1999-11-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2392
2393         * glib.h (G_TRYLOCK): This of course should return TRUE in a
2394         program with a thread-disabled GLib.
2395
2396 1999-11-18  Tor Lillqvist  <tml@iki.fi>
2397
2398         * glib.def: g_strjoin was missing.
2399
2400 1999-11-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2401
2402         * acconfig.h, config.h.win32.in, configure.in: Renamed
2403         GLIB_SIZEOF_PTHREAD_T to GLIB_SIZEOF_SYSTEM_THREAD to reflect
2404         changed meaning.
2405
2406         * configure.in: Cope with systems, that have a pthread_t type,
2407         that is not a pointer. Hint from Karl Nelson
2408         <kenelson@ece.ucdavis.edu>. Define GLIB_SIZEOF_SYSTEM_THREAD to 4
2409         for Solaris. Cope with systems, that have no default mutex
2410         initialize, like obviously most DCE systems.
2411
2412         * glib.h, gthread.c: Changed the prototype of thread_create and
2413         thread_self to return the system thread into provided memory
2414         instead of a return value. This is necessary, as HPUX has a
2415         pthread_t, that is bigger than the biggest integral type there.
2416
2417         * gthread.c: system_thread is no longer a pointer, but an memory
2418         area of size GLIB_SIZEOF_SYSTEM_THREAD. Changed the
2419         zeroinitialization and the tests for zeroness accordingly.
2420
2421 1999-11-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2422
2423         * configure.in: Create docs/glib-config.1 from
2424         docs/glib-config.1.in. Makes 'make distcheck' happy (and me too).
2425
2426         * glib-config.1: Removed from CVS, as it is a generated file.
2427
2428 1999-11-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2429
2430         * configure.in: Make the test for getpwuid_r work on newer AIX
2431         versions, too. Still works on Solaris and Linux. Patch from Craig
2432         Rodrigues <rodrigc@mediaone.net>.
2433
2434 1999-11-08  Tor Lillqvist  <tml@iki.fi>
2435
2436         * gwin32.c (g_win32_getlocale): Look at env vars LC_ALL, LC_CTYPE
2437         and LANG first. Some refinements to the sublanguage logic.
2438
2439 1999-11-04  Tor Lillqvist  <tml@iki.fi>
2440
2441         * makefile.{cygwin,msc}.in: Add gwin32 object. Add rule to make .i
2442         (preprocessed source) files.
2443
2444 1999-11-01  Tor Lillqvist  <tml@iki.fi>
2445
2446         * glib.h
2447         * glib.def: Rename Win32-only functions from gwin_* to g_win32_*
2448         to match the GLib naming conventions.
2449
2450         * gutils.c
2451         * gwin32.c
2452         * testglib.c
2453         * Makefile.am: Move the Win32-only functions to the new
2454         file gwin32.c
2455
2456 1999-10-31  Tor Lillqvist  <tml@iki.fi>
2457
2458         * gutils.c (gwin_getlocale): New Win32-specific function, returns
2459         a Unixish current locale string (en, zh_TW etc).
2460
2461         * glib.h: Declare it.
2462
2463         * glib.def: Export it.
2464
2465         * testglib.c: Test it.
2466
2467         * gmessages.c (Win32: ensure_stdout_valid): Some improvements,
2468         make sure we don't call AllocConsole several times, which I think
2469         has happened.
2470
2471 Sun Oct 31 18:55:01 1999  ape@spacetec.no  (Asbjorn Pettersen)
2472
2473         * gcache.c (g_cache_remove): Test if node is NULL.
2474         If not tested, GIMP's script-fu will crash. 
2475
2476 Sun Oct 17 18:11:40 1999  Tim Janik  <timj@gtk.org>
2477
2478         * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around
2479         destroy() notification here as well.
2480
2481 1999-10-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2482
2483         * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist
2484         is called recursivly. Reported by Ola Andersson <rand@ling.umu.se>.
2485
2486 Tue Oct 12 14:17:12 1999  Tim Janik  <timj@gtk.org>
2487
2488         * glib.h: removed useless g_string(x) macro that cluttered the namespace
2489         and was just a poor wrapper around the cpp '#' symbol, use #x if you
2490         need to work around this.
2491         added new macro G_STRINGIFY(arg) that will convert arg to a string,
2492         no matter whether it contains macros or not.
2493
2494 1999-10-12  Tor Lillqvist  <tml@iki.fi>
2495
2496         * config.h.win32.in: Define the new GLIB_SIZEOF_* constants here,
2497         too.
2498
2499         * glib.h: Small Win32 comments improvement.
2500
2501 Tue Oct 12 12:16:12 1999  Tim Janik  <timj@gtk.org>
2502
2503         * gmessages.c (g_printf_string_upper_bound): completly new
2504         implementation for printf string upper bounds calculation.
2505         we handle all glibc 2.1 format specifiers now, except for positional
2506         parameters (%nn$...) and wide char strings, plus some obscure upper
2507         case variants of the standard conversions. this fixes a lot of
2508         bugs in the old code, i.e.
2509         - NULL format strings
2510         - floats with exponents >+24
2511         - %G
2512         - precision specifications in general
2513         - negative field widths
2514         - %p for SIZEOF_VOID_P > 4 platforms
2515         we now issue warnigns in places where the old code would have
2516         caused buffer overruns anyways. warnings are suppressed when invoked
2517         from glogv(), to avoid infinite recursions if someone passes a log
2518         message that comes with really obscure format specifications.
2519
2520 Tue Oct 12 11:49:00 1999  Tim Janik  <timj@gtk.org>
2521
2522         * gstrfuncs.c: nuked old g_printf_string_upper_bound() version.
2523
2524 Tue Oct 12 03:34:40 1999  Tim Janik  <timj@gtk.org>
2525
2526         * glib.h: added GFloatIEEE754 and GDoubleIEEE754 unions to access sign,
2527         mantissa and exponent of IEEE floats and doubles (required by the new
2528         version of g_printf_string_upper_bound). the unions are endian specific,
2529         we handle G_LITTLE_ENDIAN and G_BIG_ENDIAN as of currently. ieee floats
2530         and doubles are supported (used for storage) by at least intel, ppc and
2531         sparc, reference:
2532         http://twister.ou.edu/workshop.docs/common-tools/numerical_comp_guide/ncg_math.doc.html
2533
2534 Mon Oct 11 18:01:49 1999  Tim Janik  <timj@gtk.org>
2535
2536         * configure.in: added additional checks to figure sizes of size_t,
2537         ptrdiff_t and intmax_t (required by g_printf_string_upper_bound).
2538
2539 Wed Oct  6 12:44:23 PDT 1999 Manish Singh <yosh@gimp.org>
2540
2541         * configure.in: blah. use G_WITH_CYGWIN instead of G_HAVE_CYGWIN
2542
2543 1999-10-05  Tor Lillqvist  <tml@iki.fi>
2544
2545         * glib.h: (Win32) Drop the mapping of POSIX function names to the
2546         underscored versions, it's unnecessary after all. With MSVC we get
2547         them from oldnames.lib, with gcc-2.95 and mingw32 from
2548         -lmoldname-msvc. Add comment about what headers to include for
2549         prototypes.
2550
2551         * glibconfig.h.win32.in: Don't define WIN32 and NATIVE_WIN32.
2552
2553         * gerror.c (g_on_error_query): (Win32) Slightly increased verbosity.
2554
2555         * build-dll: Don't strip.
2556
2557         * tests/string-test.c tests/dirname-test.c: Use G_OS_WIN32.
2558
2559         * glib.def: Add g_thread_use_default_impl.
2560
2561 Sun Oct  3 19:46:55 PDT 1999 Manish Singh <yosh@gimp.org>
2562
2563         * configure.in: use G_HAVE_CYGWIN instead of G_OS_FEATURE_CYGWIN
2564
2565 Sun Oct  3 19:25:42 PDT 1999 Manish Singh <yosh@gimp.org>
2566
2567         * acconfig.h
2568         * configure.in
2569         * glibconfig.h.win32: G_OS_FOO #defines. I *think* I got the cygwin
2570         and beos stuff right, but I haven't tested it. The respective
2571         porters should fix any screwups
2572
2573         * glib.h
2574         * gerror.c
2575         * gmain.c
2576         * gmessages.c
2577         * gscanner.c
2578         * gthread.c
2579         * gtimer.c
2580         * gutils.c
2581         * testglib.c: use G_OS stuff
2582
2583 Wed Sep 22 01:53:18 1999  Tim Janik  <timj@gtk.org>
2584
2585         * glib.h (NULL): define NULL as (0L) if __cplusplus is defined, to
2586         avoid "ANSI C++ forbids implicit conversion from `void *' in argument
2587         passing" errors upon NULL usage in C++ programs (gcc-2.95 is on crack
2588         for erroring out on this, instead of just issueing a warning).
2589
2590         * glib.h (g_trash_stack_pop): use uncasted NULL again.
2591
2592 Fri Sep 17 10:24:45 1999  Tim Janik  <timj@gtk.org>
2593
2594         * gmem.c (g_mem_chunk_compute_size) (g_mem_chunk_new): applied
2595         patch from Soeren Sandmann <sandmann@daimi.au.dk>, to force mem
2596         chunk's area sizes to be a multitiple of atom_size, and to
2597         eliminate the MAX_MEM_AREA restriction of 65536 bytes. we also
2598         catch cases where users pass an area size < atom size with a
2599         return_if_fail statement now (which is ok, because previously this
2600         lead to memory corruption anyways).
2601
2602 Thu Sep 16 13:19:54 1999  Tim Janik  <timj@gtk.org>
2603
2604         * glib.h (g_trash_stack_pop): add explicit (GTrashStack*) cast for NULL
2605         pointer to cure ANSI C++ error.
2606
2607 Mon Sep 13 23:25:59 1999  Tim Janik  <timj@gtk.org>
2608
2609         * gmessages.c (g_logv): in case we have to abort the program,
2610         debugging is enabled and we are not called recursively, try
2611         to abort with raise (SIGTRAP) first, so developers may ignore
2612         certain failure conditions during debugging stage.
2613
2614 Thu Aug 26 15:09:36 1999  Tim Janik  <timj@gtk.org>
2615
2616         * Makefile.am:
2617         * gmodule/Makefile.am:
2618         * gthread/Makefile.am: added --export-dynamic so we can load dynmic
2619         modules, (required, according to the libtool 1.3.3 docu).
2620
2621 1999-07-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2622
2623         * grand.c (g_rand_new): Use /dev/urandom, as it doesn't block,
2624         which /dev/random might do. Do not XOR the time, when getting the
2625         seed form /dev/urandom, as this is good itself. Prevent the
2626         initial seed from being zero, which causes the PRNG to produce
2627         only zeros. Hints from Colin Plumb <colin@pgp.com>.
2628
2629 1999-08-17  Tor Lillqvist  <tml@iki.fi>
2630
2631         * glib.h (g_trash_stack_push): Add a cast.
2632
2633         * gslist.c
2634         * glist.c: Make the inline functions static inline, and add
2635         separate extern wrappers. Not all compilers produce callable entry
2636         points for inline functions, even if gcc does.
2637
2638 Sun Aug 15 02:47:14 1999  Tim Janik  <timj@gtk.org>
2639
2640         * glib.h (g_trash_stack_pop): eliminate memset() call, since string.h
2641         has not neccessarily been included prior to glib.h.
2642
2643 Mon Aug  2 21:03:10 1999  Tim Janik  <timj@gtk.org>
2644
2645         * configure.in: added --enable-msg-prefix option.
2646
2647         * gmessages.c (g_log_default_handler): feature "prg_name (pid:%u): "
2648         if --enable-msg-prefix was selected (use "(process:%u): " if
2649         g_get_prgname () returns NULL, along the lines of g_on_error_query).
2650
2651 1999-08-03  Tor Lillqvist  <tml@iki.fi>
2652
2653         * glib.h
2654         * gstrfuncs.c
2655         * tests/strfunc-test.c: Rename g_strccpy to g_strcompress and
2656         g_strecpy to g_strescape per Tim Janik's suggestion. Dropped the
2657         destination parameter, always g_malloc a new string.  Fix bug in
2658         g_strcompress, octal digits were gobbled up without limit, should
2659         use max three.
2660
2661         Sources that use g_strescape must have ifdefs to be compilable
2662         both with GLib 1.2 and 1.3.
2663
2664 Sat Jul 31 17:52:03 PDT 1999 Manish Singh <yosh@gimp.org>
2665
2666         * glib.h
2667         * gstrfuncs.c: the #define for g_strescape interfered with the
2668         compilation of the function, so just remove the function and
2669         note that it's deprecated in the header
2670
2671 1999-08-01  Tor Lillqvist  <tml@iki.fi>
2672
2673         * gstrfuncs.c (g_strccpy, g_strecpy): New functions.
2674
2675         * glib.h: Declare and document them. Define the deprecated
2676         g_strescape as a macro that calls g_strecpy.
2677
2678         * tests/strfunc-test.c (main): Test them.
2679
2680         * makefile.{cygwin,msc}.in
2681         * tests/makefile.{cygwin,msc}.in: Remove gstack and its test
2682         program.
2683
2684         * glib.def: Additions and removals.
2685
2686         * README.win32: Improve gcc build instructions.
2687
2688         * build-dll: Also build import library for MSVC.
2689
2690 Sat Jul 24 20:11:35 1999  Tim Janik  <timj@gtk.org>
2691
2692         * merged GLib 1.3.0 with glib-1.2.3 from Fri Jul 16 22:18:36.
2693         * incorporated proposed cleanups from gtk-devel-list.
2694
2695         * bumped version number to GLib-1.3.1
2696
2697         * glib.h:
2698         * gqueue.c:
2699         * gstring.c:
2700         * glist.c:
2701         removed string tokenisation (we got g_strsplit() and g_strjoin()
2702         already) and readline functions.
2703         s/g_list_delete/g_list_delete_link.
2704         implemented g_slist_delete_link.
2705         removed notion of g_ATEXIT() macro in glib.h, this is an *internal*
2706         macro, g_atexit() is provided for public consumption.
2707         added GTrashStack inline utility functions.
2708         reimplement double eneded queues.
2709         removed GStack implementation, people can use a queue or a (singly)
2710         linked list for this task.
2711         deprecated g_strescape(), we need the SunOS variants here.
2712
2713         * gdate.c: added DEBUG_MSG() macro to wrap old messages.
2714
2715         * *.*: CVS merges.
2716
2717         * upgrade to libtool 1.3.3.
2718
2719 1999-07-21  Tor Lillqvist  <tml@iki.fi>
2720
2721         Win32: With the latest gcc (2.95, pre-release), we can have binary
2722         compatibility with MSVC by using the switch -fnative-struct. No
2723         longer build DLLs with .gcc in the name when using gcc.
2724
2725         * README.win32: Renew gcc build instructions.
2726
2727         * build-dll: Comments change, handle also .a files.
2728
2729         * makefile.cygwin.in
2730         * tests/makefile.cygwin.in: Remove .gcc from DLL name.
2731
2732 1999-07-13  Tor Lillqvist  <tml@iki.fi>
2733
2734         * README.win32: Correct URL for mingw runtime sources.
2735
2736         * build-dll: Combine commands with &&.
2737
2738         * glib.h: Map also rmdir() and hypot() for MSVCRT library.
2739
2740         * makefile.cygwin.in
2741         * tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
2742         now called *.gcc.dll, to avoid binary incompatibilities with
2743         MSVC-compiled versions.
2744
2745         * makefile.msc.in: Cosmetics.
2746
2747 1999-07-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2748
2749         * configure.in: Test for pthread_join rather than for
2750         pthread_create to determine the right thread-lib. Makes it work on
2751         mips-sgi-irix6.5. Hitn from to Jari Vuoksenranta
2752         <javu@piano.ux.phys.jyu.fi>.
2753
2754 1999-07-02  Tor Lillqvist  <tml@iki.fi>
2755
2756         * README.win32: Note about need to fix another bug in the mingw32
2757         headers.
2758
2759         * makefile.msc.in: Debugging turned on via an nmake variable,
2760         no need to edit the makefile.
2761
2762 1999-07-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2763
2764         * configure.in, acconfig.h, gutils.c: Added a g_memmove
2765         replacement for platforms without memmove, where bcopy can't
2766         handle overlapping copies and the corresponding checks, which is
2767         taken form the PERL Configure routine.
2768
2769         * glib.h: Updated the commentary about g_memmove to be right and
2770         more GLib-like.
2771
2772         * configure.in: Removed test for rand_r, as it isn't used anymore.
2773
2774 1999-06-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2775
2776         * glib.h, grand.c: Finally removed the g_random_normal and
2777         g_rand_normal functions.
2778
2779 1999-06-28  Tor Lillqvist  <tml@iki.fi>
2780
2781         * glib.def: Add missing export of g_strncasecmp.
2782
2783 1999-06-21  Jose Mercado  <jmercado@mit.edu>
2784
2785         * glib.spec.in: Changed version number (1.1->1.3) in files section
2786         to allow rpm to build packages again.
2787
2788 1999-06-21  Tor Lillqvist  <tml@iki.fi>
2789
2790         * README.win32: Update the pthreads snapshot version we want.
2791         Advice how to hand-expand the makefile.*.in files.
2792
2793         * config.h.win32.in: Define values needed by Sebastian Wilhelmi's
2794         new thread stuff.
2795
2796         * glib.def: Add new functions.
2797
2798         * glibconfig.h.win32.in: Update the pthreads snapshot version.
2799         Fix typo.
2800
2801         * gthread.c: Include config.h, guard inclusion of unistd.h.  When
2802         using gcc on Win32, g_thread_functions_for_glib_use must be marked
2803         for export here, too.
2804
2805         * gtimer.c: Implement g_usleep on native Win32 using Sleep (which
2806         only has millisecond granularity, though).
2807
2808         * makefile.cygwin.in
2809         * makefile.msc.in: Update pthreads snapshot version. File
2810         name changes. Remove testgthread.
2811
2812         * tests/makefile.cygwin.in
2813         * tests/makefile.msc.in: Add thread-test. Link with gthread lib.
2814
2815 1999-06-18  Jeff Garzik  <jgarzik@pobox.com>
2816
2817         * tests/Makefile.am:  Re-order tests in alpha order.
2818
2819 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2820
2821         * configure.in: Changed test for pthread_attr_setstacksize from
2822         AC_TRY_COMPILE to AC_TRY_LINK.
2823
2824 1999-06-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2825
2826         * configure.in, acglib.m4, acconfig.h, glib.h, gthread.c:
2827         Completed the thread support in GLib. Thread creation,
2828         prioritizing threads, yielding, joining threads as well as
2829         reader/writer locks and recursive mutexes are now in place. Please
2830         test heavily on your platform. It is so far tested on
2831         Linux/i386/pthreads, Solaris/Sparc/pthreads and
2832         Solaris/Sparc/solaristhreads.
2833
2834         * gtimer.c, glib.h: Implement g_usleep (gulong microseconds) for
2835         thread safe sleeping. (sleep() is not MT-safe at all!)
2836
2837         * gutils.c: Avoid compiler warning.
2838
2839         * tests/Makefile.am, tests/thread-test.c: New program to test some
2840         aspects of the thread implementation.
2841
2842         * gthread.c, Makefile.am: Renamed from gmutex.c to reflect the
2843         change of content.
2844
2845         * configure.in: Purged all appearances of nspr. 
2846
2847 Wed Jun  2 11:42:46 PDT 1999 Manish Singh <yosh@gimp.org>
2848
2849         * acinclude.m4
2850         * config.guess
2851         * config.status
2852         * ltconfig
2853         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
2854
2855 1999-05-29  Tor Lillqvist  <tml@iki.fi>
2856
2857         * gstrfuncs.c (g_strescape): Backslashify also '"' characters.
2858
2859         * glib.h: Document g_strescape.
2860
2861 1999-05-12  Tor Lillqvist  <tml@iki.fi>
2862
2863         * glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
2864         _fstat.
2865
2866         * README.win32: Advice also to remove -lmoldname in the
2867         patch to the egcs-1.1.2 spec file.
2868
2869 Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
2870
2871         * gmodule/Makefile.am: Another small fix.
2872
2873 1999-05-08  Tor Lillqvist  <tml@iki.fi>
2874
2875         * Makefile.am tests/Makefile.am: Correct rules for making the
2876         win32-related files that are made from corresponding .in files.
2877         Is there a cleaner way than explicitly writing rules that invoke
2878         config.status?
2879
2880 Fri Jul 16 22:18:36 PDT 1999 Manish Singh <yosh@gimp.org>
2881
2882         * ltconfig
2883         * ltmain.sh: upgrade to libtool 1.3.3
2884
2885 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2886
2887         * gdate.c, gstrfuncs.c, gstring.c: Fixed the use of the
2888         is..... and to..... macros, which take unsigned chars, not chars!
2889         Thanks to Morten Welinder <terra@diku.dk> for pointing this out.
2890
2891 Thu Jun  3 16:30:31 PDT 1999 Manish Singh <yosh@gimp.org>
2892
2893         * gerror.c (g_on_error_query): check isatty() before querying so
2894         we don't loop endlessly
2895
2896 Sat May 29 11:16:29 PDT 1999 Manish Singh <yosh@gimp.org>
2897
2898         * acinclude.m4
2899         * config.guess
2900         * config.status
2901         * ltconfig
2902         * ltmain.sh: upgrade to libtool 1.3.2
2903
2904 1999-05-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2905
2906         * gmain.c: provide a poll prototype for SunOS, as they do not do
2907         it self. Hint from Christian Parg <cparg@fs-design.de>.
2908
2909 Tue May 25 12:23:07 1999  Owen Taylor  <otaylor@redhat.com>
2910
2911         * gstrfuncs.c (g_strchug): Use g_memmove() not memmove().
2912         (Reported by Charles Levert <charles@comm.polymtl.ca>)
2913
2914 Mon May 10 22:03:52 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
2915
2916         * Released GLib 1.2.3
2917
2918 1999-05-08  Tor Lillqvist  <tml@iki.fi>
2919
2920         * Makefile.am tests/Makefile.am: Correct rules for making the
2921         win32-related files that are made from corresponding .in files.
2922         Is there a cleaner way than explicitly writing rules that invoke
2923         config.status?
2924
2925 Sat May  1 10:18:01 PDT 1999 Manish Singh <yosh@gimp.org>
2926
2927         * acinclude.m4
2928         * config.guess
2929         * config.status
2930         * ltconfig
2931         * ltmain.sh: upgrade to libtool 1.3
2932
2933 1999-04-30  Tor Lillqvist  <tml@iki.fi>
2934
2935         * Makefile.am: Don't distribute glibconfig.h.win32.in, but
2936         glibconfig.h.win32. Generate it when making a dist. Also generate
2937         makefile.msc and config.h.win32 from corresponding .in files when
2938         making dist.
2939
2940         * configure.in: Also substitute @GLIB_INTERFACE_AGE@ and
2941         @GLIB_BINARY_AGE@ (needed in config.h.win32).
2942
2943         * glibconfig.h.win32.in: Use static mutex structure and initial
2944         value corresponding to the 1999-04-07 snapshot of pthreads-win32.
2945
2946         * tests/Makefile.am: Distribute makefile.msc. Generate it when
2947         making dist.
2948
2949         * tests/makefile.msc.in: New file.
2950
2951         * tests/node-test.c: Include <stdlib.h> for exit().
2952
2953 Thu Apr 29 02:16:36 1999  Tim Janik  <timj@gtk.org>
2954
2955         * gstrfuncs.c: minor code cleanups.
2956
2957 Tue Apr 27 13:11:29 1999  Owen Taylor  <otaylor@redhat.com>
2958
2959         * gmain.c (g_main_poll): Mask out ERR HUP and NVAL from
2960         the events field so we don't give IRIX fits.
2961
2962 Tue Apr 20 08:42:22 1999  Tim Janik  <timj@gtk.org>
2963
2964         * gscanner.c (g_scanner_unexp_token): behave conservative with
2965         G_TOKEN_IDENTIFIER_NULL and always assume scanner->value.v_string
2966         to be "null" in that case.
2967
2968 1999-04-20  Havoc Pennington  <hp@pobox.com>
2969
2970         * gutils.c (g_vsnprintf):  When using the vsnprintf()
2971         implementation, '\0'-terminate the resulting string
2972         and return its length rather than -1.
2973
2974 Mon Apr 19 13:42:21 1999  Owen Taylor  <otaylor@redhat.com>
2975
2976         * gmain.c (g_main_iterate): Added missing
2977         #ifdef G_THREADS_ENABLED. (I never liked G_THREADS_ENABLED in
2978         the first place!)
2979
2980 1999-04-18  Havoc Pennington  <hp@pobox.com>
2981
2982         * gutils.c (g_snprintf): When using the vsnprintf()
2983         implementation, '\0'-terminate the resulting string
2984         and return its length rather than -1.
2985
2986 Fri Apr 16 06:52:07 1999  Tim Janik  <timj@gtk.org>
2987
2988         * gscanner.c (g_scanner_unexp_token): feature G_TOKEN_EOF as a valid
2989         expected token as well, so we get "- expected end of file" instead of
2990         "- expected (unknown) token <0>".
2991
2992 Tue Apr 13 16:16:14 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
2993
2994         * Released GLib 1.2.2
2995
2996 1999-04-12  Elliot Lee  <sopwith@mh69.mh.cuc.edu>
2997
2998         * g_strchug(): s/strcpy/memmove/
2999
3000 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3001
3002         * configure.in: Adjusted the test for an unimplemented
3003         getpwuid_r. Info from Michael Pruett <mikep@ugcs.caltech.edu>.
3004
3005 Sun Apr 11 15:07:34 1999  Tim Janik  <timj@gtk.org>
3006
3007         * configure.in: bumped versin number to GLib 1.2.2, interface 2,
3008         binary 2.
3009
3010         * NEWS: updates.
3011
3012 Sun Apr 11 14:37:06 1999  Tim Janik  <timj@gtk.org>
3013
3014         * gstrfuncs.c (g_strcasecmp): always check for s1, s2 != NULL.
3015
3016 Sat Apr 10 19:30:50 1999  Tim Janik  <timj@gtk.org>
3017
3018         * glib.h: removed braces around inline strings for the G_GNUC_FUNCTION
3019         and G_GNUC_PRETTY_FUNCTION macros, so the macros can be used for
3020         compile time string concatenation.
3021
3022 Thu Apr  8 19:53:19 1999  Owen Taylor  <otaylor@redhat.com>
3023
3024         * gmain.c (g_main_iterate): Check for two threads
3025         calling g_main_iterate at once.
3026
3027         * gmain.c: If the set of poll file descriptors changes
3028         during a call to poll(), abort that call, and start
3029         a new poll. My test program still segfaults
3030         obscurely on glibc 2.0 (in read()!!!), but now it works on
3031         glibc 2.1, so I'll blame something else for the other segfault.
3032
3033 1999-03-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3034
3035         * configure.in: Fixed slight bug, that made configure hang on some
3036         systems. Please do not merge this into 1.3 branch. It's taken care
3037         of differently there. Info from J. Rhett Aultman
3038         <cuplan@alley.gator.net>
3039
3040 Wed Mar 24 21:23:47 CST 1999 Shawn T. Amundson <amundson@gtk.org>
3041
3042         * Released GLib 1.2.1
3043
3044         * README:
3045           INSTALL: 
3046           NEWS: 
3047           sanity_check: updated
3048
3049         * glibconfig.h.win32.in:
3050           Makefile.am:
3051           docs/glib-config.1.in:
3052           docs/Makefile.am: Added files used to generate new files.
3053
3054         * glibconfig.h.win32:
3055           docs/glib-config.1: Removed, now generated.
3056
3057         * configure.in: Added to output now-generated files.
3058
3059 Tue Mar 23 13:43:39 PST 1999 Manish Singh <yosh@gimp.org>
3060
3061         * giounix.c: add user_data param to check and prepare functions
3062
3063 Mon Mar 22 03:54:43 1999  Tim Janik  <timj@gtk.org>
3064
3065         * glib.h:
3066         * gmain.c: add user_data to the GSource ->check and ->prepare
3067         functions, so it can be used to e.g. pass a GPollFd.
3068         (g_main_poll): only add poll records with an events mask != 0 to the
3069         fd_array. don't even bother calling poll_func() if fds=timeout=0.
3070         added debugging printouts around poll_func() invokation that can be
3071         enabled with #define G_MAIN_POLL_DEBUG.
3072
3073 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
3074
3075         * acinclude.m4
3076         * config.guess
3077         * config.sub
3078         * ltconfig
3079         * ltmain.sh: upgrade to libtool 1.2f
3080
3081         * autogen.sh: libtool is not required to autogen glib
3082
3083         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
3084         needed)
3085
3086 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3087
3088         * gmem.c: Fixed another stupid fault of mine: Did
3089         s/g_static_/g_private_/g
3090
3091 Wed Mar 17 03:17:42 1999  Tim Janik  <timj@gtk.org>
3092
3093         * configure.in bumped versin number to GLib 1.2.1, interface 1,
3094         binary 1.
3095
3096         * NEWS: updates.
3097
3098         * glib.h: added GLIB_CHECK_VERSION() macro similar to
3099         GTK_CHECK_VERSION().
3100
3101 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
3102
3103         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
3104         to g_return_if_fail().
3105         (g_mem_profile): 
3106         (g_mem_chunk_print): 
3107         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
3108         messages.
3109
3110         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
3111         to g_return_if_fail().
3112         * grel.c (g_*): changed a bunch of g_assert() statements to
3113         g_return_if_fail() and added some extra ones to check relation != NULL.
3114
3115 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3116
3117         * configure.in: Also accept _Pctime_r instead of ctime_r, while
3118         seraching for the right `_REENTRANT' flag. This is for Digital
3119         UNIX 4.0d. Thanks to Sascha Brawer <sb@adasys.ch>.
3120
3121 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
3122
3123         * configure.in: check for working realloc (NULL,).
3124         * gmem.c (g_realloc): use malloc() for initial allocation on systems
3125         where realloc(NULL,) will not work (this is the case on SunOS, reported
3126         by Tom Geiger).
3127
3128 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
3129
3130         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
3131         flag around the call to g_hook_free() to avoid spurious
3132         warnings (happens during destruction phase).
3133
3134 1999-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3135
3136         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
3137         from config.h.win32 to glibconfig.h.win32
3138
3139         * acconfig.h, configure.in, config.h.win32: Added test for DCE
3140         versions of mutex_trylock and cond_timedwait. The win32 versions
3141         are posix, aren't they?
3142
3143 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3144
3145         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
3146         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
3147
3148 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3149
3150         * gutils.c (g_get_any_init): Fixed yet another bloody
3151         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
3152         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
3153         test better than that, but have no idea, how to do that easily.
3154
3155 Sun Feb 21 22:11:51 CST 1999  Shawn T. Amundson <amundson@gtk.org>
3156
3157         * Released GLib 1.2.0
3158
3159         * AUTHORS: updated
3160
3161 Wed Feb 24 00:08:42 CST 1999 Shawn T. Amundson <amundson@gtk.org>
3162
3163         * *.[ch]: inserted additional note to look for ChangeLog and
3164           AUTHORS file for a log of modifications.
3165
3166 Sun Feb 21 14:01:00 1999  Dr Mike <drmike@redhat.com>
3167
3168         * Made specfile generated, tweaked slightly
3169
3170 Sat May  8 06:00:17 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
3171
3172         * configure.in
3173           gmodule/Makefile.am
3174           gthread/Makefile.am: Better testing reveals better
3175           methods.  Fixes for BeOS.
3176
3177 Sat May  8 01:52:29 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
3178
3179         * configure.in
3180           gerror.c
3181           gmain.c
3182           gstrfuncs.c
3183           gutils.c
3184           ltconfig
3185           ltmain.sh
3186           gmodule/Makefile.am
3187           gmodule/gmodule.c
3188           gmodule/gmoduleconf.h.in
3189           gmodule/gmodule-beos.c
3190           gthread/Makefile.am: Port to BeOS by myself and Richard Offer.
3191
3192 1999-05-06  Tor Lillqvist  <tml@iki.fi>
3193
3194         * makefile.msc.in makefile.cygwin.in glibconfig.h.win32.in
3195         config.h.win32.in tests/makefile.msc.in tests/makefile.cygwin.in:
3196         New files, used to generate corresponding non-.in files when
3197         making a dist. This is just so the version numbers will be kept in
3198         synch automatically.
3199
3200         * configure.in: Also substitute @GLIB_MAJOR_VERSION@,
3201         @GLIB_MINOR_VERSION@, and @GLIB_INTERFACE_AGE@.
3202
3203         * Makefile.am tests/Makefile.am: Also distribute makefile.cygwin.
3204
3205         * gerror.c (g_on_error_query): On Win32, put up a MessageBox and
3206         then exit.
3207
3208         * glib.def: Add a couple of functions.
3209
3210 Sat May  1 10:26:20 PDT 1999 Manish Singh <yosh@gimp.org>
3211
3212         * acinclude.m4
3213         * config.guess
3214         * config.status
3215         * ltconfig
3216         * ltmain.sh: upgrade to libtool 1.3
3217
3218 1999-04-25  Tor Lillqvist  <tml@iki.fi>
3219
3220         * README.win32: More editing.
3221         * build-dll: Use gcc, not ld to link.
3222         * glib.h: On native Win32 use _unlink().
3223         * gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
3224         not _MSC_VER.
3225         * gstring.c: Include <io.h> on Win32 for _read prototype.
3226         * gutils.c: Remove old IO channel code (was in #if 0).
3227         * makefile.cygwin: Don't need to link with kernel32 and msvcrt
3228         explicitly, they are included anyway.
3229
3230 1999-04-24  Tor Lillqvist  <tml@iki.fi>
3231
3232         Support added for building using a GNU toolchain on Win32,
3233         i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).
3234
3235         * README.win32: Updated.
3236         * build-dll makefile.cygwin tests/makefile.cygwin: New files.
3237         * glib.h glib.def glibconfig.h.win32: Slight updates. 
3238         * gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
3239         * gmain.c gutils.c testglib.c tests/string-test.c: Test for
3240         NATIVE_WIN32, not _MSC_VER.
3241         * gmutex.c: Must declare g_thread_functions_for_glib_use as
3242         exported (using the GUTILS_C_VAR macro).
3243         * gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
3244         * gmodule/gmoduleconf.h.win32: Need underscore with gcc.
3245         * gthread/gthread.c: With gcc on Win32, must use memcpy to assign
3246         value of g_thread_functions_for_glib_use (?).
3247         * makefile.msc tests/makefile.msc: Cosmetics.
3248
3249 Fri Apr 23 14:29:25 BST 1999  Tony Gale <gale@gtk.org>
3250
3251         * glib.h: Fix typo in g_string_ncasecmp macro (by me).
3252           Add b_string_strncasecmp macro.
3253
3254 1999-04-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3255
3256         * gutils.c (g_get_any_init): use sysconf (_SC_GETPW_R_SIZE_MAX) as
3257         the new initinal bufsize for getpwuid_r on systems, that support
3258         this. Hint from Holger Duerer <H.Duerer@zait.uni-bremen.de>.
3259
3260 Sat Apr 17 20:55:13 BST 1999  Tony Gale <gale@gtk.org>
3261
3262         * glib.h, gstring.c: Add new g_string functions for reading
3263           from file/socket descriptors, and tokenising strings.
3264
3265           Added various g_string macros.
3266
3267 Tue Apr 13 23:28:32 1999  Tor Lillqvist  <tml@iki.fi>
3268
3269         * README.win32: Mention the tests directory.
3270
3271         * glib.def: Add the functions from grand.c.
3272
3273         * glibconfig.h.win32: Add unsigned max values, and the format
3274         strings.
3275
3276         * makefile.msc: Add grand.
3277
3278         * tests/{date-test,node-test}.c: Include <stdlib.h> for exit().
3279
3280         * tests/makefile.msc: New file.
3281
3282 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3283
3284         * glib.h: Moved struct declaration up. Style fixes.
3285
3286         * grand.c: Style fixes. Only try to open /dev/random once.
3287
3288         * tests/rand-test.c (main): New tests; Slight bug fix. 
3289
3290 1999-04-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3291
3292         * grand.c, tests/rand-test.c: New files to implement the Mersenne
3293         Twister Pseudo Random Number Generator.
3294
3295         * glib.h, AUTHORS, Makefile.am, tests/Makefile.am: Changed
3296         accordingly.
3297
3298 Thu Apr  8 21:12:30 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
3299
3300         * Released GLib 1.3.0
3301
3302 1999-03-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3303
3304         * configure.in: Added a check for the right format to printf and
3305         scanf long longs. It is %qi instead of %lli on FreeBSD for
3306         whatever reason.
3307
3308 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
3309
3310         * Makefile.am (glibconfig.h): Make sure `glibconfig.h' exists
3311         after the rule is fired.
3312         (install-exec-local): Install glibconfig.h only if the contents
3313         are different from the currently installed glibconfig.h.
3314
3315 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
3316
3317         * Makefile.am (configexecincludedir): Rename from 
3318         configincludedir so that glibconfig.h will be installed 
3319         as part of `make install-exec'. 
3320
3321 Thu Mar 25 22:45:47 1999  Tor Lillqvist  <tml@iki.fi>
3322
3323         * config.h.win32: Update version numbers.
3324
3325         * glibconfig.h.win32: Update version numbers and pthreads-win32-
3326         related magic values.
3327
3328         * README.win32: Some improvements.
3329
3330         * makefile.msc: Add gqueue and gstack. Correct version number.
3331
3332 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
3333
3334         * acinclude.m4
3335         * config.guess
3336         * config.sub
3337         * ltconfig
3338         * ltmain.sh: upgrade to libtool 1.2f
3339
3340         * autogen.sh: libtool is not required to autogen glib
3341
3342         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
3343         needed)
3344
3345 1999-03-18  Jeff Garzik  <jgarzik@pobox.com>
3346
3347         * glib.def: Add new g_list, g_stack, g_queue functions.
3348
3349 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3350
3351         * configure.in: added new AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
3352         to hold various defines to get the right thread implementation on
3353         different platforms. Also look in -ldce for pthread_create. Should
3354         make it work on HP-UX 10.x. Information from "D. Emilio Grimaldo
3355         Tunon" <emilio_tunon@nl.compuware.com>.
3356
3357 1999-03-17  Jeff Garzik  <jgarzik@pobox.com>
3358
3359         * gstack.c, gqueue.c:
3360         Add copyright, clean up code a bit.
3361
3362 1999-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3363
3364         * configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
3365         platforms with only /usr/include/values.h.
3366
3367         * acconfig.h: Removed unnecessary macros.
3368
3369         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
3370         from config.h.win32 to glibconfig.h.win32. Taken from glib 1.2
3371         branch.
3372
3373         * configure.in: Also accept _Pctime_r instead of ctime_r, while
3374         seraching for the right `_REENTRANT' flag. This is for Digital
3375         UNIX 4.0d. Taken from glib 1.2 branch.
3376
3377 Wed Mar 17 03:14:56 1999  Tim Janik  <timj@gtk.org>
3378
3379         * glib.h: added GLIB_CHECK_VERSION() macro similar to
3380         GTK_CHECK_VERSION().
3381
3382 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
3383
3384         * merges from glib-1-2:
3385
3386 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
3387
3388         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
3389         to g_return_if_fail().
3390         (g_mem_profile):
3391         (g_mem_chunk_print):
3392         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
3393         messages.
3394
3395         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
3396         to g_return_if_fail().
3397         * grel.c (g_*): changed a bunch of g_assert() statements to
3398         g_return_if_fail() and added some extra ones to check relation != NULL.
3399
3400 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
3401
3402         * configure.in: check for working realloc (NULL,).
3403         * gmem.c (g_realloc): use malloc() for initial allocation on systems
3404         where realloc(NULL,) will not work (this is the case on SunOS, reported
3405         by Tom Geiger).
3406
3407 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
3408
3409         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
3410         flag around the call to g_hook_free() to avoid spurious
3411         warnings (happens during destruction phase).
3412
3413 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3414
3415         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
3416         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
3417
3418 1999-03-16  Timur Bakeyev  <mc@bat.ru>
3419
3420         * configure.in: Fix problem with pthread_create in libc, as running
3421         "gcc test.c -l " is not legal.
3422
3423 1999-03-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3424
3425         * tests/type-test.c: Added a test for the
3426         G_(U)?INT(16|32|64)_FORMAT and G_(MIN|MAX|MAXU)(SHORT|INT|LONG)
3427         macros.
3428
3429         * configure.in: Removed G_(U)?INT8_FORMAT again, as it can't be
3430         used for scanf.
3431
3432         * configure.in: Added the macros G_MAXU(SHORT|INT|LONG). I do not
3433         know how to handle these on platforms with /usr/include/values.h,
3434         but without /usr/include/limits.h. Please someone add this.
3435
3436
3437 1999-03-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3438
3439         * configure.in: Added the macros G_(U)?INT(8|16|32|64)_FORMAT to
3440         use for printf and (much more important) scanf format strings for
3441         the corresponding GLib types. 
3442
3443         * glib.h Added G_(U)?(SHORT|INT|LONG)_FORMAT for consistency. It
3444         however makes no sense to also provide G_(FLOAT|DOUBLE)_FORMAT, as
3445         they are different for printf (f for both) and scanf (f for float,
3446         lf for double). Defining G_INT_FORMAT makes sense however, as we
3447         might want to define gint to something different than int someday
3448         in the future. Idea from Sascha Brawer <sb@adasys.ch>.
3449
3450 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
3451
3452         * gdate.c:
3453         Commented out debugging output.
3454
3455         * tests/Makefile.am, tests/date-test.c:
3456         Added test of the GDate module, based closely on testgdate.c.
3457
3458         * tests/Makefile.am:
3459         Bugfix - compile tests with @GLIB_DEBUG_FLAGS@.
3460
3461 1999-03-14  Raja R Harinath  <harinath@cs.umn.edu>
3462
3463         * configure.in (glibconfig.h): Remove widechar tests and defines.
3464         (fd_set): Change the grep for `fd_mask' to search for `fd_set'.
3465         * gerror.c (fd_mask): Remove conditional typedef.  It is not used
3466         elsewhere in the file.
3467         * gmain.c (fd_mask): Likewise.
3468
3469 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3470
3471         * configure.in: Test for posix threads first, then for dce threads.
3472
3473 1999-03-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3474
3475         * configure.in: Revamped the thread configure stuff. Now dce
3476         threads (old posix draft) are recogniced. This is necessary,
3477         because dce threads are in fact working quite differently from
3478         posix threads. Also changed the conditions for checking for MT
3479         safe functions a bit, because G_THREADS_IMPL_NONE still have to
3480         compile thread safe. NOTE: Please do not commit my change to
3481         glib-1-2/{acconfig.h,configure.in,config.h.win32} from 1999-03-03,
3482         as the current change will take care of that too.
3483
3484 Tue Mar  9 14:37:32 1999  Jeff Garzik  <jgarzik@pobox.com>
3485
3486         * Makefile.am, glib.h, gstack.c, gqueue.c,
3487           tests/Makefile.am, tests/queue-test.c, tests/stack-test.c:
3488         Added stack, queue ADTs and related tests.
3489
3490         * glib.h, glist.c:
3491         New g_list_delete() function.
3492
3493 Sat Mar  6 11:03:08 1999  Asbjorn Pettersen  <ape@lrdpf.spacetec.no>
3494
3495         * gutils.c (g_get_any_init): add OS/2 changes.
3496         change '\\' in HOME to '/'.
3497
3498 1999-03-03  Josh MacDonald  <jmacd@spin.dsl.pacbell.net>
3499
3500         * glib.def: g_spaced_primes_closest was omitted here, so I
3501         couldn't build Xdelta on Windows.
3502
3503 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3504
3505         * gutils.c (g_get_any_init): Fixed yet another bloody
3506         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
3507         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
3508         test better than that, but have no idea, how to do that easily.
3509
3510 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
3511
3512         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
3513         new one.
3514
3515         * configure.in: set glib version to 1.3.0.