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