1a9996efb82bf73c990e9e8355e5fdb3e857a599
[platform/upstream/glib.git] / ChangeLog.pre-2-0
1 Fri Feb 15 11:41:42 2002  Owen Taylor  <otaylor@redhat.com>
2
3         * Version 1.3.14.
4
5         * configure.in: 1.3.14, binary age 0, interface age 0.
6
7 Fri Feb 15 10:41:51 2002  Owen Taylor  <otaylor@redhat.com>
8
9         * NEWS: Updated.
10
11         * configure.in: Require autoconf-2.52, run AC_SYS_LARGEFILE.
12         (#71410, Sven Neumann)
13
14         * glib/giounix.c glib/giowin32.c glib/giochannel.[ch]:
15         Change offset type for g_io_channel_seek[_position] to
16         gint64.
17
18 2002-02-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
19
20         * tests/thread-test.c: Do not assume, that after
21         g_usleep(G_USEC_PER_SEC) the newly started thread began
22         running. Spotted by Miroslaw Dobrzanski-Neumann
23         <mne@mosaic-ag.com>. Make the test_g_static_rw_lock_thread threads
24         wait a random time. Make the test_g_static_rw_lock test run 5
25         seconds, not 1.
26
27 2002-02-14  Tor Lillqvist  <tml@iki.fi>
28
29         * glib/gmessages.c (g_logv): Use the #if branch with
30         G_BREAKPOINT() also on Win32. Remove the separate __asm int 3 for
31         MSVC, G_BREAKPOINT() does exactly that.
32
33 2002-02-14  James Henstridge  <james@daa.com.au>
34
35         * m4macros/glib-gettext.m4: add third argument to the AC_DEFINE
36         calls, so users of the macro don't need to add entries to
37         acconfig.h in their package.
38
39 2002-02-13  Havoc Pennington  <hp@redhat.com>
40
41         * glib/gmain.c (g_main_context_check): never dispatch sources of
42         mixed priority, because while iterating over the dispatch array a
43         new source with more priority may be added, while a source with
44         less priority remains in the dispatch array
45
46 2002-02-11  Darin Adler  <darin@bentspoon.com>
47
48         * glib/gmessages.h: Use "if (expr) { } else" as I meant to in the
49         first place. The other form can trigger warnings in some compilers
50         that suspect a ";" after "if (expr)" is an error.
51
52 2002-02-11  Manish Singh  <yosh@gimp.org>
53
54         * glib/gmessages.h: need statement terminators for the if clauses for
55         the preceding change.
56
57 2002-02-11  Darin Adler  <darin@bentspoon.com>
58
59         * glib/gmessages.h: Use "if (expr) else" rather than
60         "if (!(expr))" so the parentheses don't disable the gcc
61         warnings about = vs. ==.
62
63 2002-02-11  jacob berkman  <jacob@ximian.com>
64
65         * glib/gmarkup.h (g_markup_error_quark): match the signature in
66         the implementation
67
68 2002-02-10  Hans Breuer  <hans@breuer.org>
69
70         * glib/gfileutils.c : no sym links on win32, no lstat in msvcrt
71
72         * tests/makefile.msc.in : added uri-test
73
74 2002-02-09  Darin Adler  <darin@bentspoon.com>
75
76         * glib/gmarkup.c: (xml_isspace): New.
77         (skip_spaces): g_unichar_isspace -> xml_isspace
78         * glib/gstrfuncs.c: (g_ascii_strtod): isspace -> g_ascii_isspace
79         isxdigit -> g_ascii_isxdigit, isdigit -> g_ascii_isdigit
80
81 2002-02-09  Matthias Clasen  <matthias@local>
82
83         * tests/markups/valid-4.gmarkup: Test attribute value delimiters.
84
85         * glib/gmarkup.c (g_markup_parse_context_parse): Support 
86         ' and " as attribute value delimiters.  (#70677)
87
88 2002-02-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
89
90         * configure.in: Make --disable-threads work again. (#71034)
91
92 Fri Feb  8 23:52:27 2002  Owen Taylor  <otaylor@redhat.com>
93
94         * gobject/gvaluetransform.c: Register transformations for
95         gint64, guint64. (#70780, patch from Andy Wingo)
96
97         * configure.in: Handle missing G_GINT64_FORMAT, 
98         G_GUINT64_FORMAT ... harder to require GNU libc than GCC.
99
100         * NEWS: Some cleanups that I had setting around.
101
102 2002-02-08  Darin Adler  <darin@bentspoon.com>
103
104         * glib/gconvert.h: Make hostname parameter const char *.
105         * glib/gconvert.c: (g_unescape_uri_string): Added a new
106         "ASCII must not be escaped" feature, and some missing error
107         checking.
108         (is_escalphanum): New.
109         (is_escalpha): New.
110         (hostname_validate): New.
111         (g_filename_from_uri): Don't allow hostnames to include
112         escaped ASCII, validate hostnames with the new
113         hostname_validate.
114         (g_filename_to_uri): Validate hostnames with the new
115         hostname_validate.
116
117         * tests/uri-test.c: Updated tests to reflect the hostname
118         validation changes above.
119
120         * glib/gdate.c: (g_date_fill_parse_tokens): Remove the
121         <ctype.h> include and do isdigit -> g_ascii_isdigit.
122
123 Fri Feb  8 12:32:14 2002  Owen Taylor  <otaylor@redhat.com>
124
125         * tests/hash-test.c (second_hash_test): Fix access to
126         freed memory in test case (Miroslaw Dobrzanski-Neumann).
127         Re-enable and debug some commented out code.
128
129 2002-02-08  Michael Natterer  <mitch@gimp.org>
130
131         * glib/gdir.c: g_dir_open: added g_return_val_if_fail() to prevent
132         us from calling opendir(NULL) (which simply crashes).
133
134 2002-02-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
135
136         * glib/gfileutils.c (g_file_test): Extended documentation.
137
138 2002-02-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
139
140         * glib/gfileutils.c (g_file_test): Do not follow symbolic links
141         for G_FILE_TEST_SYMLINK. Also fixed the correct "OR"-behaviour for
142         G_FILE_TEST_IS_EXECUTABLE and G_FILE_TEST_EXISTS. (#60048)
143
144 2002-02-07  Changwoo Ryu  <cwryu@debian.org>
145
146         * configure.in (ALL_LINGUAS): Added "ko".
147
148 Wed Feb  6 14:44:18 2002  Owen Taylor  <otaylor@redhat.com>
149
150         * glib/gmain.c (g_main_context_prepare): Handle 
151         NULL entries (already dispatched) in pending_dispatches array 
152         (pointed out by Manish Singh)
153
154 Tue Feb  5 17:13:02 2002  Owen Taylor  <otaylor@redhat.com>
155
156         * glib/gmain.c (g_main_context_prepare): Unref pending
157         dispatches when discarding them.
158
159 2002-02-04  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
160
161         * glib/gthread.c (g_thread_create_full): Delay allocation until
162         after all g_return_val_if_fail ().
163
164         * glib/gthread.h: Make depth member guint for cosmetic reasons.
165
166         * glib/gthread.c: (g_static_rec_mutex_unlock_full): depth should
167         be unsigned. All that spotted by Jörgen Viksell
168         <jorgen.viksell@telia.com>
169
170 2002-02-02  Manish Singh  <yosh@gimp.org>
171
172         * glib/gmain.c
173         * glib/gtree.c: remove references to deprecated functions in docs
174         and warning message.
175
176 2002-01-31  jacob berkman  <jacob@ximian.com>
177
178         * glib-gettextize.in:
179         * m4macros/glib-gettext.m4 (AM_GLIB_GNU_GETTEXT): remove
180         references to po2tbl
181
182 2002-01-29  Matthias Clasen  <matthiasc@poet.de>
183
184         * glib/gmarkup.c (g_markup_parse_context_parse): Change the
185         order in which some error conditions are checked to improve
186         error messages. (#69646)
187
188 Tue Jan 29 15:04:31 2002  Owen Taylor  <otaylor@redhat.com>
189
190         * 1.3.13
191
192         * tests/shell-test.c: Workaround for MSVC bugs. (#61064)
193
194 Tue Jan 29 14:06:22 2002  Owen Taylor  <otaylor@redhat.com>
195
196         * NEWS: Update to include last change. 
197
198 2002-01-21  Jeffrey Stedfast  <fejj@ximian.com>
199
200         * glib/gconvert.c (open_converter): Rewritten to cache iconv
201         conversion descriptors. On at least some Unix systems like
202         Solaris, iconv_open() must dlopen the necessary charset modules in
203         order to setup the descriptor. This can take a major toll on
204         performace if you are constantly opening and closing conversion
205         descriptors for the same charset conversions over and over.
206         (g_convert_with_fallback): Use close_converter() rather than
207         g_iconv_close() since open_converter() now caches iconv
208         descriptors.
209
210 Tue Jan 29 11:18:44 2002  Owen Taylor  <otaylor@redhat.com>
211
212         * NEWS: Updated.
213
214         * configure.in: Micro == 13, binary age, interface age 0.
215         [ binary breakage was return type of g_signal_connect_object(),
216         probably could have used binary age == 0, but a little safer not to.]
217
218         * configure.in: Remove configure warning.
219
220 2002-01-28  Havoc Pennington  <hp@pobox.com>
221
222         * glib/gmarkup.c (add_attribute): NULL-terminate
223         context->attr_values so g_strfreev() is safe. 
224         Would previously crash if parsing was ended prior 
225         to ending the start tag.
226         (g_markup_parse_context_parse): add a couple assertions
227
228 2002-01-28  Havoc Pennington  <hp@redhat.com>
229
230         * glib/gmacros.h: get rid of warning here
231
232 Mon Jan 28 17:56:10 2002  Owen Taylor  <otaylor@redhat.com>
233
234         * glib/gmacros.h: Only use __FUNCTION__, __PRETTY_FUNCTION__ for
235         G_GNUC_FUNCTION, G_GNUC_PRETTY_FUNCTION, G_STRLOC when __GNUC__ <
236         3, since in 3.0.3 the semantics of these functions were changed in
237         an incompatible way. (#69097)
238
239 2002-01-28  Ron Steinke  <rsteinke@w-link.net>
240
241         * glib/giochannel.c: Some documentation fixes/elaborations
242         I really should have gotten in a long time ago
243
244 2002-01-24  Sven Neumann  <sven@gimp.org>
245
246         * glib/gutf8.c (g_utf8_to_utf16): removed an empty line in the
247         inline documentation that confused gtk-doc.
248
249 2002-01-23  Laszlo Peter  <laca@ireland.sun.com>
250
251         * glib/gmessages.c (g_printf_string_upper_bound): return 1 more
252         for the trailing '\0' when using vsnprintf. (#69474)
253
254 2002-01-23  Tor Lillqvist  <tml@iki.fi>
255
256         * glib/gconvert.c: (strdup_len): Not used on Windows, don't even
257         compile it then.
258
259         (acceptable): Improve comments for the _acceptable_ table: put
260         each ASCII char above the hex number for it.
261
262         (g_escape_file_uri): On Windows, turn backslashes in the file name
263         into plain ("forward") slashes.
264
265         (g_filename_from_uri): On Windows, don't return the hostname
266         "localhost", because we can not be 100% sure it will be recognized
267         in all cases anyway, so simpler to turn it into a null
268         hostname. 
269
270         Change slashes in the filename into backslashes, as that is the
271         more canonical separator.
272
273         Recognize drive letters (either followed by a colon or a vertical
274         bar, as used by some browsers), and if the filename part starts
275         with a such, don't include any (back)slash.
276
277         Don't drop any extra leading slash in the filename on Unix.
278
279         (g_filename_to_uri): On Windows, if the hostname is "localhost",
280         don't use it, for consistency with g_filename_from_uri().
281         
282         * tests/uri-test.c: Change accordingly, so that all tests pass on
283         Windows. Unix, too, I hope, though I couldn't check that now.
284
285         (main): Unset the G_BROKEN_FILENAMES environment variable on Unix,
286         as some tests require that filenames are in UTF-8. Is unsetenv()
287         portable?
288
289         These changes should fix bugs #59387, #59652, #59657 and #59658.
290         
291 2002-01-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
292
293         * configure.in: Get the right multithread option for GCC 3.0 and
294         later on AIX. (#67583)
295
296 2002-01-21  Jeffrey Stedfast  <fejj@ximian.com>
297
298         * glib/gconvert.c (g_convert_with_fallback): If g_convert fails,
299         set bytes_written to 0 and close the iconv descriptor that was
300         opened a few lines above. On a successful return, calculate
301         bytes_written to be outp - dest instead of outp - str.
302
303 2002-01-16  Sven Neumann  <sven@gimp.org>
304
305         * acinclude.m4
306         * m4macros/glib-gettext.m4: removed the --disable-nls option. You
307         can't disable Native Language Support since we rely on it.
308
309         * configure.in: nicer --help output.
310
311 Tue Jan  8 11:33:28 2002  Owen Taylor  <otaylor@redhat.com>
312
313         * docs/Makefile.am (EXTRA_DIST): Add text files to EXTRA_DIST.
314         (#68239, Matthias Clasen)
315
316 2002-01-07  Zbigniew Chyla  <cyba@gnome.pl>
317
318         * configure.in (ALL_LINGUAS): Added pl.
319
320 2002-01-05  Hans Breuer  <hans@breuer.org>
321
322         * glibconfig.h.win32.in 
323           msvc_recommended_pragmas.h (new file) : moved warning to
324         error pragmas to their own file to not force 'good practice'
325         programming in downstream libs and apps. Instead the new header
326         will be used by -FImsvc_recommended_pragmas.h in gnome/cvs
327         makefile.msc
328         * */makefile.msc.in : use -FImsvc_recommended_pragmas.h
329
330         * makefile.am : add msvc_recommended_pragmas.h to EXTRA_DIST
331
332 2001-12-31  Tor Lillqvist  <tml@iki.fi>
333
334         * glib/gutils.c (g_get_any_init): (Win32) Use longer buffer for
335         user name.
336
337 Sat Dec 29 15:07:21 2001  Owen Taylor  <otaylor@redhat.com>
338
339         * glib/gspawn.c (script_execute): Copy trailing NULL
340         into new ARGV array. (#67673)
341
342 2001-12-28  Sven Neumann  <sven@gimp.org>
343
344         * glib/gmessages.c: only include printf_string_upper_bound() if
345         HAVE_C99_VSNPRINTF is not defined.
346
347 2001-12-27  Duarte Loreto <happyguy_pt@hotmail.com>
348
349         * configure.in: Added portuguese to ALL_LINGUAS
350
351 Sat Dec 22 12:08:56 2001  Owen Taylor  <otaylor@redhat.com>
352
353         * configure.in: 1.3.12, binary, interface age 0.
354
355         * NEWS: Updated.
356
357 2001-12-21  Tor Lillqvist  <tml@iki.fi>
358
359         * config.h.win32.in: Add (undefined) HAVE_C99_VSNPRINTF.
360
361         * glibconfig.h.win32.in: Add definition of G_HAVE_GROWING_STACK.
362
363         * tests/Makefile.am: Rename the progs_LDADD, thread_LDADD and
364         module_LDADD Make macros to progs_ldadd, thread_ldadd and
365         module_ldadd. Newer automakes reserve macros named *_LDADD for
366         the use as LDADDs for targets it knows.
367
368         * glib/giowin32.c: (struct _GIOWin32Watch): 'callback' wasn't used
369         here, either.
370
371 2001-12-21  Matthias Clasen  <matthiasc@poet.de>
372
373         * glib/gfileutils.c (g_file_get_contents): Remove FIXME. (#67063)
374
375 2001-12-19  Mark McLoughlin  <mark@skynet.ie>
376
377         * glib/gscanner.c: (g_scanner_unexp_token): fix segfaults.
378
379 2001-12-20  Michael Meeks  <michael@ximian.com>
380
381         * glib/giounix.c (struct _GIOUnixWatch): kill 'callback'
382
383 Wed Dec 19 23:09:07 2001  Owen Taylor  <otaylor@redhat.com>
384
385         * glib/gconvert.c (g_iconv_open): SGML doc fix.
386
387 Tue Dec 18 21:11:10 2001  Tim Janik  <timj@gtk.org>
388
389         * configure.in: add configure check to determine G_HAVE_GROWING_STACK.
390
391 2001-12-16  Havoc Pennington  <hp@pobox.com>
392
393         * glib/gfileutils.c (get_contents_regfile): use g_try_malloc and
394         return error on not-enough-memory
395         (get_contents_stdio): ditto
396
397 2001-12-17  Matthias Clasen  <matthiasc@poet.de>
398
399         * glib/gspawn.c, glib/gspawn-win32.c: Use <envar>, not <envvar>.
400
401 2001-12-15  Matthias Clasen  <matthiasc@poet.de>
402
403         * glib/gshell.c, glib/gspawn.c, glib/gspawn-win32.c, glib/gerror.c,
404         glib/gfileutils.c, glib/ghash.c, glib/gmain.c, glib/gasyncqueue.c,
405         glib/gtree.c: Minor markup fixes.
406
407 2001-12-14  Havoc Pennington  <hp@pobox.com>
408
409         * glib/gshell.c (g_shell_parse_argv): note on how to free returned
410         vector
411
412 2001-12-08  Havoc Pennington  <hp@pobox.com>
413
414         * glib/gspawn.c (fork_exec_with_pipes): include argv[0] in error
415         message about failure to exec
416
417 2001-12-13  Matthias Clasen  <matthiasc@poet.de>
418
419         * glib/gconvert.c, glib/giochannel.c, glib/gmain.c,
420         glib/gwin32.c: Revert mistaken change: it is UNIX, not Unix.
421
422 Thu Dec 13 05:37:51 2001  Tim Janik  <timj@gtk.org>
423
424         * glib/gbsearcharray.[hc]: API revamp to shorten GValueArray
425         structure.
426
427 2001-12-12  Matthias Clasen  <matthiasc@poet.de>
428
429         This fixes #60543:
430
431         * glib/gutils.c (g_snprintf, g_vsnprintf): Switch to C99-[v]snprintf().
432
433         * tests/strfunc-test.c: Add some tests for g_snprintf().
434
435 2001-12-12  Matthias Clasen  <matthiasc@poet.de>
436
437         * glib/gconvert.c, glib/grand.c, glib/ghash.c,
438         glib/gthreadpool.c, glib/gtree.c: Documentation fixes.
439
440 Mon Dec 10 14:08:39 2001  HideToshi Tajima  <hidetoshi.tajima@sun.com>
441
442         * glib/libcharset/config.charset (os):
443         add ISO8859-3 for Solaris. (#66174)
444         
445 2001-12-10  Sven Neumann  <sven@gimp.org>
446
447         * gobject/gvalue.c (g_value_register_transform_func): perform an exact
448         match on the two types instead of using transform_func_lookup().
449
450 2001-12-09  Christopher Blizzard  <blizzard@redhat.com>
451
452         * glib/gmessages.h: Add pragma that will prevent warnings when you
453         are not using -std=99 and newer gcc compilers.  Patch from Red
454         Hat's gtk+ 1.2 rpm.
455
456 2001-12-06  Darin Adler  <darin@bentspoon.com>
457
458         * glib/gmacros.h: Do the same for "pure".
459
460 2001-12-06  Matthias Clasen  <matthiasc@poet.de>
461
462         The following patch corrects some function attributes. (#61780)
463
464         * glib/ghash.h (g_int_equal, g_int_hash): These are not const.
465
466         * glib/glibintl.h (_glib_gettext): Add G_GNUC_FORMAT(1).
467
468         * glib/gmacros.h: Use reserved symbols in function attribute macros.
469
470 2001-12-06  Matthias Clasen  <matthiasc@poet.de>
471
472         The following patch avoids manual printf()-format parsing 
473         if a C99-conforming vsnprintf() is available. (#55106)
474
475         * acinclude.m4 (AC_FUNC_VSNPRINTF_C99): New macro to test for a
476         C99 conforming vsnprintf.
477
478         * configure.in: Use AC_FUNC_VSNPRINTF_C99. 
479
480         * glib/gmessages.c (g_printf_string_upper_bound): Use C99 vsnprintf().
481         
482 2001-12-05  Sven Neumann  <sven@gimp.org>
483
484         * glib/gtree.c (g_tree_foreach): mention the fact that the tree is
485         traversed in sorted order.
486
487 2001-12-03  Manish Singh  <yosh@gimp.org>
488
489         * tests/module-test.c: g_module_symbol takes a gpointer *, not just
490         a gpointer
491
492         * tests/libmoduletestplugin_a.c: here too
493
494 2001-11-29  Havoc Pennington  <hp@redhat.com>
495
496         * glib/gtree.c (g_tree_foreach):
497         * glib/ghash.c (g_hash_table_foreach): 
498
499         Add notes about how you shouldn't modify these data structures as
500         you iterate over them.
501         
502 Thu Nov 29 11:16:03 2001  Owen Taylor  <otaylor@redhat.com>
503
504         * HACKING: Update (#65721, Dave Neary)
505
506 2001-11-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
507
508         * glib/gdate.c: Fixed wrong order in conversion.
509
510 Wed Nov 28 18:34:22 2001  Owen Taylor  <otaylor@redhat.com>
511
512         * glib/gmain.[ch]: Rename (private) GSource.id and 
513         id parameter to g_main_context_find_source_by_id()
514         to avoid problems with Objective C where 'id' is 
515         a keyword. (#65616)
516
517 2001-11-28  Daniel Elstner  <daniel.elstner@gmx.net>
518
519         * glib/gutf8.c (utf8_skip_data): In order to avoid infinite loops
520         on invalid UTF-8 strings, change the skip count for 0xfe and 0xff
521         from 0 to 1.
522
523 2001-11-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
524
525         * configure.in: Always call GLIB_SIZEOF(..., system_thread). Fixes
526         #65624.
527
528 2001-11-28  Tor Lillqvist  <tml@iki.fi>
529
530         * glibconfig.h.win32.in: Add GLIB_SIZEOF_SIZE_T here, too.
531
532 2001-11-27  Dan Winship  <danw@ximian.com>
533
534         * configure.in (G_MODULE_LDFLAGS): Set this from libtool rather
535         than hardcoding values for certain platforms.
536
537         * glib/libcharset/config.charset: Add a rule for NetBSD.
538
539         * glib/libcharset/localcharset.c (_g_locale_get_charset_aliases):
540         If LIBCHARSET_ALIAS_DIR is set, look for charset.aliases there.
541
542         * tests/Makefile.am (TESTS_ENVIRONMENT): set LIBCHARSET_ALIAS_DIR
543         so we don't depend on charset.aliases having been installed
544
545 2001-11-26  Matthias Clasen  <matthiasc@poet.de>
546         
547         * glib/gnode.c (g_node_traverse): Implement G_LEVEL_ORDER correctly.
548
549         * tests/node-test.c: Add a testcase for G_LEVEL_ORDER implementation.
550
551         * glib/gtree.h: Mark g_tree_traverse() as deprecated. (#65343)
552         
553         * glib/gtree.c (g_tree_traverse): Explain the deprecation in 
554         some detail.
555
556 Mon Nov 26 09:42:24 2001  Tim Janik  <timj@gtk.org>
557
558         * configure.in: provide GLIB_SIZEOF_SIZE_T.
559
560 2001-11-26  Jesus Bravo Alvarez  <jba@pobox.com>
561
562         * configure.in: Added gl (Galician) to ALL_LINGUAS
563
564 2001-11-23  Hans Breuer  <hans@breuer.org>
565
566         * glib/makefile.msc.in : added -Zm400 to DEPCFLAGS to avoid :
567         gunidecomp.h(5846) : fatal error C1076: compiler limit : 
568         internal heap limit reached; use /Zm to specify a higher limit
569
570         * glibconfig.h.win32.in : added recommended pragma list for
571         msvc again. They are an invaluable help of letting the
572         compiler catch bugs.
573
574 Thu Nov 22 13:56:55 2001  Owen Taylor  <otaylor@redhat.com>
575
576         * Version 1.3.11
577
578 Thu Nov 22 13:14:18 2001  Owen Taylor  <otaylor@redhat.com>
579
580         * configure.in (GLIB_MICRO_VERSION): Version 11, 
581         interface, binary age 0.
582
583         * NEWS: Updated.
584
585         * tests/Makefile.am (libmoduletestplugin_[ab]_la_LDFLAGS): 
586         Add dummy -rpath argument. On some (but not all) platforms,
587         libtool will only build a convenience library without this.
588         (#63486, Dan Winship)
589  
590         * Makefile.am (EXTRA_DIST): Add README.in, INSTALL.in - 
591         autoconf-2.5x checks for 'make dist' in the tarball
592         when you make distcheck.
593
594         * glib/Makefile.am (EXTRA_DIST): Distribute 
595         makefile.msc/mingw.in, glib.rc.in.
596
597         * tests/patterntest.c: Include string.h.
598
599         * glib/gpattern.c (g_utf8_reverse): doc parsing fix.
600
601 Thu Nov 22 02:50:18 2001  Tim Janik  <timj@gtk.org>
602
603         * NEWS: merged with gobject/NEWS.
604
605 2001-11-21  Tor Lillqvist  <tml@iki.fi>
606
607         * glib/makefile.mingw.in (DEFINES): Set G_LOG_DOMAIN as in
608         Makefile.am.
609
610 Tue Nov 20 20:54:25 2001  Owen Taylor  <otaylor@redhat.com>
611
612         * glib/gunidecomp.[ch] glib/gen-unicode-tables.pl: Patch
613         from Andrew Taylor to optimize the decomposition table
614         to eliminate relocations and save space. (#64982)
615
616 2001-11-18  Hans Breuer  <hans@breuer.org>
617
618         * glib/glib.def : 
619         * glib/makefile.msc.in : remove g_log_domain_glib usage/export
620
621         * tests/makefile.msc.in : add iochannel-test
622
623 Sat Nov 17 17:21:57 2001  Owen Taylor  <otaylor@redhat.com>
624
625         * glib/Makefile.am glib/*.c glib/gmessages.h: Get
626         rid of g_log_domain_glib variable in favor of just
627         using a string constant.
628
629 Sat Nov 17 14:10:35 2001  Owen Taylor  <otaylor@redhat.com>
630
631         * glib/gbsearcharray.h: Include gtypes.h not gobject/gtype.h
632
633         * glib/glib-object.h gobject/*.h: Prevent headers from
634         being included directly except when compiling GObject.
635
636         * gobject/gvaluecollector.h: Include glib-object.h so that
637         this file can be included directly, since we don't
638         include it _from_ glib-object.h.
639
640         * gobject/gtype.c: Remove struct _GValue hack since we 
641         now include glib/gvaluecollector.h which simply pulls in
642         glib-object.h.
643
644 2001-11-15  Matthias Clasen  <matthiasc@poet.de>
645
646         * glib/giochannel.c: Documentation fixes.
647  
648 2001-11-15  Takayuki KUSANO  <AE5T-KSN@asahi-net.or.jp>
649
650         * configure.in: Added "ja" to ALL_LINGUAS.
651
652 2001-11-15  Michael Meeks  <michael@ximian.com>
653
654         * glib/giounix.c (g_io_channel_unix_new): set the fd
655         before using it.
656
657 2001-11-15  Tor Lillqvist  <tml@iki.fi>
658
659         * tests/makefile.{mingw,msc}.in (TESTS): Add back mainloop-test
660         here, too.
661
662         * tests/Makefile.am: Remove leftover comment that claimed
663         mainloop-test is removed.
664
665 2001-11-14  Matthias Clasen  <matthiasc@poet.de>
666
667         * glib/gpattern.c: add UTF-8 support.
668
669         * tests/patterntest.c: add UTF-8 and equality tests.
670
671 Wed Nov 14 07:34:24 2001  Tim Janik  <timj@gtk.org>
672
673         * glib/galloca.h (g_newa): provide g_newa(ctype, count) on top of
674         g_alloca() like we provide g_new() on top of g_malloc().
675
676 Tue Nov 13 21:25:35 2001  Owen Taylor  <otaylor@redhat.com>
677
678         * glib/{gen-unicode-tables.pl,gunibreak.c,gunibreak.h,
679         gunichartables.h, gunicomp.h, gunidecomp.[ch], 
680         guniprop.c}: Patch from Andrew Taylor to improve
681         tables and reduce relocations by using indices 
682         rather than pointers. (#64433)
683         
684         * tests/unicode-normalize.c (main): Fix for changes
685         to g_strsplit().
686
687 2001-11-12  Darin Adler  <darin@bentspoon.com>
688
689         * glib/gstrfuncs.c: (g_strsplit): Fix max_tokens == 1 case to
690         match documentation.
691         * tests/strfunc-test.c: (main): Add tests.
692
693         * tests/.cvsignore: Recently-added test.
694
695 Mon Nov 12 03:01:28 2001  Tim Janik  <timj@gtk.org>
696
697         * glib/gscanner.c (g_scanner_eof): G_TOKEN_ERROR is also an end
698         of stream condition.
699
700 2001-11-10  Tor Lillqvist  <tml@iki.fi>
701
702         * glib-zip.in (DEVZIP): Also share/glib-2.0.
703
704 2001-11-09  Tor Lillqvist  <tml@iki.fi>
705
706         * glib/gwin32.c (g_win32_getlocale): Add a couple of languages
707         that have LANG_* codes in newest headers, just for completeness.
708
709 2001-11-08  Wang Jian  <lark@linux.net.cn>
710
711         * configure.in(ALL_LINGUAS): Added zh_CN for Simplified Chinese.
712
713 2001-11-08  Tor Lillqvist  <tml@iki.fi>
714
715         * glib/gwin32.c: Don't define LANG_AZERI etc in case those aren't
716         defined in the headers (MSVC 5.0).
717         (g_win32_getlocale): Instead, surround uses of those with
718         #ifdef. Those MSVC 5.0 users that want to build a GLib that
719         recognizes those languages should download the Platform SDK and
720         use the headers from it.
721
722 2001-11-07  Peter Williams  <peterw@ximian.com>
723
724         * glib/gdir.c (g_dir_read_name): Return NULL when done reading.
725
726 2001-11-06  Tor Lillqvist  <tml@iki.fi>
727
728         * glib/Makefile.am (gspawn_win32_helper_LDFLAGS): Use -mwindows.
729
730 2001-11-05  Tor Lillqvist  <tml@iki.fi>
731
732         * README.win32: Minor edits.
733
734         * glib-zip.in: Build separate runtime and developer packages.
735
736         * glib/libcharset/config.charset (os): Don't need to match mingw
737         after all, the charset.alias file isn't even used on Win32... (see
738         localcharset.c).
739
740         * glib/makefile.mingw.in: Add gdir.
741
742         * glib/glib.def: Add g_dir_* entry points.
743
744 Sun Nov  4 20:45:21 2001  Owen Taylor  <otaylor@redhat.com>
745
746         * configure.in (CFLAGS): Add check for dirent.h
747
748         * glib/glib.h glib/Makefile.am: Add gdir.
749
750         * glib/gdir.c (g_dir_close): Couple of small tweaks
751         now that it is actually compiling...
752
753 Sun Nov  4 20:29:31 2001  Owen Taylor  <otaylor@redhat.com>
754
755         * glib/gdir.[ch]: Indentation fixes, some rewriting of docs to
756         conform to gtk-doc standard.
757
758         * glib/gdir.[ch] (g_dir_close): Remove the boolean 
759         return value. What would you do if closing failed?
760         What would the user do if you printed a warning
761         message "closing directory %s failed"?
762
763 2001-11-04  Hans Breuer  <hans@breuer.org>
764
765         * glib/gdir.[hc] : (new files) simplified wrapper around dirent 
766         functions to improve portability of downstream libs/apps
767         * glib/makefile.msc.in : use them
768         * glib/glib.def : export them
769         * config.h.win32.in : needing HAVE_DIRENT_H defined
770
771 2001-11-04  Tor Lillqvist  <tml@iki.fi>
772
773         * tests/Makefile.am: On Win32, create separate .exp file for
774         module-test.o and link with that. Otherwise the GNU linker doesn't
775         export the g_clash_func.
776
777 2001-11-03  Hans Breuer  <hans@breuer.org>
778
779         * glib/giowin32.c : static correctness
780
781         * glib/gwin32.c : some more #if defined (SUBLANG_* ...
782         (g_win32_get_package_installation_subdirectory) use g_build_filename
783         instead of duplicating its logic
784
785         * glib/glib.def : removed duplicates, added mising, removed
786         compat cruft
787
788 Fri Nov  2 19:54:16 2001  Tim Janik  <timj@gtk.org>
789
790         * glib/gbacktrace.h (G_BREAKPOINT): remove public signal.h include.
791
792 Thu Nov  1 21:48:43 2001  Owen Taylor  <otaylor@redhat.com>
793
794         * tests/mainloop-test.c (recurser_idle): Recurse
795         with may_block = FALSE, so we don't get into
796         the pathology where the recurser_idle recurses
797         for 10 iterations, and the only thing that is
798         running is the recurser idle, which adds
799         another recursion for each of those 10 iterations
800         and....
801
802         * tests/mainloop-test.c (create_crawler): Fix race
803         condition where a crawler source could be destroyed
804         before it was added to the crawler array.
805
806         * test/Makefile.am: Add mainloop-test back.
807         
808 2001-11-01  Marius Andreiana  <mandreiana@yahoo.com>
809
810         * configure.in: Added ro (Romanian) to ALL_LINGUAS
811
812 2001-10-31  Havoc Pennington  <hp@redhat.com>
813
814         * glib/gmain.c (g_main_loop_run): fix to the locking so we don't
815         hang
816
817 2001-10-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
818
819         * configure.in: Make --with-threads=none mean, that we want thread
820         support, but no default thread implementation. This also was the
821         original intention, but disapeared around 1998... So it doesn't
822         seem to be the most requested feature, but we went far to make it
823         possible in the code, so I resurrected this feature.
824
825         * INSTALL.in: Describe the --enable-gc-friendly, --disable-threads
826         and --with-threads options of configure.
827
828         * glib/gmain.c (g_main_context_acquire, g_main_context_release,
829         g_main_context_wait): Use the right conditional (G_THREADS_ENABLED
830         instead of G_THREAD_ENABLED). Also remove wrong
831         return-statement. Unfortunately mainloop-test still does fail. Many
832         thanks to Andrea Fazekas <fazek@ludens.elte.hu> for spotting
833         this. (#63455)
834
835 2001-10-31  Matthias Clasen  <matthiasc@poet.de>
836
837         * gobject/gsourceclosure.c (g_source_set_closure): Fix documentation.
838
839 2001-10-30  Tor Lillqvist  <tml@iki.fi>
840
841         * glib-zip.in: New file, used to build distribution packages for
842         Windows.
843
844         * configure.in: Expand it.
845
846         * Makefile.am: Distribute it.
847
848         * config.h.win32.in: Update to match currently produced config.h
849
850 2001-10-29  Daniel Egger  <degger@fhm.edu>
851
852         * glib/gbacktrace.h: Fix non-Intel/-Alpha version of the 
853         G_BREAKPOINT macro to include <signal.h> and use SIGTRAP.
854
855         * glib/gmessages.c: Conditionalise definition of args2
856         depending on the definition of HAVE_VSNPRINTF to avoid 
857         compiler warning.
858
859         * gobject/testgruntime.c
860         * tests/patterntest.c: Include <string.h> to avoid warnings.
861
862 Mon Oct 29 11:29:37 2001  Owen Taylor  <otaylor@redhat.com>
863
864         * m4macros/glib-2.0.m4: Don't try to use PKG_CONFIG
865         when we didn't find it. (#62944, Eric Lemings)
866
867         * m4macros/glib-2.0.m4: Fix problem with spaces around =
868         sign in assignment. (#63209, Arkadiusz Miskiewicz)
869
870 Mon Oct 29 10:59:36 2001  Owen Taylor  <otaylor@redhat.com>
871
872         * configure.in: Check for path to Perl, add gobject/glib-mkenums 
873         to AC_OUTPUT. (#63093, Dan Winship)
874
875 Mon Oct 29 10:55:12 2001  Owen Taylor  <otaylor@redhat.com>
876
877         * glib/libcharset/Makefile.am (EXTRA_DIST): Dist
878         ref-add.sin, ref-del.sin. (#63092, Dan Winship)
879
880 2001-10-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
881
882         * glib/gmain.c (g_main_loop_quit): Conditionalize thread related
883         calls. (#63091)
884
885 2001-10-28  Tor Lillqvist  <tml@iki.fi>
886
887         * glib/glib.def: Add missing g_pattern_match_simple and
888         g_pattern_spec_equal.
889
890         * glib/gwin32.c (g_win32_get_package_installation_subdirectory):
891         Set separator correctly.
892
893         * glib/libcharset/config.charset (os): Match also mingw*.
894
895         * tests/testglib.c (main): (Wibn32): Print the lib/locale
896         subdirectory, as that is what actually gets used.
897
898 Wed Oct 24 11:10:54 2001  Owen Taylor  <otaylor@redhat.com>
899
900         * configure.in: Version 1.3.10, interface age, binary age = 0.
901
902         * NEWS: Updates
903
904 2001-10-26  Tor Lillqvist  <tml@iki.fi>
905
906         * configure.in: Don't default to win32 thread implementation on
907         Cygwin. The gthread-win32 implementation really is for Win32 with
908         MS runtime only. Let configure find pthreads when configuring for
909         Cygwin.
910
911         * README.win32: Updates.
912
913         * glib/glib.def: Update.
914
915         * tests/makefile.mingw.in
916         * tests/makefile.msc.in: Remove mainloop-test here, too.  Add ../*
917         to PATH before running tests to find DLLs. Separate the
918         interactive tests, don't run them in the check target.
919
920         * */makefile.msc.in: Include make.msc from GLib's build directory.
921
922 Thu Oct 25 12:01:41 2001  Owen Taylor  <otaylor@redhat.com>
923
924         * tests/Makefile.am: Temporarily remove mainloop-test, since it
925         prevents distcheck.
926
927 2001-10-24  Alex Larsson  <alexl@redhat.com>
928
929         * docs/reference/glib/glib-sections.txt:
930         Add g_strtod & co.
931
932         * docs/reference/glib/tmpl/string_utils.sgml:
933         Add docs for G_ASCII_DTOSTR_BUF_SIZE.
934
935         * glib/gstrfuncs.[ch]:
936         Added g_ascii_strtod, g_ascii_dtostr and g_ascii_formatd.
937
938         * tests/Makefile.am:
939         * tests/strtod-test.c:
940         Add tests for g_ascii_strtod & co.
941
942 2001-10-23  Tor Lillqvist  <tml@iki.fi>
943
944         * config.h.win32.in: Typo: GLIB_MICRO_VERSION and
945         GLIB_MINOR_VERSION were swapped.
946
947         * glib/gutils.h: Remove G_HARDCODED_PATH_WRAPPER, Owen didn't like
948         it.
949         
950         * glib/gutils.c: Instead, expand it on Win32 as
951         _glib_get_locale_dir(), and #define GLIB_LOCALE_DIR as a call to
952         it.
953
954 2001-10-23  Tor Lillqvist  <tml@iki.fi>
955
956         * config.h.win32.in: Typo.
957
958         * glibconfig.h.win32.in: Minor update to correspond to what
959         configure now generates.
960
961         * glib/Makefile.am: (Win32): If we have built the MSVC import
962         library, install it. Install the gcc import library. Also support
963         uninstall.
964
965         * glib/gutils.h: Add macros G_WIN32_DLLMAIN_FOR_DLL_NAME and
966         G_HARDCODED_PATH_WRAPPER. These are used to avoid hardcoding path
967         names into Windows DLLs.
968
969         * glib/gutils.c: Use them for GLIB_LOCALE_DIR.
970
971         * glib/gwin32.c (get_package_directory_from_module): Plug a small
972         memory leak. Minor code reordering.
973         (g_win32_get_package_installation_subdirectory):  Allow empty subdir.
974
975 2001-10-19  Tor Lillqvist  <tml@iki.fi>
976
977         * configure.in: Fix test for lib.exe. Can't set ms_librarian
978         before calling AC_CHECK_PROG, as it doesn't actually check
979         anything if the result variable has been preset...
980
981 2001-10-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
982
983         * glib/gutils.c (g_set_prgname, g_get_prgname): Use another LOCK
984         for g_prgname to avoid deadlocking. (#62606)
985
986 2001-10-19  Tor Lillqvist  <tml@iki.fi>
987
988         * configure.in: Check also ac_cv_sizeof___int64 when requiring a
989         64-bit type.
990
991 2001-10-17  HideToshi Tajima  <hidetoshi.tajima@sun.com>
992
993         * glib/gconvert.c (g_iconv_open):
994         Fix a typo: to_codeset => from_codeset.
995         (#58195, #55152)
996
997 Fri Oct 12 18:24:02 2001  Tim Janik  <timj@gtk.org>
998
999         * glib/gpattern.[hc]: make struct _GPatternSpec and GMatchType
1000         private.
1001         (g_pattern_equal): new function to return equality of two patterns
1002         (required because GPatternSpec is private now).
1003         (g_pattern_spec_new): fix bug wrg wildcard counting which produced
1004         incorrect pattern specs (discovered by Matthias Clasen).
1005         optimized code so we just keep one compiled pattern string now.
1006         correctly canonicalize patterns. reduce string walks, optimize
1007         decision about MATCH_ALL vs. MATCH_ALL_TAIL.
1008         (g_pattern_match_string): call just g_pattern_match() with NULL
1009         reversed string.
1010         (g_pattern_match): allow NULL reversed strings now, reverse_dup
1011         strings on demand.
1012
1013         * tests/patterntest.c (test_compilation): added an extended testcase
1014         for pattern matching from Matthias Clasen <matthiasc@poet.de>.
1015
1016 2001-10-11  Raja R Harinath  <harinath@cs.umn.edu>
1017
1018         * configure.in (ac_cv_sizeof_long_long): Avoid '==' and '-a' in
1019         'test's.
1020
1021 Wed Oct 10 20:07:36 2001  Joshua N Pritikin  <vishnu@pobox.com>
1022
1023         * glib/gmessages.c glib/gtypes.h: Remove G_HAVE_GINT64
1024         conditionalization.
1025
1026 Wed Oct 10 17:34:15 2001  Joshua N Pritikin  <vishnu@pobox.com>
1027
1028         * configure.in: Un-conditionalize and require a 64-bit integer
1029         type.
1030
1031 2001-10-04  Raja R Harinath  <harinath@cs.umn.edu>
1032
1033         * configure.in: Avoid 'test -a'.
1034
1035 2001-10-05  Matthias Clasen  <matthiasc@poet.de>
1036
1037         * glib/gwin32.c: Documentation update.
1038
1039 2001-10-04  Havoc Pennington  <hp@redhat.com>
1040
1041         * glib/libcharset/Makefile.am (EXTRA_DIST): add config.charset
1042
1043 2001-10-03  Tor Lillqvist  <tml@iki.fi>
1044
1045         * glib/gutils.c (Win32) (DllMain): New function (DLL entry point)
1046         to tuck away actual DLL name.
1047         (GLIB_LOCALE_DIR) Use actual DLL name, instead of assuming one
1048         naming convention for DLLs.
1049
1050         * glib/glib.def: g_string_append_printf.
1051
1052 2001-10-02  Matthias Clasen  <matthiasc@poet.de>
1053
1054         * glib/gstrfuncs.c, glib/giochannel.c: documentation update.
1055
1056         * glib/gqueue.c: add documentation.
1057
1058 2001-10-02  Sven Neumann  <sven@gimp.org>
1059
1060         * glib/gstring.h (g_string_sprintfa): let the compatibility definition
1061         point to the new name g_string_append_printf().
1062
1063 2001-10-01  Alex Larsson  <alexl@redhat.com>
1064
1065         * glib/gconvert.[ch]:
1066         Convert G_CONVERT_ERROR_NOT_ABSOLUTE_FILE_URI and
1067         G_CONVERT_ERROR_INVALID_URI to G_CONVERT_ERROR_BAD_URI.
1068
1069         * tests/uri-test.c:
1070         Update tests
1071
1072 Mon Oct  1 16:01:24 2001  Owen Taylor  <otaylor@redhat.com>
1073
1074         * glib/gstring.[ch] glib/grel.c: Rename g_string_printfa()
1075         to g_string_append_printf(). (#61041, Havoc Pennington.)
1076
1077 2001-10-01  Tor Lillqvist  <tml@iki.fi>
1078
1079         * glib/gwin32.c: Documentation cleanups. (#61487)
1080
1081 2001-10-01  Matthias Clasen  <matthiasc@poet.de>
1082
1083         * glib/gscanner.h (GScannerMsgFunc): make third argument
1084         a gboolean.
1085         (g_scanner_add_symbol, g_scanner_remove_symbol, 
1086         g_scanner_foreach_symbol): mark these 
1087         G_DISABLE_DEPRECATED. (#61469)
1088
1089         * glib/gscanner.c (g_scanner_msg_handler): make third 
1090         argument gboolean. (#61468)
1091
1092 2001-10-01  Sven Neumann  <sven@gimp.org>
1093
1094         * glib/gconvert.c
1095         * glib/gspawn-win32.c
1096         * glib/gspawn.c: some minor documentation fixes.
1097
1098 2001-09-29  Alexander Larsson  <alla@lysator.liu.se>
1099
1100         * configure.in:
1101         Add build/win32/dirent/Makefile to the list of makefiles
1102
1103 2001-09-30  Tor Lillqvist  <tml@iki.fi>
1104
1105         * glib/gwin32.c
1106         * glib/gwin32.h
1107         * glib/glib.def: Remove own implementation of dirent
1108         functions. Instead, gcc (mingw) users should go ahead and use the
1109         <dirent.h> included with the mingw gcc, and the dirent functions
1110         included in libmingw32, while MSVC users can use the same (public
1111         domain) code, extracted from mingw-runtime sources and placed in
1112         build/win32/dirent.[ch].
1113
1114         * glib/gwin32.c (get_package_directory_from_module,
1115         g_win32_get_package_installation_directory): Use static lock to
1116         protect static hash table.
1117
1118 Sat Sep 29 02:33:14 2001  George Lebl <jirka@5z.com>
1119
1120         * tests/testglib.c (main): cast the string size to gulong and use %lu
1121           for printing to avoid 64bit issues
1122
1123         * glib/gstrfuncs.[ch] (g_ascii_strncasecmp): Change the 'n' argument 
1124           to gsize instead guint.
1125
1126 Fri Sep 28 19:41:32 2001  Owen Taylor  <otaylor@redhat.com>
1127
1128         * glib/libcharset/* configure.in: Fix macros from libcharset
1129         to work with autoconf-2.5x. (From Laszlo Peter.)
1130
1131 2001-09-27  Matthias Clasen  <matthiasc@poet.de>
1132
1133         * glib/gstring.c: Fix inline docs for g_string_prepend_unichar.
1134
1135 2001-09-29  Abel Cheung  <maddog@linux.org.hk>
1136
1137         * configure.in: Add quotes around test values. This fixes a minor
1138           annoying warning if platform is not win32.
1139
1140 2001-09-27  Manish Singh  <yosh@gimp.org>
1141
1142         * glib/grand.c (g_rand_new): fix typo (#if->#ifdef) so it compiles
1143         again.
1144
1145 2001-09-24  Bruno Haible  <haible@clisp.cons.org>
1146
1147         * glib/gwin32.c (g_win32_getlocale): When the sublangid is
1148         SUBLANG_DEFAULT, return the locale of the language's main country,
1149         not a country-neutral locale. E.g. "en_US" instead of "en". Add
1150         handling of LANG_SORBIAN. Fix typo for SUBLANG_CHINESE_SIMPLIFIED
1151         (China == CN, CH == Switzerland). Ignore empty environment
1152         variable values.
1153
1154 2001-09-28  Tor Lillqvist  <tml@iki.fi>
1155
1156         * glib/makefile.{mingw,msc}.in: Add localcharset.o. Just copy the
1157         source file from libcharset and compile in this directory.
1158
1159         * glib/giochannel.c: Mark rest of g_set_error strings for
1160         translation, too.
1161
1162         * glib/giowin32.c: Add some debugging output functions, call them
1163         when debugging.
1164         (create_events, g_io_win32_msg_write): Free message fetched with
1165         g_win32_error_message ().
1166         (g_io_win32_check): Indentation fixes.
1167         (g_io_win32_fd_read,g_io_win32_sock_read): Don't always return
1168         G_IO_STATUS_NORMAL. Do return G_IO_STATUS_EOF if we got 0 bytes,
1169         like on Unix. This helps making the test programs run
1170         successfully.
1171
1172         * glib/gmain.c (g_poll): Return the code ifdeffed out with
1173         TEST_WITHOUT_THIS. Can't remember why it was ifdeffed out. Things
1174         seem to work as previously with the code in place. Especially
1175         spawn-test didn't work with the code ifdeffed out (Bug#61067).
1176
1177         * glib/grand.c (g_rand_new): Don't try to use /dev/urandom unless
1178         on Unix.
1179
1180         * glib/gspawn-win32-helper.c (WinMain): Remove Sleep(10000)
1181         accidentally left in.
1182
1183 Thu Sep 27 14:26:57 2001  Owen Taylor  <otaylor@redhat.com>
1184
1185         * glib/gstrfuncs.c (g_ascii_strup/down): Use gssize to
1186         match the header. (Reported by Elliot Lee.)
1187
1188 Wed Sep 26 22:34:12 2001  Owen Taylor  <otaylor@redhat.com>
1189
1190         Fixes for #58195, based on some ideas from Hidetosh Tajima.
1191
1192         * aclibcharset.m4 glib/libcharset: Add Bruno Haible's
1193         portable-current charset detection code from libiconv.
1194
1195         * glib/gutf8.c (g_utf8_get_charset_internal): Rewrite
1196         to use _g_locale_charset().
1197
1198         * glib/gutf8.c (_g_charset_get_aliases): Private functions
1199         to get aliases from libcharset for a particular canonical
1200         name.
1201
1202         * glib/gconvert.c: If loading a charset fails, try 
1203         aliases to look for fallbacks.
1204         
1205 2001-09-26  Matthias Clasen  <matthiasc@poet.de>
1206
1207         * gmem.c (g_mem_is_system_malloc): Return !vtable_set.
1208
1209 2001-09-26  Tor Lillqvist  <tml@iki.fi>
1210
1211         * configure.in: Retract my change earlier today. Don't preset
1212         autoconf variables in a try to match both mingw and MSVC. Instead,
1213         he who packages a prebuilt GLib developer distribution for Win32
1214         runs configure twice: once for mingw, once for MSVC, and then uses
1215         diff -D on the glibconfig.h files to generate a suitably ifdeffed
1216         glibconfig.h for distribution that suits both compilers. (Ditto
1217         for config.h, although that file wouldn't be distributed in a
1218         developer package, but in a source package for Win32 users who
1219         want to build GLib but can't use configure.)
1220
1221         * glibconfig.h.win32.in
1222         * config.h.win32.in: Generated by using diff -D as described above.
1223
1224         * tests/makefile.mingw.in (.c.exe): Correct name of gthread (import)
1225         library.
1226
1227 Wed Sep 26 15:33:37 2001  Owen Taylor  <otaylor@redhat.com>
1228
1229         * Makefile.am po/Makefile.in.in: Fix distclean to 
1230         remove some extra files. #60993, Ben Gertzfield
1231
1232 Wed Sep 26 14:37:52 2001  Owen Taylor  <otaylor@redhat.com>
1233
1234         * glib/gen-unicode-tables.pl glib/guniprop.c 
1235           glib/{gunibreak,gunichartables,gunidecomp}.h:
1236         Patch from Andrew Taylor to make much of the unicode
1237         table data const so that it can be made read-only
1238         and shared.
1239
1240 Wed Sep 26 12:41:05 2001  Owen Taylor  <otaylor@redhat.com>
1241
1242         * glib/gstrfuncs.c (g_strdup_vprintf): Copy if 
1243         !g_mem_is_system_malloc, not the other way around.
1244         (Found by James Antill.)
1245
1246 Wed Sep 26 11:00:31 2001  Owen Taylor  <otaylor@redhat.com>
1247
1248         * glib/gstrfuncs.c (g_strnfill): Use memset; might be 
1249         faster if someone used this for a biiig string.
1250         (Suggestion from Jakub Jelinek)
1251
1252 2001-09-26  Tor Lillqvist  <tml@iki.fi>
1253
1254         * configure.in: (Win32:) Move the Win32 check closer to the start,
1255         after the BeOS checks. Preset some autoconf variables so that
1256         configure won't find those few headers and functions that gcc
1257         (mingw) pretends to implement (even if the actual C library
1258         doesn't), but MSVC doesn't. This because I want the same config.h
1259         and glibconfig.h to be usable both from gcc and MSVC (as they use
1260         the same C library). Some other minor hackery for this purpose.
1261
1262         * glibconfig.h.win32.in
1263         * config.h.win32.in: Use versions generated by configure (and
1264         hand-edited slightly).
1265
1266 2001-09-25  Darin Adler  <darin@bentspoon.com>
1267
1268         * glib/gtree.h: Use gboolean for return value of GTraverseFunc.
1269
1270 Tue Sep 25 11:34:22 2001  Owen Taylor  <otaylor@redhat.com>
1271
1272         * configure.in: Version 1.3.9 (binary, interface == 0)
1273
1274         * glib/gstrfuncs.c (g_ascii_strdown): Change g_ascii_strup/strdown
1275         to take a 'len' argument to match g_utf8_strup/strdown. This
1276         hopefully will also make it more obvious that they duplicate
1277         the string rather than acting like g_strup/strdown.
1278         (Suggestion from Matthias Clasen, #59550)
1279
1280 2001-09-25  Tor Lillqvist  <tml@iki.fi>
1281
1282         * configure.in: More Win32 automake macros. For .def files:
1283         GLIB_DEF, GMODULE_DEF, GOBJECT_DEF and GTHREAD_DEF. For .exp
1284         files: TESTGMODULE_EXP (for programs that need to export symbols,
1285         just testgmodule here). A new conditional, MS_LIB_AVAILABLE to
1286         test whether the Microsoft librarian ("ar") is available to build
1287         MS import libraries.
1288  
1289         * glib/Makefile.am
1290         * gmodule/Makefile.am: Use above. New rule to build MS import
1291         library.
1292
1293         * glib/makefile.msc.in
1294         * tests/makefile.msc.in
1295         * tests/makefile.mingw.in: Use same DLL and import library names as
1296         libtool.
1297
1298 2001-09-24  Matthias Clasen  <matthiasc@poet.de>
1299
1300         * glib/gutf8.c, glib/gunibreak.c, glib/gunicollate.c,
1301         glib/gunidecomp.c, glib/guniprop.c: Inline doc consistency fixes.
1302
1303 2001-09-24  Stanislav Visnovsky  <visnovsky@nenya.ms.mff.cuni.cz>
1304
1305         * configure.in: Added "sk" to ALL_LINGUAS.
1306
1307 2001-09-22  Hans Breuer  <hans@breuer.org>
1308
1309         * glib/giowin32.c : simply setting is_readable and is_writeable
1310         to TRUE does make Gimp plug-ins work again. Still no API known
1311         to request this info on Win32 (see #57690)
1312
1313 2001-09-21  Hans Breuer  <hans@breuer.org>
1314
1315         * makefile.msc : added rule for glibconfig.h
1316
1317         * glib/giowin32.c (g_io_channel_new_file) : always open
1318         in binary mode (fix for #57695)
1319
1320         * glib/glib.def : updated externals
1321
1322         * glib/gwin32.c : re-added LANG_* and SUBLANG_* definitions,
1323         which are missing from the msvc 5.0 win32 sdk
1324
1325         * glib/makefile.msc.in : added gbsearcharry
1326
1327 Thu Sep 20 20:33:45 2001  Owen Taylor  <otaylor@redhat.com>
1328
1329         * Rename g_mem_vtable_is_set() to g_mem_is_system_malloc().
1330
1331 2001-09-20  Tor Lillqvist  <tml@iki.fi>
1332
1333         * glib/gutils.c (g_path_is_absolute): (Win32:) Accept also forward
1334         slashes. (But still don't accept them in the other functions
1335         here. This is a thorny issue. Windows in fact does treat / like \
1336         on input (at least as local directory separators, dunno about
1337         server/share separators). But GLib only has the one
1338         G_DIR_SEPARATOR value, that apps should scan for, and use when
1339         building pathnames. To properly fix this would require totally
1340         abstracting pathnames, and don't having any path name scanning and
1341         building in applications at all. Fat chance.)
1342         (GLIB_LOCALE_DIR): Redefine only on "pure" Win32, not Cygwin. Use
1343         subdirectory "share\locale", as on Unix.
1344
1345         * glib/gwin32.c: Don't need to define those langiage and
1346         sublanguage constants here, current mingw (w32api) headers have
1347         them.
1348
1349         * glib/glib.def: Add a few missing entry points.
1350
1351         * tests/testglib.c (main): Use same name for DLL as libtool does.
1352         Use G_DIR_SEPARATOR in g_path_get_basename tests.
1353
1354 Wed Sep 19 16:35:22 2001  Owen Taylor  <otaylor@redhat.com>
1355
1356         * glib/gmain.c (g_main_context_find_source_by[_funcs]_user_data): 
1357         Fix handling of user data when locating sources. 
1358         (#60414, Katsuhiro Okuno)
1359
1360 Wed Sep 19 14:17:31 2001  Owen Taylor  <otaylor@redhat.com>
1361
1362         Patch from Matthias Clasen (#59806)
1363
1364         * configure.in: Check for vasprintf().
1365
1366         * glib/gmem.[ch]: Add g_mem_vtable_is_set() to be used
1367         for efficiency hacks to avoid extra copies when not
1368         needed.
1369
1370         * glib/gstrfuncs.c: Use vasprintf() to implement
1371         g_strdup_printf() when available.
1372
1373         * glib/gmessages.c (g_logv): Avoid using 
1374         printf_string_upper_bound() when we have have vsnprintf.
1375
1376         * glib/gmessages.c (printf_string_upper_bound): Don't
1377         segfault when warning about positional parameters.
1378
1379 Wzed Sep 19 14:05:27 2001  Owen Taylor  <otaylor@redhat.com>
1380
1381         * glib/{gcache.c,gmem.c,grel.c,gstring.c,gtimer.c,gtree}:
1382         Patch from Darin Adler to remove GReal* structures in
1383         favor of simple opaque typedefs in cases where there
1384         were no non-private members. (#59693)
1385
1386 Wed Sep 19 13:03:38 2001  Owen Taylor  <otaylor@redhat.com>
1387
1388         * glib/giochannel.c (g_io_channel_read/write_chars): Handle NUL
1389         bytes_written, bytes_read. (Suggested by Joshua N Pritikin, #59550)
1390
1391 Wed Sep 19 12:49:11 2001  Owen Taylor  <otaylor@redhat.com>
1392
1393         * glib/gutils.c (g_get_any_init): Handle failure of
1394         sysconf and pick a fixed size buffer. (Happens on Cygwin
1395         #60242)
1396
1397 Wed Sep 19 11:23:41 2001  Owen Taylor  <otaylor@redhat.com>
1398
1399         * configure.in: Error out if gettext support is not found. (#59386)
1400
1401 2001-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1402
1403         * glib/gthread.h (GThreadFunctions): Add thread_equal function to
1404         allow for platform defined function to compare two threads.
1405
1406         * glib/gthread.c: Use g_thread_functions_for_glib_use.thread_equal
1407         when non-NULL instead of ==.
1408         
1409 Wed Sep 19 10:44:25 2001  Tim Janik  <timj@gtk.org>
1410
1411         * Released 1.3.8.
1412
1413 Tue Sep 18 22:57:33 2001  Tim Janik  <timj@gtk.org>
1414
1415         * configure.in (GLIB_MICRO_VERSION): up version number to 1.3.8,
1416         interface age 0, binary age 0.
1417
1418         * NEWS: updates.
1419
1420 Tue Sep 18 18:23:02 2001  Owen Taylor  <otaylor@redhat.com>
1421
1422         Fixes for compilation on Solaris (#59026, Frank Belew)
1423
1424         * glib/gqsort.c (g_qsort_with_data): Use g_alloca().
1425
1426         * glib/giochannel.c (g_io_channel_read_to_end): Fix use
1427         of ternary on left-hand-side.
1428
1429         * configure.in: Handle the ac_cv_working_alloca_h variable
1430         set by autoconf-2.5x.
1431
1432 Tue Sep 11 18:50:44 2001  Owen Taylor  <otaylor@redhat.com>
1433
1434         * m4macros/glib-gettext.m4 acinclude.m4: Remove commented
1435         out sections for clarity.
1436
1437 Tue Sep 18 18:19:33 2001  Tim Janik  <timj@gtk.org>
1438
1439         * tests/testglib.c: add simple test for g_path_get_basename().
1440
1441         * glib/gfileutils.c (g_file_open_tmp): 
1442         * glib/gstrfuncs.c (g_strerror): scratch erroneous usages
1443         of "illegal".
1444
1445 2001-09-18  Tor Lillqvist  <tml@iki.fi>
1446
1447         * glib/gmain.c
1448         * glib/giowin32.c: Mark the _funcs tables for export.
1449
1450         * glib/glib.def: Add here, too.
1451
1452         * glib/gwin32.c (get_package_directory_from_module): No reason to
1453         check for the module being in a bin or lib directory only when
1454         module_name is non-NULL.
1455
1456         * glib/gwin32.c (g_win32_get_package_installation_directory):
1457         Check first in HKEY_CURRENT_USER, then in HKEY_LOCAL_MACHINE.
1458
1459 2001-09-17  Darin Adler  <darin@bentspoon.com>
1460
1461         * tests/strfunc-test.c: (main): Change so that it works
1462         on platforms where isalpha is a macro only, without the
1463         corresponding function that the C standard requires.
1464         Also eliminate the multiple lists of ctype functions.
1465
1466         * tests/.cvsignore: Ignore the new test.
1467
1468 2001-09-17  Tor Lillqvist  <tml@iki.fi>
1469
1470         * configure.in: Add variable for LT_CURRENT minus LT_AGE (the
1471         suffix used by libtool on Win32 for DLLs). Set variables for the
1472         compiled resource files on Windows. Handle the native Win32
1473         threads gmodule.
1474
1475         * glib/Makefile.am
1476         * gmodule/Makefile.am
1477         * gobject/Makefile.am: (Win32) Add hacks to link in the object
1478         file produced from the resource file. Use the lt-compile-resource
1479         script from the build module. The non-hack way would be to teach
1480         libtool, autoconf and automake about .rc files (which are a kind
1481         of source code, after all, that gets compiled to object
1482         files). But then there would be problems with those who don't have
1483         bleeding edge auto* and libtool.
1484
1485         * glib/glib.def
1486         * gobject/gobject.def: Updates.
1487
1488         * glib/glib.rc.in
1489         * gmodule/gmodule.rc.in
1490         * gobject/gobject.rc.in
1491         * gthread/gthread.rc.in: Update InternalName and OriginalFilename to
1492         match libtool's naming convention for DLLs.
1493
1494         * glib/gutils.c: Ditto when constructing the DLL name in the
1495         definition for GLIB_LOCALE_DIR.
1496
1497         * glib/makefile.mingw.in
1498         * gmodule/makefile.mingw.in
1499         * gobject/makefile.mingw.in
1500         * gthread/makefile.mingw.in: Update import library names.
1501         
1502 Fri Sep 14 20:34:27 2001  Matthias Clasen  <matthiasc@poet.de>
1503
1504         * glib/gconvert.c (g_filename_from_uri): Replace `is contains'
1505         by `contains' in two error messages. (#60395)
1506
1507 2001-09-10  Ron Steinke  <rsteinke@w-link.net>
1508
1509         * glib/giochannel.h glib/giochannel.c: Added a length argument
1510         to g_io_channel_[set,get]_line_term(), allowing embeded nulls
1511         and binary safe line termination strings
1512
1513         * glib/giochannel.c: Got rid of a compile warning in
1514         g_io_channel_write_chars()
1515
1516 Mon Sep 10 17:13:36 2001  Tim Janik  <timj@gtk.org>
1517
1518         * glib/gmessages.h: got rid of g_set_error_handler(),
1519         g_set_warning_handler(), g_set_message_handler().
1520
1521 Mon Sep 10 11:42:58 2001  Owen Taylor  <otaylor@redhat.com>
1522
1523         * glib/gutf8.c glib/gstring.c glib/gfileutils.c glib/gmain.c: 
1524         Doc fixes.
1525
1526 Sat Sep  8 17:14:51 2001  Owen Taylor  <otaylor@redhat.com>
1527
1528         * glib/gfileutils.[ch]: Add g_build_path(), 
1529         g_build_filename(), to create separated paths, 
1530         suppressing duplicate separators, from varargs
1531         lists.
1532
1533         * tests/strfunc-test.c: Add tests for g_build_path(),
1534         g_build_filename().
1535
1536 Sat Sep  8 14:11:53 2001  Owen Taylor  <otaylor@redhat.com>
1537
1538         * glib/Makefile.am (libglib_1_3_la_SOURCES): Add
1539         gbsearcharray.[ch].
1540
1541         * glib/glib-object.h: Remove include of gbsearcharray. 
1542
1543 Mon Sep  3 23:29:51 2001  Owen Taylor  <otaylor@redhat.com>
1544
1545         * Version 1.3.7
1546
1547         * Makefile.am (EXTRA_DIST): Distribute po/po2tbl.sed.in
1548
1549         * Makefile.am: Remove references to glib.rc[.in]
1550
1551         * NEWS: Various additions.
1552
1553 2001-09-04  Tor Lillqvist  <tml@iki.fi>
1554
1555         * README.win32: Update. Don't mention pthreads.
1556
1557         * build-dll: Remove, moved to the build module.
1558
1559         * glibconfig.h.win32.in: Don't mention pthreds here, either.
1560
1561         * glib/gstrfuncs.c: Mark the correct variable for export from DLL.
1562
1563         * glib/giowin32.c (g_io_win32_msg_create_watch): Owen forgot to
1564         rename the win32_watch_funcs variable here, too.
1565
1566         * */makefile.mingw.in: Don't use version number in import library
1567         name. Use whole version number in DLL name. Use build-dll from the
1568         build module.
1569
1570 Tue Sep  4 01:50:24 2001  Tim Janik  <timj@gtk.org>
1571
1572         * NEWS: updates for 1.3.7 release.
1573
1574 Mon Aug 27 14:56:12 2001  Owen Taylor  <otaylor@redhat.com>
1575
1576         * glib/gmain.h: Add closure_marshal/closure_callback
1577         fields to GSourceFuncs for use by g_source_set_closure().
1578
1579         * glib/gmain.c glib/giounix.c glib/giowin32.c 
1580           glib/gmain.h: Export the SourceFuncs vtables so GObject
1581         can use them to figure out closure callbacks/marshallers
1582         for the default source types.
1583
1584 Sun Sep  2 13:05:53 2001  Owen Taylor  <otaylor@redhat.com>
1585
1586         * glib/gstrfuncs.c (g_strchomp): Replace some uses
1587         of isspace() with g_ascii_isspace().
1588
1589         * glib/gutf8.c glib/gunicode.h glib/gstrfuncs.[ch]: Add
1590         extra indirections to g_utf8_skip and g_ascii_table to
1591         avoid great whopping copy relocs.
1592
1593 Sun Sep  2 11:10:42 2001  Owen Taylor  <otaylor@redhat.com>
1594
1595         * glib/gen-unicode-tables.pl glib/gunicomp.h
1596         glib/gunichartables.h glib/giounix.c: Fix some variables that 
1597         should have been static.
1598
1599 2001-08-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1600
1601         * glib/gthread.h, glib/gthread.c: Add 'want_to_read' to
1602         GStaticRWLock to avoid calling g_cond_broadcast, when no one is
1603         waiting.
1604
1605         * glib/gmain.c (g_main_context_add_poll_unlocked): Don't free
1606         cached_poll_array, when adding new poll's. This is taken care for
1607         in g_main_context_iterate.
1608
1609 2001-08-30  Tor Lillqvist  <tml@iki.fi>
1610
1611         After being away for about five months, I'm back working on
1612         this...  For now, still using same build setup for Win32. Probably
1613         will change to not including version numbers in the import library
1614         names, though. (But the DLL names would still include them,
1615         possibly even also the micro version number.) That would be more
1616         Unix-like. Also, will have to check out newest mingw tool versions
1617         to see if the build-dll script now can be retired.
1618         
1619         * makefile.mingw
1620         * makefile.msc: New files, no need to generate from .in as
1621         they don't contain references to automake variables.
1622         
1623         * makefile.mingw.in
1624         * makefile.msc.in: Removed.
1625         
1626         * glib.rc.in: Remove
1627         * glib/glib.rc.in: Moved here.
1628         
1629         * Makefile.am
1630         * glib/Makefile.am: Corresponding changes.
1631
1632         * glib/glib.def: Fix typo, add new entries.
1633
1634         * glib/gspawn-win32-helper.c: More debugging. Doesn't work
1635         currently (or then it never has on Win2k, which I now use?)
1636
1637         * glib/gstrfuncs.c
1638         * glib/gstrfuncs.h: Mark g_ascii_table for export/import on Win32.
1639
1640         * */makefile.mingw.in: Reflect new location of glib library.
1641         
1642 2001-08-30  Michael Natterer  <mitch@gimp.org>
1643
1644         * glib/giochannel.h: (struct GIOChannel): "gboolean foo : 1"
1645         results in TRUE being -1 once assigned, use "guint foo : 1"
1646         instead.
1647
1648 2001-08-27  Darin Adler  <darin@bentspoon.com>
1649
1650         * glib/gconvert.h:
1651         * glib/gconvert.c: (g_filename_from_uri):
1652         Updated name of error from G_CONVERT_ERROR_NOT_LOCAL_FILE to
1653         G_CONVERT_ERROR_NOT_ABSOLUTE_FILE_URI.
1654         
1655         * tests/.cvsignore:
1656         * tests/uri-test.c:
1657         Added a lot more test for the new URI functions, including a
1658         number that seem to indicate some minor bugs.
1659
1660 2001-08-26  Alex Larsson  <alexl@redhat.com>
1661
1662         * glib/gconvert.[ch] (g_filename_from_uri,
1663         g_filename_to_uri): New functions to convert
1664         between local pahtnames and file: uris.
1665
1666         * tests/Makefile.am:
1667         * tests/uri-test.c:
1668         Tests for the new functions.
1669
1670 2001-08-25  Alexander Larsson  <alla@lysator.liu.se>
1671
1672         * glib/gstrfuncs.[ch]:
1673         * docs/reference/glib/glib-overrides.txt:
1674         * docs/reference/glib/glib-sections.txt:
1675         * docs/reference/glib/tmpl/string_utils.sgml:
1676         Implement and document g_ascii_isxxx.
1677
1678         * tests/strfunc-test.c:
1679         Add tests for g_ascii_isxxx
1680         
1681         * glib/guniprop.c (g_unichar_ispunct):
1682         include symbols, not just punctuation.
1683         (g_unichar_isspace): Vertical tab is not
1684         considered whitespace.
1685         
1686         * tests/shell-test.c:
1687         Output errors on stderr
1688
1689 2001-08-24  Alexander Larsson  <alla@lysator.liu.se>
1690
1691         * glib/gconvert.[ch] (g_convert_with_iconv):
1692         New function, doing the same as g_convert but taking
1693         a GIConv argument. The old g_convert is just
1694         a call to this with a newly opened GIConv.
1695
1696 2001-08-24  Darin Adler  <darin@bentspoon.com>
1697
1698         * tests/shell-test.c: (check_string_result): Fix bad indenting.
1699         I figured I should fix this since I just pointed Alex here to
1700         look at this as an example.
1701
1702 2001-08-24  Ron Steinke  <rsteinke@w-link.net>
1703
1704         * glib/giochannel.c: Matthias Clasen's fix for
1705         the buffer corruption bug by setting outbuf _after_
1706         the call to g_string_set_size()
1707
1708         * glib/giochannel.c: kept the buffers from perpetually
1709         growing by subtracting 1 from allocated_len in the calculation
1710         of available space to account for the null at the end of the
1711         buffer
1712
1713         * glib/giochannel.c: fixed g_io_channel_write_chars()
1714         to not write more than space_in_buf bytes for the UTF-8 case
1715
1716 Fri Aug 24 11:15:46 2001  Owen Taylor  <otaylor@redhat.com>
1717
1718         * glib/gstrfuncs.c docs/Changes-2.0.txt: Patch from Darin
1719         Adler to restore Glib-1.2 handling of empty strings,
1720         and to fix off-by-one with @max_tokens. (#57663).
1721         Doc improvements.
1722
1723         * tests/strfunc-test.c: Change tests to correspond to
1724         new behavior of g_strsplit().
1725
1726 Thu Aug 23 11:09:58 2001  Owen Taylor  <otaylor@redhat.com>
1727
1728         * glib/ghash.c (g_hash_table_foreach_remove_or_steal): 
1729         Patch from Josh Pritikin to fix reversed key and value destroy 
1730         functions. (#59433)
1731
1732         * glib/giochannel.h (struct _GIOChannel): Mark structure
1733         /*< private >*/
1734
1735 Thu Aug 23 16:14:17 2001  Tim Janik  <timj@gtk.org>
1736
1737         * glib/gmacros.h (G_GNUC_NO_INSTRUMENT): new macro.
1738
1739 2001-08-21  Abel Cheung  <maddog@linux.org.hk>
1740
1741         * configure.in: Added "zh_TW" to ALL_LINGUAS.
1742
1743 2001-08-20  Sven Neumann  <sven@gimp.org>
1744
1745         * Makefile.am: added po to SUBDIRS
1746
1747 Sun Aug 19 21:32:39 2001  Owen Taylor  <otaylor@redhat.com>
1748
1749         * glib/ghash.c: Eliminate use of floating point when 
1750         determining if the hash table needs to be resized,
1751         and also factor out the test from g_hash_table_resize()
1752         to save function calls for the common case.
1753         (#59124)
1754
1755         * glib/gmain.c (g_main_context_query): Document the
1756         return value.
1757
1758 2001-08-19  Darin Adler  <darin@bentspoon.com>
1759
1760         * glib/gshell.c: (g_shell_quote): Added missing \ character.
1761
1762         * tests/shell-test.c: (check_string_result), (test_shell_unquote),
1763         (main): Added tests for g_shell_quote and g_shell_unquote.
1764
1765 2001-08-19  Fatih Demir <kabalak@gtranslator.org>
1766
1767         * configure.in: Added "ta" to the languages list.
1768
1769 2001-08-19  Havoc Pennington  <hp@pobox.com>
1770
1771         * glib/gshell.c (g_shell_unquote): add comment about shell quoting
1772         rules to the docs.
1773
1774 2001-08-16  Ron Steinke  <rsteinke@w-link.net>
1775
1776         * glib/giounix.c: fixed an error in setting close_on_unref
1777         in g_io_channel_new_file ()
1778
1779 2001-08-16  Ron Steinke  <rsteinke@w-link.net>
1780
1781         * glib/giochannel.c glib/glib.def glib/giochannel.h: Added
1782         new functions g_io_channel_[set,get]_close_on_unref ()
1783
1784         * glib/giochannel.c: glib/giochannel.h: Documentation fixes
1785
1786         * glib/giochannel.c: Fixed g_io_channel_write_chars ()
1787         so that bytes_written is always set to an appropriate
1788         value when it returns
1789
1790         * glib/giounix.c: changed g_io_channel_get_flags () to
1791         set the is_readable and is_writeable flags cached
1792         by the channel
1793
1794 Wed Aug 15 11:09:56 2001  Tim Janik  <timj@gtk.org>
1795
1796         * Makefile.am: let the generated .pc files depend on config.status,
1797         so they get correctly remade.
1798
1799 Sun Aug 12 21:05:13 2001  Tim Janik  <timj@gtk.org>
1800
1801         * glib/gmessages.h: fix g_return_if_fail, g_assert and friends to
1802         have a body for G_DISABLE_CHECKS and G_DISABLE_ASSERT.
1803         fixes #58873.
1804
1805 2001-08-12  Ron Steinke  <rsteinke@w-link.net>
1806
1807         * glib/giochannel.c: safer handling of errno, fixed
1808         a bug in an assert
1809
1810 Sun Aug 12 10:09:00 2001  Owen Taylor  <otaylor@redhat.com>
1811
1812         * tests/iochannel-test.c (main): Find test case for
1813         srcdir != builddir, miscellaneous cleanups.
1814
1815         * tests/Makefile.am (EXTRA_DIST): Distribute casefold.txt,
1816         casemap.txt iochannel-test-infile.
1817
1818         * glib-2.0-uninstalled.pc.in: Fix for move of glib files
1819         into subdir. (Pointed out by Steve Baker)
1820
1821 Sat Aug  4 01:04:08 2001  Tim Janik  <timj@gtk.org>
1822
1823         * glib/gscanner.c (g_scanner_unexp_token): fix INT and FLOAT warnings
1824         for invalid token values.
1825
1826 2001-08-10  Ron Steinke  <rsteinke@w-link.net>
1827
1828         * glib/giochannel.c: Fixed a "sense of comparison" bug,
1829         added an assert to check when g_io_channels_read_chars ()
1830         is looping endlessly due to encoded_read_buf being corrupted.
1831
1832 2001-08-06  Sven Neumann  <sven@gimp.org>
1833
1834         * glib/gutils.[ch]: added new function g_nullify_pointer().
1835         
1836 2001-08-05  Ron Steinke  <rsteinke@w-link.net>
1837
1838         * glib/giochannel.c glib/giochannel.c glib/glib.def
1839         docs/reference/glib/glib-sections.txt: Added new functions
1840         g_io_channel_[read,write]_unichar ()
1841
1842         * glib/giochannel.h: Finally remembered to remove the
1843         old error message G_IO_CHANNEL_ERROR_PCHAR_FLUSH
1844
1845         * glib/giochannel.c: Some fixes to g_io_channel_fill_buffer ()
1846         and g_io_channel_write_chars ()
1847
1848 2001-08-05  Ron Steinke  <rsteinke@w-link.net>
1849
1850         * glib/giochannel.c: Replaced the local use_buf variable with a macro
1851         in most places. This allows us to check some things without worrying
1852         whether we have allocated the read buffers yet, and allows us to allocate
1853         the buffers later in some cases.
1854
1855         * glib/giochannel.c: Introduced a MAX_CHAR_SIZE macro, which is
1856         supposed to be greater than or equal to the length in bytes
1857         of the longest character in any encoding. This is necessary
1858         to get the minimum buffer size for successful writing.
1859
1860         * glib/giochannel.c: Fixed g_io_channel_set_encoding () so
1861         that it just prints a warning if partial_write_buf isn't
1862         empty instead of failing.
1863
1864         * glib/giochannel.c: Fixed several functions so they can accept
1865         NULL parameters for pointers to return values.
1866
1867         * glib/giochannel.c: Altered the error handling for
1868         g_io_channel_read_chars () to only return an error if
1869         it doesn't have any buffered data.
1870
1871         * glib/giochannel.c: Rewrote g_io_channel_write_chars ()
1872         to fix the error handling and remove duplicate sections
1873         of code.
1874
1875         * glib/giounix.c: Fixed g_io_channel_new_file () to
1876         call fstat () to set the is_seekable flag, in case someone
1877         uses it on a FIFO.
1878
1879 Sun Aug  5 08:25:30 2001  Owen Taylor  <otaylor@redhat.com>
1880
1881         * glib/gmacros.h: Include stddef.h so that we use
1882         the system's definition of NULL. (#54730)
1883
1884 2001-08-04  Alexander Larsson   <alexl@redhat.com>
1885         
1886         * win32-fixup.pl: 
1887         Hacky script to fix up your .msc.in files on windows. 
1888         Dunno if this is a good solution yet.
1889         
1890         * build/win32/module.defs:
1891         Back down libiconv version to 1.3, since that is what tor distributes.
1892         
1893         * glib/glib.def:
1894         Update
1895
1896         * gobject/makefile.msc.in:
1897         build gobject-query.exe and gmarshal.strings, add libiconv dependency to linklines.
1898
1899         * gobject/marshal-genstrings.pl:
1900         New file. perl script to generate gmarshal.strings.
1901         
1902 2001-08-03  Ron Steinke  <rsteinke@w-link.net>
1903
1904         * glib/giochannel.c: Fixed g_io_channel_seek_position()
1905         so that G_SEEK_CUR can be used with UTF-8 encoding
1906
1907         * glib/giochannel.c: Changed test to decide whether
1908         use_buf is encoded_read_buf or read_buf from
1909         "if (channel->do_encode)" to "if (channel->encoding)" to
1910         fix bug 58472
1911
1912         * tests/iochannel-test.c: Fixed so it doesn't output
1913         double newlines
1914
1915         * glib/giochannel.c: Fixed g_io_channel_fill_buffer()
1916         so that encoded_read_buf is created for UTF-8 encoding
1917
1918 2001-08-03  Darin Adler  <darin@bentspoon.com>
1919
1920         * tests/strfunc-test.c: (strv_check), (main):
1921         Improve strfunc test to test the split function in a way that
1922         demonstrates its idiosyncrasies.
1923         * tests/.cvsignore:
1924
1925 2001-08-03  Sven Neumann  <sven@gimp.org>
1926
1927         * configure.in: beautified configure help output.
1928         
1929         * glib/gtree.c: changed help for g_tree_insert(); it was misleading.
1930
1931 Fri Aug  3 10:20:10 2001  Owen Taylor  <otaylor@redhat.com>
1932
1933         * glib/guniprop.c (g_unichar_xdigit_value): Fix computation
1934         (Fix from Cesar Rincon)
1935
1936 2001-08-01  Christopher James Lahey  <clahey@ximian.com>
1937
1938         * glib/gutf8.c (g_utf8_find_prev_char): Made g_utf8_find_prev_char
1939         able to return the first character of a string.
1940
1941 2001-07-31  Ron Steinke  <rsteinke@w-link.net>
1942
1943         * glib/giochannel.h: Committed this file, which is where
1944         the changes in my previous changelog entry happened,
1945         not giochannel.c
1946
1947 2001-07-31  Sven Neumann  <sven@gimp.org>
1948
1949         * glib/gmem.c: declare gboolean vtable_set static.
1950
1951 2001-07-30  Ron Steinke  <rsteinke@w-link.net>
1952
1953         * glib/giochannel.c docs/reference/glib/glib-sections.txt
1954         tests/iochannel-test.c: removed G_IO_CHANNEL_*_LINE_TERM macros
1955
1956         * glib/giochannel.c put /*<public>*/ and /*<private>*/ tags in
1957         the GIOChannel structure
1958
1959
1960 2001-07-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1961
1962         * configure.in: #undef inline before testing whether it works to
1963         avoid false positives. Patch from Garry R. Osgood
1964         <grosgood@rcn.com>. Fixes bug #58272.
1965
1966         * gmodule/gmodule.c (parse_libtool_archive): build the library
1967         name ourselfs ... so we can load the library specified and not
1968         mangle any name not beggining in 'lib'. Patch from Michael Meeks
1969         <michael@ximian.com>. Fixes bug #58226.
1970
1971 2001-07-29  Ron Steinke  <rsteinke@w-link.net>
1972
1973         * glib/giochannel.c: Matthias Classen's patch to give
1974         g_io_channel_flush() the correct sense when testing
1975         whether the buffer is empty
1976         * glib/giounix.c: Matthias Classen's patch to set
1977         the mode of a file created with g_io_channel_new_file()
1978
1979 Sun Jul 29 16:08:17 2001  Tim Janik  <timj@gtk.org>
1980
1981         * glib/gscanner.[hc]: removed deprecated g_scanner_stat_mode().
1982
1983         * glib/gscanner.c (g_scanner_msg_handler): by default, print scanner
1984         errors and warnings to stderr.
1985
1986 2001-07-27  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1987
1988         * glib/gtypes.h: Use G_GNUC_EXTENSION instead of
1989         __extension__. Patch from Pavel Roskin <proski@gnu.org>.
1990
1991 2001-07-26  Darin Adler  <darin@bentspoon.com>
1992
1993         * configure.in:
1994         * m4macros/glib-2.0.m4:
1995         Update location of pkgconfig from sourceforge.net to new
1996         location at freedeskop.org.
1997
1998 2001-07-26  Michael Natterer  <mitch@convergence.de>
1999
2000         * gobject/glib-genmarshal.c: added a "release_check" to the
2001         OutArgument structure, which, if present, gets integrated in the
2002         marshaller code and protects us from stuff like
2003         g_object_unref(NULL) on marshaller return values.
2004
2005 2001-07-23  Padraig O'Briain  <Padraig.Obriain@sun.com>
2006
2007         * gobject/gobjectnotifyqueue.c: fix unconditional check of
2008         first GParamSpec in g_object_notify_queue_thaw(); prevent
2009         property notification being lost
2010
2011 2001-07-23  Ron Steinke  <rsteinke@w-link.net>
2012
2013         * glib/giochannel.c: fixed g_io_channel_seek_position() so that
2014         G_SEEK_CUR works for UTF-8 channel encoding, and unallocated
2015         converters are not flushed after the seek; fixed
2016         g_io_channel_get_buffer_condition() so that G_IO_IN is only
2017         set if the read buffer contains at least one full character
2018
2019 2001-07-23  Sven Neumann  <sven@gimp.org>
2020
2021         * Makefile.am: removed glib.def from EXTRA_DIST ...
2022         * glib/Makefile.am: ... and added it here.
2023
2024 2001-07-22  Hans Breuer  <hans@breuer.org>
2025
2026         * glib/giochannel.c (g_io_channel_get_buffer_condition) : make
2027         the code actually have an effect (Use |= to set bits). Not
2028         absolutely sure if is the right one.
2029
2030         * glib/giowin32.c (g_io_win32_<check|prepare>) : don't modify
2031         watch->condition but restored the previous behaviour.
2032         Now gio-test as well as The Gimp work again ...
2033         
2034 2001-07-21  Hans Breuer  <hans@breuer.org>
2035
2036         * glib/giowin32.c (g_io_channel_new_file) : set the
2037         corresponding p(ermission)mode of the file when creating,
2038         otherwise a wronly file couldn't be overwritten (at least
2039         not on Win9x).
2040
2041 2001-07-21  Hans Breuer  <hans@breuer.org>
2042
2043         * glib/giowin32.c : intial implementation of new API functions.
2044         Not sure if it behaves as intended ...
2045
2046         * glib.def : removed, glib/glib.def is the file used since moved
2047         * glib/glib.def : updated
2048
2049         * tests/makefile.msc : added iochannel-test
2050
2051 Fri Jul 20 19:19:10 (UTC) 2001  Ron Steinke  <rsteinke@w-link.net>
2052
2053         * glib/giochannel.c: API changes, fixes to
2054         error handling, some internal restructuring
2055         * glib/giochannel.h: API changes, documentation for
2056         elements in GIOChannel structure
2057         * glib/giounix.c: Matched API changes, implemented
2058         backend to set is_readable, is_writeable, is_seekable
2059         flags, added a test to catch large values of count
2060         for which the behavior of write() is undefined
2061         * glib/giowin32.c: Changed to match new prototypes for
2062         io_close() and io_seek(), removed references to
2063         G_IO_STATUS_INTR, set is_seekable flag in channel
2064         creation functions
2065         * glib.def: Renamed g_channel_error_quark() and
2066         g_channel_error_from_errno() to g_io_channel_error_quark() and
2067         g_io_channel_error_from_errno(); added new functions
2068         g_io_channel_get_buffered() and g_io_channel_set_buffered()
2069         * docs/reference/glib/glib-sections.txt: Modified iochannel
2070         section to reflect new functions and API changes
2071         * tests/iochannel-test.c: Fixed to work with API changes
2072         * tests/iochannel-test-infile: New file; input file
2073         for iochannel-test
2074         * tests/unicode-collate.c tests/unicode-normalize.c:
2075         Changed G_IO_FILE_MODE_READ to "r" to match API change
2076
2077 Fri Jul 20 19:16:24 (UTC) 2001  Ron Steinke  <rsteinke@w-link.net>
2078
2079         * gobject/glib-genmarshal.c: modified to create header files
2080         using G_[BEGIN,END]_DECLS instead of #ifdef __cplusplus ...
2081
2082 Fri Jul 20 14:11:29 2001  Owen Taylor  <otaylor@redhat.com>
2083
2084         * glib/gutf8.c glib/gunidecomp.c: s/size_t/gsize/ to match
2085         prototypes.
2086
2087 Thu Jul 19 16:05:21 2001  Owen Taylor  <otaylor@redhat.com>
2088
2089         * glib/gcompletion.c (g_completion_complete): Fix memory
2090         leak and dubious list manipulation. (Found by 
2091         Ron Koerner, #53408)
2092
2093         * glib/gfileutils.c (get_contents_stdio): Call fclose()
2094         on FILE * on error. (#57057)
2095
2096 2001-07-20  Hans Breuer  <hans@breuer.org>
2097
2098         * glib/glib/giowin32.c : make it compile again
2099
2100         * glib/glib.def : updated exports
2101
2102         * glib/makefile.msc.in :
2103         * glib/makefile.mingw.in : 
2104         * tests/makefile.msc.in : reflect glib move
2105
2106         * tests/mainloop-test.c : #include <io.h> for _pipe()
2107
2108         * tests/gio-test.c : casts for strict compiler settings
2109
2110         * makefile.msc.in : new master makefile reflecting the glib
2111         move. The '.in' isn't really needed anymore, because there
2112         is no version number in it
2113
2114 2001-07-19  Darin Adler  <darin@bentspoon.com>
2115
2116         * glib/gstrfuncs.c: (g_ascii_strdown), (g_ascii_strup): Add
2117         missing const.
2118         (g_strsplit): Add g_return_val_if_fail for case of empty
2119         delimiter, which can result in an infinite loop otherwise.
2120         * glib/gstrfuncs.h: Add missing const.
2121         * tests/.cvsignore: Ignore a generated file.
2122         
2123         * tests/array-test.c:
2124         * tests/dirname-test.c:
2125         * tests/hash-test.c:
2126         * tests/list-test.c:
2127         * tests/node-test.c:
2128         * tests/relation-test.c:
2129         * tests/shell-test.c:
2130         * tests/slist-test.c:
2131         * tests/spawn-test.c:
2132         * tests/strfunc-test.c:
2133         * tests/string-test.c:
2134         * tests/testglib.c:
2135         * tests/tree-test.c:
2136         * tests/type-test.c:
2137         Add an #undef G_DISABLE_ASSERT so all tests will assert even if
2138         asserts are disabled inside glib itself.
2139
2140 Fri Jul 13 19:20:06 2001  Owen Taylor  <otaylor@redhat.com>
2141
2142         * glib/gstring.c (g_string_insert/append/prepend_unichar):
2143         Add functions to insert a unichar as UTF-8, since this
2144         is reasonably common.
2145
2146         * glib/gutf8.c glib/gunicode.h (g_utf8_get_char_validated):
2147         New function exposing iterating through possibly invalid/incomplete
2148         UTF-8 to unicode to the outside world.
2149
2150         * glib/gutf8.c (g_utf8_get_char_extended): Fix max_len argument
2151         to be gssize, not gsize.
2152
2153 2001-07-17  Kjartan Maraas  <kmaraas@gnome.org>
2154
2155         * configure.in: Added "nn" to ALL_LINGUAS.
2156         
2157 2001-07-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2158
2159         * glib/gmain.c: Add some assertions. Simplify and fix
2160         g_main_context_release(). Fix some locking bugs in
2161         g_main_loop_run().
2162
2163 2001-07-12  Mark Murnane  <Mark.Murnane@sun.com>
2164
2165         * glib/gmessages.c: Changed prototype of printf_string_upper_bound
2166         to return gsize.  Now matches the actual function body.
2167
2168         * glib/gstrfuncs.c (g_strrstr_len): Changed type of parameter #2 
2169         from gint to gssize.  Now matches the prototype in gstrfuncs.h.
2170         
2171 2001-07-11  Darin Adler  <darin@bentspoon.com>
2172
2173         * .cvsignore: Add some generated files.
2174
2175         * glib/gmain.c: (g_main_context_iterate): Comment out cruft
2176         after #endif to avoid gcc warning.
2177         * gmodule/gmodule.c: (g_module_set_error_unduped): Remove
2178         const from type to avoid gcc warning.
2179         * gobject/gsignal.c: (g_signal_emitv): ifdef variable used
2180         only if G_ENABLE_DEBUG to avoid gcc warning.
2181         * gobject/gtype.c: (type_iface_vtable_init_Wm),
2182         (type_iface_vtable_finalize_Wm): ifdef call needed only
2183         if !G_DISABLE_ASSERT to avoid gcc warning.
2184         * tests/testglib.c: (main): ifdef call needed only if
2185         !G_DISABLE_ASSERT to avoid gcc warning. Maybe later we
2186         should make the test to #undef G_DISABLE_ASSERT.
2187         * tests/unicode-collate.c: Add include of <string.h> to
2188         avoid gcc warning.
2189
2190 Wed Jul 11 11:13:50 2001  Owen Taylor  <otaylor@redhat.com>
2191
2192         * glib/Makefile.am (libglib_1_3_la_SOURCES): Add gunicomp.h
2193         (Reported by Sven Neumann).
2194
2195         * glib/guniprop.c (g_utf8_str/updown) glib/gunicollate.c
2196         (g_utf8_collate_key): Fix shadowing problems reported by
2197         many (D. Adler, S. Neumann, M. Murmane, L. Peter)
2198
2199 Fri Jul  6 00:02:41 2001  Tim Janik  <timj@gtk.org>
2200
2201         * glib/gmessages.c (printf_string_upper_bound): fix negative exponent
2202         handling (numbers<0).
2203         
2204         * glib/gutils.h (g_bit_storage): take a gulong as argument.
2205         same for g_bit_nth_lsf() and g_bit_nth_msf() as mask.
2206
2207 2001-07-08  Martin Baulig  <baulig@suse.de>
2208
2209         * tests/unicode-normalize.c, tests/unicode-collate.c:
2210         Reflect latest g_io_channel_new_file() API changes, use
2211         G_IO_FILE_MODE_READ instead of "r".
2212
2213 Fri Jul  6 22:34:32 2001  Owen Taylor  <otaylor@redhat.com>
2214
2215         * glib/gunicode.h glib/gunidecomp.c glib/guniprop.c 
2216           glib/gunicollate.c: Add length arguments to
2217         g_utf8_{strup,strdown,casefold,collate_key}.
2218
2219         * glib/gdate.c: Fix for above.
2220
2221 2001-07-06  Pablo Saratxaga <pablo@mandrakesoft.com>
2222
2223         * configure.in: added Basque (eu) to ALL_LINGUAS
2224
2225 Mon Jul  2 19:48:52  2001 Andrew Lanoix <alanoix@umich.edu>
2226
2227         *giowin32.c: g_source_remove()ing an socket iochannel closes
2228         the socket when it should not. Patch by Peter Zelezny 
2229         <zed@linux.com>
2230
2231         *giowin32.c: Fix a few typos
2232         
2233 Mon Jul  2 16:03:21 2001  Owen Taylor  <otaylor@redhat.com>
2234
2235         * glib/giochannel.c (g_io_channel_get_buffer_condition): Fix.
2236
2237         * glib/giunix.c: Fix prepare/check/dispatch for watches.
2238
2239         * tests/unicode-normalize.c: #include <string.h>
2240
2241 Sat Jun 30 23:14:32 2001  Tim Janik  <timj@gtk.org>
2242
2243         * glib/glist.[hc]: added g_list_insert_before().
2244
2245         * glib/gslist.c (g_slist_insert_before): provide an implementation,
2246         prototype was already present...
2247
2248 Sun Jul  1 20:16:25 2001  Owen Taylor  <otaylor@redhat.com>
2249
2250         * glib/guniprop.c (g_unichar_totitle): Use G_N_ELEMENTS
2251         rather than a custom macro.
2252
2253         * glib/gen-unicode-tables.pl: Adapt to changes in table
2254         formats for Unicode 3.1
2255
2256         * glib/gunicode.h glib/guniprop.c glib/gunichartables.h
2257           glib/gen-unicode-tables.pl: Add case conversion functions
2258         g_utf8_casefold, g_utf8_strup, g_utf8_strdown.
2259
2260         * tests/unicode-caseconv.c tests/gen-casefold-txt.pl
2261           tests/gen-casemap-txt.pl tests/casefold.txt 
2262           tests/casemap.txt: Test cases for case conversion.
2263
2264         * glib/gunicode.h glib/gunidecomp.[ch] glib/gunicomp.h
2265           glib/gen-unicode-tables.pl: Add function to do Unicode
2266         normalization g_utf8_normalize().
2267
2268         * tests/unicode-normalize.c: Test program for case conversion.
2269
2270         * glib/gunicode.h glib/gunicollate.c: Add collation functions
2271         g_utf8_collate, g_utf8_collate_key.
2272
2273         * test/unicode-collate.c: Test program for collation.
2274
2275         * glib/gdate.c (g_date_fill_parse_tokens): Fix uninitialized
2276         variable.
2277
2278         * glib/gdate.c (g_date_strftime) docs/Changes-2.0.txt:
2279         Make work with UTF-8 even if the locale isn't UTF-8 based.
2280         Still somewhat of broken, if the format string contains 
2281         characters not representable in the current locale, will warn
2282         and not work.
2283         
2284         * glib/gdate.c: Use UTF-8 normalization and casefolding.
2285
2286 Sat Jun 30 16:03:16 2001  Owen Taylor  <otaylor@redhat.com>
2287
2288         * glib/giowin32.c glib/giounix.c glib/gmain.[ch]:
2289         Rename GSourceFuncs::destroy to GSourceFuncs::finalize.
2290         (#56858)
2291
2292 Sat Jun 30 15:49:10 2001  Owen Taylor  <otaylor@redhat.com>
2293
2294         * glib/gmain.[ch]: (Mostly patch from Sebastian Wilhemi)
2295         Make some changes to the way that GMainContext works:
2296
2297          - a GMainContext is no longer associated with a single
2298            thread, but any thread can acquire ownership 
2299            of thread and iterate.
2300
2301          - There is a facility g_main_context_wait() for
2302            non-owner-threads to wait either for ownership
2303            or for a condition to be broadcast.
2304
2305          - For efficiency, GMainLoop just piggybacks of
2306            of the loops mutex / condition instead of
2307            having a separate mutex/condition for each
2308            GMainLoop.
2309
2310         * glib/gthread.[ch]: Remove hacks to store the thread's
2311         GMainContext in the GThread structures, since we
2312         no longer have the GMainContext <=> GThread correspondence.
2313         
2314         * glib/gmain.[ch]: Make g_main_context_wakeup() public
2315         so someone could completely duplicate GMainLoop 
2316         with the public API.
2317
2318         * tests/mainloop-test: Fix up to the new API. Decidedly
2319         doesn't work at the moment, but that may be the IO
2320         channel changes, or preexisting locking problems.
2321
2322 Sat Jun 30 13:18:28 2001  Owen Taylor  <otaylor@redhat.com>
2323
2324         * glib/gstrfuncs.c glib/gstring.h: Try compiling
2325         before committing, why don't you? Simple fixes
2326         for my stupid typos. 
2327
2328 Sat Jun 30 12:49:26 2001  Owen Taylor  <otaylor@redhat.com>
2329
2330         Patch from Darin Adler (#54166)
2331         
2332         * glib/gstrfuncs.[ch]: Add ascii-only, locale-insensitive
2333         g_ascii_to[lower/upper], g_ascii_str[down/up],
2334         g_ascii_is[upper/lower] and deprecate the locale-affected
2335         versions which break for UTF-8, etc. Make
2336         g_ascii_strup/strdown duplicating,
2337         not in-place for consistency with UTF-8 functions.
2338
2339         * glib/gstring.[ch]: Add ascii-only, locale-insensitive
2340         g_string_ascii_[down/up], and deprecate the locale-affected
2341         versions which break for UTF-8, etc.
2342
2343         * glib/gutils.c glib/gwin32.c test/testglib.c: Use
2344         the g_ascii_* functions where appropriate.
2345
2346 Fri Jun 29 13:36:39 2001  Owen Taylor  <otaylor@redhat.com>
2347
2348         * glib/gstring.[ch] (g_string_set_size): Add function to 
2349         allow setting the length of a string greater than the 
2350         current length (for buffering usage)
2351
2352         * glib/gstring.[ch]: Expose string->allocated_len, since
2353         that is useful when using GString simply as a buffer. 
2354         (Renamed from string->alloc)
2355
2356         * glib/giochannel.[ch] glib/giounix.c glib/giowin32.c:
2357         Major patch from Hidetoshi Tajima and Ron Steinke
2358         reworking GIOChannel to have:
2359
2360          - Buffering
2361          - Sane and useful error reporting
2362          - Streaming encoding conversion with iconv
2363          - Convenience functions to read by lines or 
2364            an entire file.
2365
2366         Also fix remaining 64 bit cleanliness issues.
2367
2368         * tests/iochannel-test.c tests/Makefile.am: Test case
2369         for IO channel streaming conversion. Still needs 
2370         some fixing up.
2371
2372 Thu Jun 28 16:57:44 2001  Tim Janik  <timj@gtk.org>
2373
2374         * configure.in (GLIB_MICRO_VERSION): up version number to 1.3.7,
2375         interface age 0, binary age 0.
2376
2377 2001-06-27  Kjartan Maraas  <kmaraas@gnome.org>
2378
2379         * glib/gmarkup.c: Fix a typo.
2380         
2381 2001-06-27  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2382
2383         * Makefile.am, configure.in: Removed glib-config-2.0, as we have
2384         pkg-config now.
2385
2386         * glib/Makefile.am: Added -I$(top_srcdir) for builddir != srcdir.
2387
2388         * Makefile.am: Removed gen-unicode-tables.pl from EXTRA_DIST.
2389
2390 Tue Jun 26 11:43:46 2001  Owen Taylor  <otaylor@redhat.com>
2391
2392         * configure.in Makefile.am *.[ch] glib/*.[ch] glib/Makefile.am:
2393         Move glib library into a subdirectory, make all GLib include
2394         files include as <glib/glist.h>
2395
2396         * tests/testglib.c tests/testgdate.c tests/testgdateparser.c
2397           tests/timeloop.c tests/timeloop-basic.c: Move all tests into
2398         the tests/ subdirectory.
2399
2400 Sat Jun 23 17:34:38 2001  Tim Janik  <timj@gtk.org>
2401
2402         * gmessages.c (g_logv): use G_BREAKPOINT() instead of raise(5).
2403
2404 Wed Jun 20 12:00:54 2001  Owen Taylor  <otaylor@redhat.com>
2405
2406         Changes for 64-bit cleanliness, loosely based on patch 
2407         from Mark Murnane.
2408         
2409         * gconvert.c (g_convert/g_convert_with_fallback): Remove
2410         workarounds for since-fixed GNU libc bugs. Minor
2411         doc fix.
2412
2413         * gconvert.[ch]: Change gint to gsize/gssize as
2414         appropriate.
2415
2416         * gconvert.c (g_locale/filename_to/from_utf8): Fix incorrect
2417         computation of bytes_read / bytes_written.
2418
2419         * gfileutils.[ch] (g_file_get_contents): Make length
2420         out parameter 'gsize *len'.
2421
2422         * ghook.c (g_hook_compare_ids): Don't compare a
2423         and b as 'a - b'.
2424
2425         * gmacros.h (GSIZE_TO_POINTER): Add GPOINTER_TO_SIZE,
2426         GSIZE_TO_POINTER.
2427
2428         * gmain.c (g_timeout_prepare): Rewrite to avoid
2429         overflows. (Fixes bug when system clock skews
2430         backwards more than 24 days.)
2431
2432         * gmarkup.[ch]: Make lengths passed to callbacks
2433         gsize, length for g_markup_parse-context_parse(),
2434         g_markup_escape_text() gssize.
2435
2436         * gmessages.[ch] (g_printf_string_upper_bound): Change
2437         return value to gsize.
2438
2439         * gmessages.c (printf_string_upper_bound): Remove
2440         a ridiculous use of 'inline' on a 300 line function.
2441
2442         * gstring.[ch]: Represent size of string as a gsize,
2443         not gint. Make parameters to functions take gsize,
2444         or gssize where -1 is allowed.
2445
2446         * gstring.c (g_string_erase): Make
2447         g_string_erase (string, pos, -1) a synonym for
2448         g_string_truncate for consistency with other G*
2449         APIs.
2450
2451         * gstrfuncs.[ch]: Make all functions taking a string
2452         length, take a gsize, or gssize if -1 is allowed.
2453         (g_strstr_len, g_strrstr_len). Also fix some boundary
2454         conditions in g_str[r]str[_len].
2455
2456         * gutf8.c tests/unicode-encoding.c: Make parameters that 
2457         are byte lengths gsize, gssize as appropriate. Make 
2458         character offsets, other counts, glong.
2459
2460         * gasyncqueue.c gcompletion.c
2461           timeloop.c timeloop-basic.c gutils.c gspawn.c.
2462         Small 64 bit cleanliness fixups.
2463
2464         * glist.c (g_list_sort2, g_list_sort_real): Fix functions
2465         that should have been static.
2466
2467         * gdate.c (g_date_fill_parse_tokens): Fix extra
2468         declaration that was shadowing another.
2469
2470         * tests/module-test.c: Include string.h
2471
2472 Mon Jun 18 15:43:29 2001  Owen Taylor  <otaylor@redhat.com>
2473
2474         * gutf8.c (g_get_charset): Make argument
2475         G_CONST_RETURN char **.
2476
2477 2001-06-22  Andrew Lanoix <alanoix@umich.edu>
2478         
2479         *giowin32.c: Debug and partial rewrite of async socket code
2480         on windows, which fixes major MT issues. Some test code kindly 
2481         provided by wroberts1@home.com.
2482         
2483 Thu Jun 14 14:09:46 2001  Owen Taylor  <otaylor@redhat.com>
2484
2485         * gstrfuncs.c (g_strconcat): Fix a use of strcat that
2486         wasn't replaced with g_stpcpy in the original 
2487         stpcpy-for-efficiency patch.
2488
2489 2001-06-11  Havoc Pennington  <hp@redhat.com>
2490
2491         * NEWS: updated
2492
2493         * configure.in (GLIB_MICRO_VERSION): increment version to 1.3.6
2494
2495 2001-06-08  Alex Larsson  <alexl@redhat.com>
2496
2497         * gstrfuncs.[ch]:
2498         Added new functions g_strstr_len, g_strrstr and g_strrstr_len
2499         
2500         * tests/strfunc-test.c:
2501         Add some tests for the new functions.
2502         
2503         * gunicode.h:
2504         * gutf8.c:
2505         Add length argument to g_utf8_strchr and g_utf8_strrchr.
2506         
2507 2001-06-08  Havoc Pennington  <hp@redhat.com>
2508
2509         * gspawn.c: support G_SPAWN_FILE_AND_ARGV_ZERO specifying that 
2510         the vector passed in to g_spawn_* contains a filename to 
2511         execute in argv[0] then the actual argv begins at argv + 1.
2512         Kind of a lame hack, but this isn't something you commonly want
2513         to do, and avoids adding more function arguments.
2514
2515 2001-06-08  Pablo Saratxaga <pablo@mandrakesoft.com>
2516
2517         * configure.in: Added Azeri (az) to ALL_LINGUAS
2518
2519 2001-06-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2520
2521         * docs/Makefile.am, configure.in: Remove docs/glib-config.1.in.
2522
2523         * gthread-2.0-uninstalled.pc.in (Cflags): Add @G_THREAD_CFLAGS@.
2524
2525 2001-06-07  Havoc Pennington  <hp@redhat.com>
2526
2527         * m4macros/glib-2.0.m4: subst GLIB_GENMARSHAL, GOBJECT_QUERY, 
2528         GLIB_MKENUMS variables
2529
2530         * gmodule-2.0.pc.in: add gmodule_supported variable
2531
2532         * glib-2.0.pc.in: add glib_genmarshal, gobject_query,
2533         glib_mkenums variables  
2534
2535         * configure.in: put G_MODULE_SUPPORTED value into 
2536         .pc files
2537
2538         * autogen.sh: support AUTOGEN_SUBDIR_MODE
2539
2540         * Makefile.am: add -uninstalled.pc.in to EXTRA_DIST
2541
2542 2001-06-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2543
2544         * configure.in: Look for nanosleep function. 
2545
2546         * gtimer.c: Use nanosleep for g_usleep, when found.
2547
2548         * gtimer.c, gtimer.h: Add g_time_val_add function. Closes #54271.
2549
2550         * gasyncqueue.c: Documentation updates.
2551
2552         * gthreadpool.c: Use g_time_val_add now that we have it.
2553
2554 2001-06-01  Jon Trowbridge  <trow@gnu.org>
2555
2556        * gdate.c (g_date_update_julian): Changed to take a const
2557        argument, and then to cast out const.
2558        (g_date_update_dmy): Changed to take a const argument, and then
2559        cast out const.
2560        (g_date_get_weekday): Changed argument to be const.
2561        (g_date_get_month): Changed argument to be const.
2562        (g_date_get_year): Changed argument to be const.
2563        (g_date_get_day): Changed argument to be const.
2564        (g_date_get_julian): Changed argument to be const.
2565        (g_date_get_day_of_year): Changed argument to be const.
2566        (g_date_get_monday_week_of_year): Changed argument to be const.
2567        (g_date_get_sunday_week_of_year): Changed argument to be const.
2568        (g_date_compare): Changed arguments to be const.
2569        (g_date_to_struct_tm): Changed GDate argument to be const.
2570        (g_date_strftime): Changed GDate argument to be const.
2571        (g_date_clamp): Added.  The equivalent of the CLAMP macro for
2572        GDates.
2573        (g_date_order): Added.  Ensure that the first GDate argument
2574        preceeds the second, swapping them if necessary.
2575        (g_date_days_between): Added.  Computes the (signed) number of days
2576        between two dates.
2577
2578 Mon Jun  4 16:02:57 2001  Owen Taylor  <otaylor@redhat.com>
2579
2580         * gstrfuncs.c (g_strup/strdown): to match g_strcasecmp,
2581         check if it is lower/upper before converting to upper/lower
2582         [ not required by ISO... ] (#55682, Jon Trowbridge)
2583
2584 Mon Jun  4 15:59:15 2001  Owen Taylor  <otaylor@redhat.com>
2585
2586         * gunicode.h: Make a bit more standalone by adding include
2587         of gerror.h. #54543.
2588         
2589         * gunicode.h: Change size_t to g_size. (Ugh)
2590
2591 2001-05-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2592
2593         * grand.h (g_random_boolean, g_rand_boolean): Fix to stupid bug in
2594         g_random_boolean, also both functions now return 1 or 0 instead of
2595         1<<15 or 0.
2596
2597         * tests/rand-test.c: Extended testcases.
2598
2599         * configure.in: Remove G_HAVE_ISO_CXX_VARARGS and
2600         G_HAVE_ISO_C_VARARGS and define G_HAVE_ISO_VARARGS directly
2601         guarded by #if(n)def __cplusplus.
2602
2603 2001-05-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2604
2605         * gthread-2.0.pc.in: Add @G_THREAD_CFLAGS@ to Cflags.
2606
2607 Tue May 29 18:17:11 2001  Owen Taylor  <otaylor@redhat.com>
2608
2609         * autogen.sh (have_libtool): Fix GNU sedism
2610
2611 2001-05-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2612
2613         * tests/Makefile.am, tests/qsort-test.c: Add test case for the
2614         g_qsort_with_data func. It works. This fixes bug #52605.
2615
2616         * tests/Makefile.am, tests/cxx-test.C: Now that we check for a C++
2617         compiler in configure.in anyway, I added a test, that the GLib
2618         headers can be inclued into a C++ program. This fixes bug #52605.
2619
2620         * configure.in: Don't bail out, if no C++ compiler is
2621         found. Define G_HAVE_ISO_VARARGS only if appropriate.
2622
2623         * gmessages.h: Thus we can revert the previous patch.
2624
2625 2001-05-29  James Henstridge  <james@daa.com.au>
2626
2627         * gmessages.h: "#ifdef G_HAVE_ISO_VARARGS" will always succeed
2628         even when we don't have ISO vararg support.  Changed to
2629         "#if G_HAVE_ISO_VARARGS".
2630
2631 Mon May 28 11:40:34 2001  Owen Taylor  <otaylor@redhat.com>
2632
2633         * configure.in: Check for __VARARGS__ separately for C and C++.
2634
2635 2001-05-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2636
2637         * configure.in: Fix typo.
2638
2639 Sun May 27 05:09:18 2001  Tim Janik  <timj@gtk.org>
2640
2641         * gmain.c (g_main_context_prepare): unlock context when bailing
2642         out with a warning.
2643         (g_main_context_check): same here.
2644
2645         * gmain.c (g_main_context_check): before returning due to
2646         changed pollfds, unlock context.
2647         
2648 Thu May 24 21:24:16 CEST 2001 Paolo Molaro <lupus@ximian.com>
2649
2650         * gmarkup.c: back out change by mitch@convergence.de and apply patch in
2651         bug id #52067 that fixes the same problem in a more complete manner.
2652         This fixes also a segfault for a malformed XML file and adds a new
2653         test case.
2654
2655 2001-05-24  Hans Breuer  <hans@breuer.org>
2656
2657         * grel.c : reflect renaming of g_string_sprintfa to g_string_printfa
2658
2659         * makefile.msc.in : create an additional static lib to be used from
2660         (at least) glib-genmarshal
2661
2662 2001-05-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2663
2664         * garray.c (g_array_remove_index_fast): Tiny speed improvement
2665         suggested by noon@users.sourceforge.net.
2666
2667 2001-05-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2668
2669         * config.h.win32.in: Removed POSIX_*. Defined G_THREAD_SOURCE to
2670         "gthread-win32.c".
2671
2672         * glibconfig.h.win32.in: Define G_HAVE_ISO_VARARGS for gcc, don't
2673         know about MSC. Define G_THREADS_IMPL_WIN32 instead of
2674         G_THREADS_IMPL_POSIX and define the right static mutex macros and
2675         types.
2676
2677         * glib.def: g_thread_create renamed to g_thread_create_full.
2678
2679         * gthread.c: memcpy is not necessary here. We can simply use
2680         struct assignment.
2681
2682         * gmessages.c: Fix compilation error on win32. Added
2683         GFileDescriptor, wich is gint on Unix and FILE* on win32.
2684
2685 2001-05-21  Andrew Lanoix <alanoix@umich.edu>
2686
2687         *giowin32.c: G_IO_WIN32_WINDOWS_MESSAGES channels
2688         not handled correctly in g_io_win32_check()
2689
2690 Sun May 20 10:47:47 2001  Owen Taylor  <otaylor@redhat.com>
2691
2692         * configure.in: Fix some problems in writing out varargs
2693         tests in configure.in
2694
2695 Fri May 18 10:52:23 2001  Owen Taylor  <otaylor@redhat.com>
2696
2697         * configure.in gmessages.h: Use compile checks for ISO C99 and GNU
2698         extension varargs macros syntax and store result in glibconfig.h
2699         (G_HAVE_ISO_VARARGS, G_HAVE_GNUC_VARARGS) rather than relying
2700         on checking predefined macros.
2701
2702 2001-05-18  Michael Natterer  <mitch@convergence.de>
2703
2704         * gmarkup.c: don't g_strdup()/g_free() all parsed attributes and
2705         their values twice but simply copy the string pointers from the
2706         GMarkupAttribute struct to the string arrays before passing them
2707         to start_element().
2708
2709 2001-05-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2710
2711         * gthread.c, gthread.h: Renamed g_thread_create to
2712         g_thread_create_full and added macro g_thread_create, which omits
2713         'stack_size', 'bound' and 'priority' parameters. Also removed
2714         'bound' from GThread struct.
2715
2716         * gthreadpool.h, gthreadpool.c: Adapted GThreadPool to the above
2717         changes. GThreadPool lost the 'priority' and 'bound'
2718         members. g_thread_pool_new the 'stack_size', 'bound' and
2719         'priority' parameters.
2720
2721         * tests/mainloop-test.c, tests/thread-test.c,
2722         tests/threadpool-test.c: Adapted to the above changes.
2723
2724         * gmem.c (g_mem_profile): Fixed mutex deadlock.
2725
2726 2001-05-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2727
2728         * makefile.mingw.in: Add gpattern.o to objects.
2729
2730         * glib.def: Export g_thread_exit as well.
2731
2732         * Makefile.am: Fix BUILT_EXTRA_DIST exporting.
2733
2734 Sun May 13 10:31:17 2001  Owen Taylor  <otaylor@redhat.com>
2735
2736         * glib/Makefile.am gobject/Makefile.am gmodule/Makefile.am:
2737         Add inter-library dependencies.
2738
2739         * acinclude.m4: Remove libtool macros.
2740
2741         * autogen.sh: Require libtool-1.4, automake-1.4p1.
2742
2743 2001-05-15  Havoc Pennington  <hp@redhat.com>
2744
2745         * configure.in (AC_OUTPUT): m4macros/Makefile
2746
2747         * m4macros/Makefile.am, m4macros/glib-2.0.m4,
2748         m4macros/glib-gettext.m4:
2749         m4 files moved here on server, Makefile.am added
2750          
2751         This is so you can aclocal -I m4macros while avoiding acinclude.m4
2752
2753         * Makefile.am: add m4macros subdir, remove references to glib-2.0.m4
2754
2755 2001-05-14  Havoc Pennington  <hp@redhat.com>
2756
2757         * gutf8.c (g_utf8_get_char): fix docs; they said we validated 
2758         the UTF-8, but we can't possibly detect partial chars since
2759         there's no length arg here, so trying to use this function 
2760         on invalid UTF-8 is a bad idea.
2761
2762 Thu May 10 23:21:30 2001  Owen Taylor  <otaylor@redhat.com>
2763
2764         * gmessages.c (g_log_write_prefix): Avoid using stdio
2765         to be as robust as possible in out-of-memory.
2766
2767         * gmessages.c (g_log_default_handler): Remove some dead
2768         code.
2769
2770         * gutils.c (g_parse_debug_string): Fix to avoid mallocs.
2771
2772 Fri May 11 18:25:23 2001  Tim Janik  <timj@gtk.org>
2773
2774         * gdataset.c:
2775         (g_dataset_foreach):
2776         (g_datalist_foreach): make these safe against removal of the
2777         current element.
2778
2779 2001-05-10  Havoc Pennington  <hp@pobox.com>
2780
2781         * gmessages.c (g_log_write_prefix): change env variable to
2782         G_MESSAGES_PREFIXED, suggested by Tim
2783
2784 Thu May 10 15:19:01 2001  Tim Janik  <timj@gtk.org>
2785
2786         * gscanner.c (g_scanner_key_hash): use g_str_hash() algorithm
2787         to generate hashes.
2788
2789         * gmem.c (standard_calloc): free() doesn't return a value
2790         (Mark Murnane).
2791
2792 2001-04-26  Havoc Pennington  <hp@redhat.com>
2793
2794         * configure.in: Get rid of --enable-msg-prefix
2795
2796         * gmessages.c: make whether to prefix the messages with
2797         appname/pid a runtime setting, not a compile-time setting.  Change
2798         default to include prefix for debug/warning/error type messages.
2799
2800 2001-05-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2801
2802         * gthread.c, gthread.h: Renamed 'value' and 'arg' to 'data' and
2803         'thread_func' to 'func' to make it more consistent with the rest
2804         of GLib.
2805
2806         * gthreadpool.c, gthreadpool.h: Moved 'stack_size' from the public
2807         members of GThreadPool to the private ones. Renamed 'thread_func'
2808         to 'func' as above. Moved up 'user_data' in g_thead_pool_new
2809         argument list and in GThreadPool struct.
2810         
2811 Tue May  8 15:33:31 2001  Tim Janik  <timj@gtk.org>
2812
2813         * gcompletion.h: removed #include <unistd.h> sneaked in by
2814         sopwith in november.
2815
2816 2001-05-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2817
2818         * gmain.c, gthread.c, gthread.h: Moved func and arg members from
2819         GRealThread to GThread, such that they can be accessed by the
2820         user.
2821
2822         * gthread.c, gthread.h: Due to popular demand (Tim being the
2823         populus here ;-) threads now have a 'return value', which is
2824         returned by g_thread_join and is either the return of the topmost
2825         thread function or the value given to g_thread_exit.
2826         
2827         * gthreadpool.c, tests/mainloop-test.c, tests/thread-test.c:
2828         Adapted to the above change.
2829
2830 2001-01-06  Hans Breuer  <hans@breuer.org>
2831
2832         * glib.def : don't try to export g_strcpy, it is g_stpcpy;
2833         updated and added some tweaking for functions which got 
2834         renamed recently, to avoid the update hassle if it can 
2835         simply be done compatible. Should vanish if there is a 
2836         stable version for win32.
2837
2838 Fri May  4 11:49:18 2001  Owen Taylor  <otaylor@redhat.com>
2839
2840         * Released 1.3.5
2841
2842         * NEWS: Updated
2843
2844         * configure.in (GLIB_MICRO_VERSION): Up version to 1.3.5,
2845         interface/binary age 0.
2846
2847 2001-05-04  Sven Neumann  <sven@convergence.de>
2848
2849         * ghash.c: fixed a typo in a comment.
2850
2851         * gtree.[ch]: added new functions g_tree_new_full(), g_tree_replace(), 
2852         g_tree_steal() and g_tree_foreach() to adapt GTree to the GHashTable
2853         API. Moved comments into the C file.
2854
2855         * docs/reference/glib/glib-sections.txt
2856         * docs/reference/glib/tmpl/glib-unused.sgml
2857         * docs/reference/glib/tmpl/hash_tables.sgml
2858         * docs/reference/glib/tmpl/linked_lists_double.sgml
2859         * docs/reference/glib/tmpl/linked_lists_single.sgml
2860         * docs/reference/glib/tmpl/macros_misc.sgml
2861         * docs/reference/glib/tmpl/trees-binary.sgml: updated documentation
2862         
2863 Thu May  3 06:38:28 2001  Owen Taylor  <otaylor@redhat.com>
2864
2865         * g[s]list.c (g_[s]list_foreach) docs/Changes-2.0.txt: Make
2866         foreach() safe against removal of the _current_ element. While
2867         this could break some code, the new behavior is consistent with
2868         the rest of GLib/GTK+ and probably is what people expect in most
2869         cases. (Suggested by Paul Kuykendall, #50071)
2870
2871 Wed May  2 11:10:22 2001  Owen Taylor  <otaylor@redhat.com>
2872
2873         * gutf8.c (g_utf8_to_ucs4_fast): Fix read past end of the string.
2874         (#50404, fix from Jonas Borgström)
2875         
2876 Sun Apr 29 00:37:34 2001  Tim Janik  <timj@gtk.org>
2877
2878         * ghook.[hc]: made hook ids a gulong.
2879
2880 2001-04-20  Dan Winship  <danw@ximian.com>
2881
2882         * configure.in: Add a check for the Darwin dynamic linker. Use
2883         AC_TRY_LINK when checking for "nonposix getpwuid_r" so it notices
2884         "no getpwuid_r" correctly.
2885
2886         * testglib.c (main): Make template[] bigger to prevent an overrun.
2887         Remove an unused variable. Initialize error to NULL.
2888
2889         * tests/gio-test.c (main): Add a cast to prevent a warning when
2890         size_t is a long.
2891
2892         * tests/type-test.c (main): Add an #ifdef to prevent a warning
2893         when G_HAVE_GINT64 is defined and G_GINT64_FORMAT isn't.
2894
2895 2001-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2896
2897         * ghash.c, ghash.h: Remove definition of g_hash_table_freeze and
2898         g_hash_table_thaw. Instead added G_DISABLE_DEPRECATED-guarded
2899         macros to ghash.h to go along the lines of the standard.
2900
2901         * gscanner.c, gscanner.h: Dito for g_scanner_freeze_symbol_table
2902         and g_scanner_thaw_symbol_table.
2903
2904         * gutils.c, gutils.h: Dito for g_dirname. g_basename is still
2905         defined in gutils.c, but declared ing gutils.h only
2906         G_DISABLE_DEPRECATED-guarded.
2907         
2908         * configure.in: Removed bashism in test for the pkg-config
2909         version.
2910
2911         * configure.in: Rewrote test for multithread flag. Now uses
2912         localtime_r, which hopefully has a consistent prototype across
2913         different platforms. Also it uses a clever double EGREP trick
2914         instead of compiling, which could give false positives. Thanks to
2915         Dan Winship <danw@ximian.com> for the hint.
2916
2917 Wed Apr 18 17:35:38 2001  Owen Taylor  <otaylor@redhat.com>
2918
2919         * gutils.c (_glib_gettext): Add missing static pointed
2920         out by Michael Meeks.
2921
2922 Wed Apr 18 09:37:07 2001  Owen Taylor  <otaylor@redhat.com>
2923
2924         * MAINTAINERS: Removed. Keeping README, README.cvs-commits
2925         HACKING, and AUTHORS up to date is plenty without extra
2926         random files that someone thought a module should have.
2927         (Actually, I believe this was used for debbugs in the past.)
2928
2929 Tue Apr 17 11:47:07 2001  Owen Taylor  <otaylor@redhat.com>
2930
2931         * Released 1.3.4
2932
2933         * NEWS: Updated
2934
2935 Tue Apr 17 10:43:36 2001  Owen Taylor  <otaylor@redhat.com>
2936
2937         * gstrfuncs.c: Define _GNU_SOURCE for stpcpy
2938
2939         * tests/mainloop-test.c (main): Wait for all threads
2940         to start before beginning tests.
2941
2942 2001-04-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2943
2944         * gthreadpool.c (g_thread_pool_thread_proxy): Until now every
2945         thread pool always had at least one tread waiting to avoid
2946         switching overhead in case a new task would be added soon after
2947         one finished. This however means a big waste of threads, if many
2948         mostly inactive thread pools are involved. Now such a waiting
2949         thread will only wait for half a second (This value is of course
2950         very randomly picked) and go to the global threadpool afterwards.
2951
2952 Mon Apr 16 12:04:52 2001  Owen Taylor  <otaylor@redhat.com>
2953
2954         * configure.in: Remove warnings about conflicts with the
2955         stable version.
2956
2957         * glib-2.0.m4: Fix some of the error text to be halfway
2958         up to date.
2959
2960         * README.in INSTALL.in: Add these to generate README, INSTAL
2961         (as in the stable branch). Update.
2962
2963         * HACKING: Update.
2964
2965 2001-04-16  Havoc Pennington  <hp@redhat.com>
2966
2967         * gqsort.c: docs
2968
2969         * gfileutils.c: docs
2970
2971         * gwin32.c: docs fixes
2972
2973         * gconvert.c: docs
2974
2975         * guniprop.c: docs
2976
2977         * gutf8.c: docs
2978
2979 2001-04-16  Havoc Pennington  <hp@redhat.com>
2980
2981         * glib-2.0.m4: put AC_PATH_PROG(pkg-config) before "Checking for
2982         glib" so the output looks right 
2983
2984 2001-03-23  Havoc Pennington  <hp@redhat.com>
2985
2986         * gutils.c (g_parse_debug_string): make GDebugKeys argument 
2987         const
2988
2989 2001-04-14  Hans Breuer  <hans@breuer.org>
2990
2991         * glib.def : 
2992         * makefile.msc.in : updated
2993
2994         * gpattern.c : include "gutils.h" to resolve the inline hassle
2995
2996 2001-04-11  Alexander Larsson  <alexl@redhat.com>
2997
2998         * glib-2.0.m4: Pass pkg-config options
2999         before the other args so it works even if
3000         POSIXLY_CORRECT is set.
3001
3002 Mon Apr  9 18:57:44 2001  Tim Janik  <timj@gtk.org>
3003
3004         * configure.in: increment version to 1.3.4 (binary 0, interface 0).
3005
3006 2001-04-05  Christian Rose  <menthos@menthos.com>
3007
3008         * configure.in: Added sv to ALL_LINGUAS.
3009
3010 Wed Apr  4 09:18:55 2001  Tim Janik  <timj@gtk.org>
3011
3012         * Released GLib-1.3.3.
3013
3014 Tue Apr  3 20:22:59 2001  Tim Janik  <timj@gtk.org>
3015
3016         * NEWS: updates.
3017
3018         * NEWS.pre-1-3: take over old news.
3019
3020 Tue Apr  3 12:38:16 2001  Owen Taylor  <otaylor@redhat.com>
3021
3022         * glib-config-2.0.in: Exit with an error message that you
3023         should use pkg-config instead.
3024
3025         * configure.in (PACKAGE): Require pkg-config.
3026
3027         * tests/Makefile.am (EXTRA_DIST): Add utf8.txt.
3028
3029         * configure.in (GLIB_MICRO_VERSION): Up MICRO to 3,
3030         leave interface/binary at 0.
3031
3032 Tue Apr  3 13:46:22 2001  Tim Janik  <timj@gtk.org>
3033
3034         * glist.[hc]: added g_list_nth_prev() which walks ->prev instead
3035         of ->next.
3036
3037         * gpattern.[hc]: added shell-style pattern matching code from beast,
3038         derived from the gtk_pattern_*() code, but with a couple of bug fixes
3039         and a number of optimizations.
3040
3041 2001-04-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3042
3043         * gthreadpool.c: Added documentation.
3044
3045         * gthreadpool.c: The global thread pool now also is seperated for
3046         bound and unbound threads. Only threads with standard stack size
3047         go to the global pool. g_thread_pool_new now protects the global
3048         setup of inform_mutex etc. with a lock. Fixed some typos. Unlock
3049         the queue after g_thread_pool_wakeup_and_stop_all in the proxy.
3050
3051 2001-04-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3052
3053         * gmain.c: Use the new GRealThread member "context" instead of a
3054         GStaticPrivate to store the thread specific main loop context.
3055
3056         * gthread.c: Added "context" member to GRealThread and updated
3057         g_thread_create, g_thread_self and g_thread_cleanup accordingly.
3058         
3059         * gthread.c, gthread.h: Removed the functions
3060         g_static_private_(get|set)_for_thread and adapted
3061         g_static_private_(get|set) and g_static_private_free
3062         accordingly. This fixes Bug #51435.
3063         
3064 2001-03-30  Sven Neumann  <sven@gimp.org>
3065
3066         * ghash.[ch]
3067         * docs/reference/glib/tmpl/hash_tables.sgml: added new functions
3068         g_hash_table_new_full, g_hash_table_replace, g_hash_table_steal and
3069         g_hash_table_foreach_steal. Moved most docs out of the template
3070         file into the C file. Please proofread the new documentation.
3071
3072 2001-03-29  Tor Lillqvist  <tml@iki.fi>
3073
3074         * glib.def: Updates.
3075         * tests/makefile.mingw.in
3076         * tests/makefile.msc.in: Add module-test rules.
3077
3078 Mon Mar 26 14:14:53 2001  Owen Taylor  <otaylor@redhat.com>
3079
3080         * Makefile.am (INCLUDES): -DG_DISABLE_DEPRECATED
3081
3082         * gmain.h timeloop.c: Surround the cruftiest stuff with
3083         #ifndef G_DISABLE_DEPRECATED.
3084
3085         * gcompat.h gdate.h: Move compat defines back to 
3086         gdate.h, surround with #ifndef G_DISABLE_DEPRECATED. 
3087         Remove gcompat.h.
3088
3089 Mon Mar 26 13:34:50 2001  Owen Taylor  <otaylor@redhat.com>
3090
3091         [ Patch from DindinX  <David.Odin@bigfoot.com>, added docs ]
3092  
3093         * gstrfuncs.c, gstrfuncs.h: Add g_stpcpy () for platform that
3094         don't have stpcpy ().
3095         * gstrfuncs.c (g_strjoin, g_strjoinv, g_strconcat): 
3096         use g_stpcpy () so these functions run much faster.
3097         * config.h.win32.in, glib.def: add reference to g_stpcpy ()
3098         * configure.in: Add a test for the stpcpy () function.
3099  
3100 2001-03-20  Havoc Pennington  <hp@redhat.com>
3101
3102         * gutf8.c (g_utf8_strlen): rewrite, based on bug #52328 from
3103         Anders
3104
3105 2001-03-19  Havoc Pennington  <hp@redhat.com>
3106
3107         * gutf8.c (g_unichar_validate): added this function
3108
3109 2001-03-18  Tor Lillqvist  <tml@iki.fi>
3110
3111         * gspawn-win32.c (SETUP_DEBUG): Add braces to silence gcc -Wall.
3112
3113         * gspawn-win32-helper.c (write_no_error): Remove unused function.
3114
3115         * tests/makefile.mingw.in (module-test.exe): Add rules for
3116         building module-test.
3117
3118 Wed Mar 14 18:46:54 2001  Tim Janik  <timj@gtk.org>
3119
3120         * gscanner.[hc]: removed archaic gpointer derived_data; relict and
3121         added a GData member instead.
3122         
3123         * glist.[hc]: added g_list_remove_all().
3124
3125         * gslist.[hc]: added g_slist_remove_all().
3126
3127 Sat Mar 17 19:54:51 2001  Owen Taylor  <otaylor@redhat.com>
3128
3129         * timeloop.c: Reorder headers to make FreeBSD happy. 
3130
3131 2001-03-13  Tor Lillqvist  <tml@iki.fi>
3132
3133         From Edward M. Lee  <tailbert@yahoo.com>:
3134
3135         * gdate.c (g_date_set_parse): add support for dates that in the
3136         form "Wed Mar 14 2001". Running testgdate on cygwin requires this.
3137
3138 Fri Mar  9 18:01:43 2001  Tim Janik  <timj@gtk.org>
3139
3140         * gscanner.[hc]: made config arg to g_scanner_new() const.
3141
3142 2001-03-12  Tor Lillqvist  <tml@iki.fi>
3143
3144         * tests/Makefile.am (libmoduletestplugin_b_la_LIBADD,
3145         libmoduletestplugin_b_la_LIBADD): Link with the libgmodule la only
3146         on Win32.
3147
3148 2001-03-10  Tor Lillqvist  <tml@iki.fi>
3149
3150         * glibconfig.h.win32.in: Define G_PLATFORM_WIN32 here, too.
3151
3152         * tests/Makefile.am: Use the _LIBADD dependency on libglib only on
3153         Win32.
3154
3155 2001-03-09  Tor Lillqvist  <tml@iki.fi>
3156
3157         * README.win32: Update with some information about using configure
3158         and libtool.
3159
3160 2001-03-09  Hans Breuer  <hans@breuer.org>
3161
3162         * gobject/gobject.def : updated
3163
3164 2001-03-08  Tor Lillqvist  <tml@iki.fi>
3165
3166         * glib.def
3167         * gobject/gobject.def
3168         * gobject/makefile.mingw.in: Update.
3169
3170 2001-03-08  Sven Neumann  <sven@gimp.org>
3171
3172         * gtree.[ch]: 
3173         * docs/reference/glib/tmpl/trees-binary.sgml: added new function 
3174         g_tree_lookup_extended().
3175
3176 Thu Mar  8 16:23:34 2001  Tim Janik  <timj@gtk.org>
3177
3178         * ghook.[hc]: destruction cleanup. there's one
3179         ->finalize_hook member in the hooklist now that gets
3180         called when a hook should be destroyed, that's it.
3181         that function is guarranteed to be called only when
3182         all ref_counts to the hook vanished, thus also when
3183         the hook is not in call.
3184
3185 2001-03-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3186
3187         * configure.in (FLAG_DOES_NOT_WORK): Fix typo and thus bug #51862.
3188
3189 Wed Mar  7 09:32:06 2001  Tim Janik  <timj@gtk.org>
3190
3191         * glib-object.h: add gvaluearray.h.
3192
3193         * gstring.[hc]: fixup naming of g_string_sprint*.
3194         
3195         * gtypes.h: fixed GCompareDataFunc naming.
3196
3197 2001-03-07  Christian Meyer  <chrisime@gnome.org>
3198
3199         * configure.in: Added de (German) to ALL_LINGUAS.
3200
3201 2001-03-02  Christophe Merlet  <redfox@eikonex.org>
3202
3203         * configure.in: Added fr (French) to ALL_LINGUAS.
3204
3205 2001-03-01  Tor Lillqvist  <tml@iki.fi>
3206
3207         * gutils.c (g_path_is_absolute): (Win32) Remove test for initial
3208         double backslash (UNC path), this will of course be matched by the
3209         test for an initial G_DIR_SEPARATOR right up front. Silly me.
3210         (g_find_program_in_path): Implement on Win32. Append the
3211         executable file name suffixes from PATHEXT in turn while looking
3212         for the program.
3213         (g_find_program_in_path): If the program we are looking for is a
3214         relative path in a subdirectory, don't do any path search.
3215         (g_get_any_init): (Win32) Also look for the USERPROFILE env var
3216         indicating the home directory equivalent.
3217         (g_find_program_in_path): (Win32): Use MAXPATHLEN, not PATH_MAX
3218         which isn't defined with MSVC.
3219
3220         * testglib.c (main): Test g_find_program_in_path() on Win32 by
3221         looking for more.com and regedit.
3222
3223         * glib.def: Add g_find_program_in_path.
3224
3225 2001-02-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3226
3227         * gthreadpool.c (g_thread_pool_thread_proxy): Make
3228         max_unused_threads work for -1 as well.
3229
3230 2001-02-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3231
3232         * gthread.h (struct _GThread): Change the order to match the order
3233         in g_thread_create().
3234
3235         * gthread.c (g_static_rec_mutex_lock_full): Also do the right
3236         thing (behave like 'depth' calls to g_static_rec_mutex_lock) for a
3237         mutex, that is already locked.
3238
3239 Thu Feb 22 10:31:36 2001  Owen Taylor  <otaylor@redhat.com>
3240
3241         * gmain.c (g_source_remove_poll): Add missing implementation
3242         of g_source_remove_poll. (Pointed out by Stefan Westerfeld)
3243
3244 2001-02-21  Tor Lillqvist  <tml@iki.fi>
3245
3246         * gutils.c (g_find_program_in_path): Implement on Win32.
3247
3248         Cygwin support contributed by Stefan Ondrejicka
3249         <ondrej@idata.sk>. Hopefully I got it all in while simultaneously
3250         adding support for auto*/libtool for mingw.
3251
3252         * Makefile.am: Changes for auto* support on Cygwin and Win32. Do
3253         still distribute the hand-written makefiles and *.win32.in files,
3254         though. Use GIO, GSPAWN and PLATFORMDEP macros set by configure.
3255         Use -no-undefined. Pass -export-symbols glib.def to libtool.
3256         
3257         * configure.in: Define G_PLATFORM_WIN32 on both pure Win32 (mingw)
3258         and Cygwin. Add AC_CYGWIN, AC_EXEEXT and AC_LIBTOOL_WIN32_DLL
3259         calls for Cygwin and mingw support.  Check for %I64u guint64
3260         format (in MS C library). Set G_MODULE_IMPL on mingw and
3261         Cygwin. Use ac_object and ac_exeext.  Set GIO, GSPAWN, PLATFORMDEP
3262         and G_LIBS_EXTRA. Compile timeloop only on Unix. Define OS_WIN32
3263         automake conditional on Win32.
3264         
3265         * glib.h: Include gwin32.h also on Cygwin.
3266
3267         * gfileutils.c (get_contents_posix): Use O_BINARY (defined as 0 on
3268         Unix) for Cygwin's sake.
3269
3270         * gtimer.c (GETTIME): Reduce #ifdefs, use a macro GETTIME().
3271
3272         * gconvert.c
3273         * gthread.c
3274         * gutf8.c
3275         * gutils.c: For code needed both on Cygwin and native Win32,
3276         test for G_PLATFORM_WIN32.
3277
3278         * gmarkup.h: Use G_BEGIN_DECLS and G_END_DECLS.
3279         
3280         * gtypes.h: Refine GLIB_VAR definition. Also check for DLL_EXPORT
3281         in case compiling a static library on Win32 or Cygwin.
3282
3283         * gwin32.c: No <direct.h> on Cygwin. No need for ftruncate() or
3284         dirent emulation on Cygwin.
3285         (get_package_directory_from_module) Convert return value from
3286         GetModuleFileName() to POSIX path on Cygwin.
3287
3288         * tests/Makefile.am (progs_LDADD): Link with libglib, libgthread
3289         and libgmodule as appropriate. Use -no-undefined.
3290
3291         * gbacktrace.c: Move #ifdefs around a bit on Win32.
3292
3293 2001-02-21  Tor Lillqvist  <tml@iki.fi>
3294
3295         * gshell.c (unquote_string_inplace): Make static.
3296
3297         * gthread.h: Include gtypes.h to be sure to get GLIB_VAR
3298         definition, remove definition from here.
3299
3300         * gunicode.h: Remove duplicate GLIB_VAR definition from here, too.
3301
3302         * gutils.c: (Win32) Use USERPROFILE as home dir if present. On
3303         Win2k, HOMEDRIVE and HOMEPATH aren't reliable.
3304         
3305         * Makefile.am (INCLUDES): Add -DGLIB_COMPILATION.
3306
3307         * makefile.mingw.in: Remove install target, Windows isn't Unix.
3308         (DEFINES): Add -DDLL_EXPORT.
3309
3310         * testgdate.c
3311         * testgdateparser.c
3312         * testglib.c: Undefine GLIB_COMPILATION.
3313
3314         * testglib.c: Make some vars static. Add Cygwin path tests.
3315
3316         * glib.def: Updates.
3317
3318         * .cvsignore
3319         * */.cvsignore: Ignore also .obj, .dll, .lib and .exe files.
3320
3321 2001-02-19  Hans Breuer <hans@breuer.org>
3322
3323         * glib/glib.def, gobject/gobject.def : added nissing symbols
3324
3325         * gobject/makefile.msc : updated
3326
3327         * glib/gmessages.c : call the "debug interrupt" before exiting the
3328         program, if build with msvc as debug version. Which gives the opportunity
3329         to see the callstack, etc.
3330
3331         * glib/gthread.c : thread->pid is only defined #ifdef
3332         G_THREAD_USE_PID_SURROGATE
3333
3334 Mon Feb 19 07:32:38 2001  Tim Janik  <timj@gtk.org>
3335
3336         * glib-config-2.0.in (lib_glib): my name is glib-config-2.0!
3337         don't exit with errorcode!=0 for --help or -h.
3338         
3339         * Makefile.am:
3340         * configure.in: build glib-config-2.0.
3341
3342 2001-02-17  Havoc Pennington  <hp@pobox.com>
3343
3344         * gthread.c: include string.h
3345
3346         Applied patch from Soeren Sandmann:
3347         
3348         * testglib.c: const fixes
3349
3350         * gwin32.h: format cleanups
3351
3352         * gutils.c (g_atexit): constify a variable
3353         (g_find_program_in_path): constification
3354         (g_basename): G_CONST_RETURN
3355         (g_path_skip_root): G_CONST_RETURN
3356         (g_getenv): G_CONST_RETURN
3357         (g_get_user_name): G_CONST_RETURN
3358         (g_get_real_name): G_CONST_RETURN
3359         (g_get_home_dir): G_CONST_RETURN
3360         (g_get_tmp_dir): G_CONST_RETURN
3361         (g_get_prgname): G_CONST_RETURN
3362         (_glib_gettext): G_CONST_RETURN
3363
3364         * gunicode.h: formatting cleanups
3365
3366         * gstrfuncs.c (g_strerror): G_CONST_RETURN
3367         (g_strsignal): G_CONST_RETURN
3368
3369         * gspawn.c (g_execute): const on variables
3370
3371         * gmessages.c (printf_string_upper_bound): fix const on a variable
3372
3373         * gmem.c (g_mem_chunk_new): make the "name" arg const
3374         (struct _GRealMemChunk): make the "name" field const
3375
3376         * gfileutils.c (g_file_open_tmp): store const return in a const
3377         gchar* variable
3378
3379         * gdataset.c (g_quark_to_string): G_CONST_RETURN
3380
3381 Sat Feb 17 07:26:33 2001  Tim Janik  <timj@gtk.org>
3382
3383         * configure.in (G_MODULE_HAVE_DLERROR): add check for broken RTLD_GLOBAL
3384         (on OSF1 V5.0).
3385
3386 2001-02-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3387
3388         * acconfig.h, configure.in: Reverted the changes necessary to
3389         enlarge the system thread for G_THREAD_USE_PID_SURROGATE.
3390
3391         * gthread.c: Now implement G_THREAD_USE_PID_SURROGATE in gthread.c
3392         instead of gthread/gthread-posix.c. While the latter has the
3393         advantage, that it is conceptually cleaner, it makes
3394         g_thread_self_posix_impl _very_ slow and that hurts
3395         GStaticRecMutex and other things. So the new version is less
3396         clean, but faster.
3397
3398 2001-02-09  Havoc Pennington  <hp@redhat.com>
3399
3400         * gconvert.c (g_convert): don't overwrite errors
3401
3402         * gerror.c (g_set_error): improve warning message if an error is
3403         overwritten     
3404         (g_propagate_error): ditto
3405
3406 2001-02-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3407
3408         * gthread.c, gthread.h: Added functions g_static_rec_mutex_init,
3409         g_static_rec_mutex_free, g_static_private_init,
3410         g_static_private_free, g_static_rw_lock_init to allow the usage of
3411         all those types dynamically. (g_static_rw_lock_free already
3412         existed). Aditionally freed static_private indeces are reused
3413         now. Untill now the array would just grow if you would use more
3414         and more static_private. That required adding a slist of all
3415         running threads, which could potentially be of good use later. It
3416         is not exported however. Renamed a LOCK and small indentation
3417         fixes.
3418
3419         * tests/thread-test.c: Test the new static_private index freing
3420         and reusing feature.
3421         
3422 Mon Feb 12 15:01:09 2001  Owen Taylor  <otaylor@redhat.com>
3423
3424         * configure.in (gtk_doc_min_version): Add check for gtk-doc version.
3425
3426 2001-02-10  Tor Lillqvist  <tml@iki.fi>
3427
3428         * gtypes.h
3429         * gutils.h: Move GLIB_VAR definition from gutils.h to gtypes.h
3430
3431         * glib.def
3432         * gmem.h: Mark glib_mem_profiler_table for export.
3433
3434         * gwin32.c (get_package_directory_from_module): Don't store
3435         address of local variable in hashtable.
3436
3437 2001-02-08  Fatih Demir <kabalak@kabalak.net>
3438
3439         * configure.in: Added "tr" to ALL_LINGUAS.
3440
3441 2001-02-04  Tor Lillqvist  <tml@iki.fi>
3442
3443         * gwin32.c (g_win32_getlocale): Use "nn" for Nynorsk, as nn.po
3444         files are appearing now. If the sublanguage starts with '@', don't
3445         use a '_' separator. South Africa is 'ZA', not 'SA'.
3446
3447 Sun Feb  4 07:38:32 2001  Tim Janik  <timj@gtk.org>
3448
3449         * docs/debugging.txt: s/glib_trap_/g_trap_/. add comments on
3450         g_trap_instance_signals, g_trace_instance_signals and
3451         GRUNTIME_DEBUG.
3452
3453         * gmem.c: s/glib_trap_/g_trap_/.
3454         
3455 2001-02-04  Tor Lillqvist  <tml@iki.fi>
3456
3457         * tests/Makefile.am (thread_LDADD): Change order of libs,
3458         put progs_LDADD last. Needed for cygwin, says jbdoll@kepri.re.kr.
3459
3460 2001-02-02  Tor Lillqvist  <tml@iki.fi>
3461
3462         * giochannel.h
3463         * giowin32.c
3464         * gmain.c: Stylistic cleanups. Use G_STRLOC in g_warning() calls.
3465
3466         * glib.def: Add missing functions.
3467
3468 2001-02-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3469
3470         * gthread.c, gthread.h: Added g_static_mutex_init to allow
3471         initialization of a GStaticMutex, that can not be initialized with
3472         G_STATIC_MUTEX_INIT, for example in allocated structures.
3473
3474 Wed Jan 31 13:46:58 2001  Owen Taylor  <otaylor@redhat.com>
3475
3476         * acinclude.m4 glib-gettext.m4: Fix problem with --disable-nls.
3477
3478 2001-01-31  Tor Lillqvist  <tml@iki.fi>
3479
3480         * glibconfig.h.win32.in: Corresponding change as below to
3481         GStaticMutex.
3482
3483 2001-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3484
3485         * gthread.c, gthread.h: Added g_static_mutex_free to allow using
3486         GStaticMutexes with limited lifetime without leaking.
3487         
3488         * configure.in: GStaticMutex doesn't have to provide extra space
3489         for debugging information for G_ERRORCHECK_MUTEXES, as then the
3490         non-default implementation (runtime_mutex) is used anyway.
3491
3492         * gthread.h (g_cond_wait): Added debug information for
3493         g_mutex_free calls, if G_ERRORCHECK_MUTEXES is defined.
3494
3495 2001-01-29  Tor Lillqvist  <tml@iki.fi>
3496
3497         * glibconfig.h.win32.in: Use the same GMutex structure as the
3498         configure-generated glibconfig.h does.
3499
3500         * gstrfuncs.c (g_strsignal): Declare strsignal() on Cygwin, too,
3501         says jbdoll@kepri.re.kr.
3502
3503 2001-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3504
3505         * gthread.c: Broadcast the condition, if there are waiting
3506         readers, as all might read at the same time. Only signal the
3507         writer thread, if there are no more readers.
3508
3509 2001-01-25  Tor Lillqvist  <tml@iki.fi>
3510
3511         * makefile.mingw.in
3512         * */makefile.mingw.in: Protect the rule to rebuild makefile.mingw
3513         if makefile.mingw.in has changed with a check if said .in file
3514         exists. (This rule is mainly a convenience for yours truly.)
3515
3516         * giowin32.c: Socket support rewritten. It was utterly broken, and
3517         untested in fact. We still do use a thread for each socket being
3518         watched, but instead of blocking in recv() (which of course was
3519         plain stupid for sockets being listen()ed on in a server-type
3520         application), we block in select(). The read method for sockets
3521         calls recv(). It is now possible for the application to call
3522         accept(), recv() or send() in the callback, just like on
3523         Unix. Tested with code kindly provided by Andrew Lanoix.
3524
3525         Rename g_io_channel_win32_new_stream_socket() to
3526         g_io_channel_win32_new_socket() as it isn't restricted to stream
3527         sockets.
3528         
3529         * gmain.c (g_poll): Related changes in the Win32 version of
3530         g_poll(). When polling for messages, always do a PeekMessage()
3531         first. We used to miss messages if several were posted between
3532         calls to g_poll().
3533
3534         * giochannel.h: Improve Win32-related comments.
3535
3536         * gutf8.c: (Win32) Include <stdio.h> for sprintf.
3537
3538         * tests/gio-test.c: (Win32) Add tests for polling for Windows
3539         messages.
3540
3541         * tests/makefile.mingw.in: Remove superfluous compilation command
3542         line.
3543
3544 2001-01-23  Alex Larsson  <alexl@redhat.com>
3545
3546         * gmain.c (g_source_callback_unref): Free the callback
3547         (g_source_set_callback): Initialize the callback refcount
3548
3549 2001-01-20  Tor Lillqvist  <tml@iki.fi>
3550
3551         * gutils.c (g_get_codeset): (Win32) Even if g_get_codeset() is
3552         currently commented out from gutils.h, fix it to return the same
3553         CP%d value as g_get_charset().
3554
3555 2001-01-19  Kjartan Maraas  <kmaraas@gnome.org>
3556
3557         * gconvert.c: Fix typo.
3558         * gfileutils.c: Same here.
3559         * configure.in: Added no to ALL_LINGUAS
3560         
3561 2001-01-17  Tor Lillqvist  <tml@iki.fi>
3562
3563         * gwin32.c (g_win32_getlocale, g_win32_error_message): Add doc
3564         comments.
3565         (g_win32_get_package_installation_directory): Add one parameter,
3566         the name of a DLL in the package. Add possibility to use that to
3567         deduce the installation directory if not entered into the
3568         Registry. Make the return value dynamically allocated.
3569         (g_win32_get_package_installation_subdirectory): New convenience
3570         function.
3571
3572         * gutils.c (GLIB_LOCALE_DIR)
3573         * gwin32.h: Adapt accordingly.
3574
3575         * testglib.c (main): Adapt tests accordingly.
3576
3577 Tue Jan 16 23:20:38 2001  Owen Taylor  <otaylor@redhat.com>
3578
3579         * gutils.c glibintl.h: Optimize for size rather than speed by
3580         making _() always call _glib_gettext() instead of conditionally
3581         calling gettext() or _glib_gettext_init. glib only uses translated
3582         strings in slow error handling code anyways.
3583
3584         * glibintl.h: g'ify types.
3585
3586         * Makefile.am: include glibintl.h in _SOURCES
3587
3588 2001-01-17  Tor Lillqvist  <tml@iki.fi>
3589
3590         * config.h.win32.in: Define ENABLE_NLS and GETTEXT_PACKAGE.
3591
3592         * makefile.mingw.in
3593         * makefile.msc.in: Use the GNU intl library.
3594
3595         * gwin32.c (g_win32_get_package_installation_directory): New
3596         function. To be used by various GLib-using packages to get their
3597         installation directory, which should be stored in the Registry by
3598         some installer.
3599
3600         * gwin32.h: Declare it.
3601
3602         * testglib.c (main): Test it.
3603
3604         * gutils.c: On Win32, define GLIB_LOCALE_DIR using
3605         g_win32_get_package_installation_directory().
3606
3607         * glib.def: Update.
3608
3609 Mon Jan 15 21:39:06 2001  Owen Taylor  <otaylor@redhat.com>
3610
3611         * glib-2.0.pc.in (Libs) glib-config-2.0.in: Add @INTLLIBS@.
3612
3613 Mon Jan 15 21:12:49 2001  Owen Taylor  <otaylor@redhat.com>
3614
3615         * configure.in acconfig.h glibintl.h gutils.c
3616         po/{Makefile.in.in,POTFILES.in,po2tbl.in}: Add gettext
3617         support.
3618
3619         * glib-gettext.m4 acinclude.m4: Clean up the GTK+ gettext macros
3620         some more and put them in this file, though they also need
3621         to be included in acinclude.m4 due to the brokeness of
3622         aclocal.
3623
3624         * gspawn.c gspawn-win32.c gutf8.c gconvert.c gfileutils.c
3625         gshell.c: Remove dummy _() #defines, include glibintl.m4.
3626
3627 2001-01-09  Tor Lillqvist  <tml@iki.fi>
3628
3629         * giowin32.c: Rework the changes needed to pass mainloop-test. Now
3630         we don't need to call TerminateThread() after all, which is a
3631         relief, as the docs have a BIG RED WARNING SIGN about using that
3632         API. Instead, when closing a fd channel that has a reader thread
3633         running, just mark it as non-running and additionally mark the fd
3634         as ripe for closing. When the reader thread hopefully eventually
3635         gets something (and EOF or some actual data), it will note that it
3636         shouldn't be running, break out of the loop, and close the fd.
3637
3638         The socket channel closing code should probably be changed
3639         similarily, but that will have to wait until I have a test case.
3640         
3641         (g_pipe_readable_msg, g_io_channel_win32_new_pipe,
3642         g_io_channel_win32_new_pipe_with_wakeups,
3643         g_io_channel_win32_pipe_request_wakeups,
3644         g_io_channel_win32_pipe_readable): Remove these, have been
3645         obsolete for some time.
3646         
3647         * gutils.c (g_basename, g_dirname): Don't warn about deprecation
3648         on Win32. Code written for GLib 1.2 doesn't have much choice but
3649         to use GLib >= 1.3 on Win32.
3650
3651         * glib.def: Update.
3652
3653 2001-01-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3654
3655         * gmem.c: Made g_profile_mutex a GMutex* instead of
3656         G_LOCK_DEFINE_STATIC to avoid deadlock for thread implementations
3657         without native static mutexes. Contruct g_profile_mutex in
3658         g_mem_init().
3659
3660 2001-01-06  Tor Lillqvist  <tml@iki.fi>
3661
3662         * gconvert.c (g_locale_to_utf8, g_locale_from_utf8): Get len using
3663         strlen() if arg is negative in the Win32 code, too.
3664
3665         * giowin32.c: Changes necessary to be able to run
3666         mainloop-test. We can't close the fd that our (internal) reader
3667         thread is sitting doing a blocking read() from. We must terminate
3668         the thread first. Keep track of thread handle, and close it when
3669         thread is dying. Start reader thread with the lower-level
3670         CreateThread() instead of _beginthreadex() from the C runtime, in
3671         order to be able to use TerminateThread(). Hopefuly this isn't
3672         harmful.
3673
3674         * glib.def: Update.
3675
3676         * tests/makefile.{mingw,msc}.in (TESTS): Add mainloop-test and
3677         unicode-encoding.
3678
3679         * tests/mainloop-test.c: Portability: <unistd.h>, need <fcntl.h>
3680         on Win32.
3681
3682         * tests/unicode-encoding.c (process): Add missing "line" argument
3683         to fail(). On Win32, convert UTF-16LE, as libiconv'c ivonf always
3684         converts to UTF-16BE if we ask for unspecific UTF-16.
3685         (main) Handle also '\r'.
3686
3687 Fri Jan  5 11:25:42 2001  Owen Taylor  <otaylor@redhat.com>
3688
3689         * configure.in (PACKAGE): move $enable_debug down below
3690         checks for GCC to avoid setting CFLAGS prematurely,
3691         change checks to avoid adding -g twice.
3692
3693         * gutf8.c (g_ucs4_to_utf8): Support len < 0 to mean
3694         0 termination.
3695
3696         * gutf8.c (g_utf8_to_ucs4): Terminate result with 0.
3697
3698         * tests/mainloop-test.c (main): Fix uses of 
3699         g_main_loop_destroy().
3700
3701         * tests/unicode-encoding.c tests/Makefile.am tests/utf8.txt:
3702         Tests for unicode-conversion code.
3703
3704         * gconvert.c (g_convert, g_convert_with_fallback): work around
3705         a couple of GNU libc bugs.
3706
3707         * gconvert.[ch] (g_{locale,filename}_{to,from}_utf8): Standardize
3708         arguments to match g_convert(). Document.
3709
3710         * gunicode.[ch]: 
3711           - Implement conversion functions to and from UTF-16
3712           - Standardize unicode conversion functions on prototype like
3713             g_convert.
3714           - Add a lot of error checking to unicode conversion functions.
3715
3716         * gunicode.[ch] (g_utf8_to_ucs4_fast): Add fast, non-checking
3717         variant of g_utf8_to_ucs4.
3718
3719         * gutf8.c (g_utf8_validate): 
3720          - add g_return_if_fail (str != NULL).
3721          - add checks for overlong strings, non-valid Unicode characters (>= 110000)
3722            and single surrogates.
3723
3724 2001-01-05  Tor Lillqvist  <tml@iki.fi>
3725
3726         * testglib.c (main): Add test for g_path_skip_root().
3727
3728         * gfileutils.c (g_file_open_tmp): (Win32:) Look also for (illegal)
3729         forward slashes in the template.
3730
3731         * gutils.c (g_path_skip_root): On Win32, skip the \\server\share
3732         part of UNC paths. On all platforms, skip several initial
3733         slashes. Add a few comments.
3734         (g_get_any_init): On Win32, in case HOME is Unix-style with
3735         (forward) slashes (some other applications apparently set it up
3736         this way, convert to backslashed form.
3737
3738         * configure.in (glib_os): Remove stray 'v'. Add case for mingw,
3739         although using configure for mingw surely doesn't work yet.
3740
3741         * glib.def: Update.
3742
3743 2001-01-02  Havoc Pennington  <hp@redhat.com>
3744
3745         * configure.in: remove glib-config-2.0
3746
3747         * Makefile.am: remove glib-config-2.0
3748
3749 2001-01-03  Havoc Pennington  <hp@pobox.com>
3750
3751         * tests/Makefile.am (INCLUDES): -I$(top_srcdir)/gmodule, 
3752         fix from Michael Meeks
3753
3754         * Makefile.am (INCLUDES): DISABLE was spelled wrong
3755
3756 Wed Jan  3 14:10:49 2001  Owen Taylor  <otaylor@redhat.com>
3757
3758         * gmain.[ch]: Switch GMainLoop to be ref/unref, use to
3759         make dropping reference to running loop safe.
3760
3761 Wed Dec 13 20:41:49 2000  Owen Taylor  <otaylor@redhat.com>
3762
3763         * gmain.c (g_source_unref_internal): Unref callback->cb_data
3764         if it was still set when the source is freed. (Usually, this
3765         will be done by g_source_destroy.)
3766
3767 2001-01-02  Dan Winship  <danw@helixcode.com>
3768
3769         * garray.h (g_array_append_val, g_array_prepend_val,
3770         g_array_insert_val): Use parentheses around an argument to make
3771         these cause an error if you pass a non-lvalue for the value,
3772         rather than silently doing the wrong thing.
3773
3774 2000-12-29  Tor Lillqvist  <tml@iki.fi>
3775
3776         * glibconfig.h.win32.in: Add GLIB_SIZEOF_VOID_P and GLIB_SIZEOF_LONG.
3777
3778         * glib.def: Update.
3779
3780         * {.,*}/makefile.{mingw,msc}.in: Add -DG_ENABLE_DEBUG.
3781         
3782 Fri Dec 29 14:53:18 2000  Tim Janik  <timj@gtk.org>
3783
3784         * configure.in: we can't grow _cv_ variables by using a backticked
3785         expr that refers back to the variable (glib_cv_sizeof_system_thread for
3786         G_THREAD_USE_PID_SURROGATE), that'd keep the variable growing every time
3787         it's evaluated. quantum states, anyone?)
3788
3789 Thu Dec 28 10:21:46 2000  Tim Janik  <timj@gtk.org>
3790
3791         * gmem.[hc]: got rid of outdated dmalloc support. provide g_try_malloc()
3792         and g_try_realloc() which _may_ fail and return NULL.
3793         nuked g_mem_check(), provided GMemVTable for memory function
3794         virtualization, alterable at program startup with g_mem_set_vtable().
3795         provided glib_mem_profiler_table and g_mem_profile() to support limited
3796         profiling information out of the box (uses mprotect() for free()ed areas
3797         on linux).
3798         provide globally visible G_MEM_ALIGN.
3799         buncha cleanups.
3800
3801         * docs/macros.txt: file to get a clue about the various configuration
3802         macros.
3803
3804         * docs/debugging.txt: explain debugging traps.
3805
3806         * configure.in: got rid of --enable-mem-check and --enable-mem-profile,
3807         define GLIB_SIZEOF_VOID_P and GLIB_SIZEOF_LONG. check malloc prototypes
3808         and define SANE_MALLOC_PROTOS is we can use them.
3809         <boy, is this file a mess>
3810
3811         * gutils.c, gscanner.c: fix up compatibility warnings, use g_message().
3812
3813 2000-12-27  Tor Lillqvist  <tml@iki.fi>
3814
3815         * README.win32: Update.
3816
3817 2000-12-25  Tor Lillqvist  <tml@iki.fi>
3818
3819         * gmessages.c: (Win32) Use a MessageBox for fatal
3820         messages. Collect eror message into a buffer, and display that.
3821
3822         * glib.def: Update.
3823
3824         * glibconfig.h.win32.in: Update. Remove unused wchar and wctype
3825         macros, add G_MODULE_SUFFIX.
3826
3827 2000-12-24  Ali Abdin  <aliabdin@aucegypt.edu>
3828
3829         * Makefile.am, gcompat.h, glib.h: New gcompat.h header file
3830           as recommended by Havoc.
3831
3832         * gdate.c, gdate.h, testgdate.c,
3833           docs/reference/glib/glib-sections.txt,
3834           docs/reference/glib/tmpl/date.sgml, tests/date-test.c: Rename some
3835           of the gdate functions to use the '_get' in their name. Patch
3836           reviewed by Havoc.
3837                 
3838 2000-12-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3839
3840         * configure.in: Determine the suffix of the shared librarries for
3841         this system. This is done analogous to
3842         ltconfig.sh. G_MODULE_SUFFIX in glibconfig.h is set to either
3843         "sl", "dll", or (most often) "so".
3844
3845         * tests/Makefile.am, tests/module-test.c,
3846         tests/libmoduletestplugin_a.c, tests/libmoduletestplugin_b.c:
3847         Added new testcase for gmodule. This is mostly copied from
3848         gmodule/testgmodule.c, but unlike that is is quiet. (Why BTW are
3849         some tests that verbose, not to say loquacious...)
3850
3851 2000-12-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3852
3853         * grand.c: Updated G_RAND_DOUBLE_TRANSFORM to be more
3854         accurate. Redid g_rand_double() such that it returns 52 bits after
3855         the point instead of 32 as before. That OTOH requires calling
3856         g_rand_int() twice. Overhauled g_rand_int_range(), which is easier
3857         now thanks to the new precision of g_rand_double(). Thanks to
3858         Sverre Johansen <sj@ifi.uio.no> for the hint.
3859
3860         * grand.h: Added g_rand_boolean() and g_random_boolean()
3861         macros. While they could be omitted due to extreme simplicity,
3862         they make intention clearer in code and are therefore good to have.
3863
3864         * grand.c, grand.h: Renamed all 'min' and 'max' parameters to'
3865         begin' and 'end' resp. to avoid making people think, that 'max' is
3866         included in the interval. 'end' now isn't, whereas 'begin'
3867         is. That's similar to the use in the STL.
3868
3869         * gslist.c, glist.c: Ok, I'm a moron. When I originally
3870         implemented ENABLE_GC_FRIENDLY, I forgot to include config.h into
3871         the affected files. Now that Alex did that for those two,
3872         inevitable typos surfaced, which are now fixed.
3873         
3874         * garray.c, ghash.c, gqueue.c, gtree.c: Include config.h as well,
3875         as ENABLE_GC_FRIENDLY should be known.
3876
3877 2000-12-19  Alexander Larsson  <alexl@redhat.com>
3878
3879         * configure.in:
3880         Added --disable-mem-pools option.
3881
3882         * glist.c:
3883         * gslist.c:
3884         * gnode.c:
3885         * gmem.c:
3886         Disable free list and memory chunks if DISABLE_MEM_POOLS is defined.
3887
3888 2000-12-17  Tor Lillqvist  <tml@iki.fi>
3889
3890         * gutf8.c (g_utf8_get_charset_internal): (Win32) Use GetACP to get
3891         the current ANSI codepage.
3892
3893         * gunicode.h: Add comment that the static string g_get_charset
3894         sets the parameter to point to should be copied in case the
3895         charset might be changed later in the program.
3896
3897 2000-12-14  Tor Lillqvist  <tml@iki.fi>
3898
3899         * makefile.{mingw,msc}.in: No need to -DGSPAWN_HELPER when
3900         compiling gspawn-win32-helper any longer.
3901
3902         * giowin32.c (g_io_win32_dispatch): Warn if no callback. Call
3903         callback correctly.
3904         (g_io_win32_create_watch): Fix typo.
3905         (g_io_win32_fd_create_watch): Ditto.
3906         (g_io_channel_unix_new): If it is a file descriptor (i.e., a Unix
3907         fd lookalike provided by the C library), call
3908         g_io_channel_win32_new_fd(). If it is a socket (from WinSock),
3909         call g_io_cahnnel_win32_new_stream_socket(). Hopefully sockets and
3910         fds don't overlap. TODO: Implement also datagram sockets.
3911         (g_io_channel_win32_poll): Call g_main_context_get_poll_func().
3912
3913         * gcompletion.h: Include <unistd.h> only on Unix. Is this
3914         inclusion really needed here? OTOH, do include <stddef.h>, for
3915         size_t.
3916
3917         * gmessages.c: (Win32) Don't define a function called "write" that
3918         might clash with the prototype from <io.h>, use a #define.
3919
3920         * glib.def: Update.
3921
3922         * gmain.c (g_source_add_poll): Don't return a value from void
3923         function.
3924         (g_main_context_get_poll_func): Compile also for non-Win32, as
3925         presumably was intended. The result var is a GPollFunc, not a
3926         GPollFunc*. Return the result!
3927
3928 2000-12-13  Havoc Pennington  <hp@redhat.com>
3929
3930         * gconvert.c (open_converter): make static
3931
3932         * gutf8.c (g_utf8_validate): Simplify logic a bit, maybe 
3933         speeding it up - now we just return FALSE if we had to bail out
3934         for any reason before getting to the end of the string, as defined 
3935         by a nul byte if len was -1, defined by the len otherwise. This 
3936         also fixes a bug where nul bytes were not treated as invalid 
3937         when the length was specified.
3938
3939 2000-12-12  Havoc Pennington  <hp@pobox.com>
3940
3941         * gmain.c (g_main_context_destroy): don't try to use thread stuff
3942         unless G_THREADS_ENABLED
3943         (g_main_context_query): ditto
3944         (g_main_context_check): ditto
3945         (g_main_loop_quit): ditto
3946
3947 Tue Dec 12 18:58:22 2000  Tim Janik  <timj@gtk.org>
3948
3949         * ghash.c (g_hash_table_remove): return whether a value
3950         got removed.
3951
3952 Tue Dec 12 15:18:10 2000  Owen Taylor  <otaylor@redhat.com>
3953
3954         * gmain.[ch]: Revert unauthorized changes.
3955
3956 2000-12-12  Elliot Lee  <sopwith@redhat.com>
3957
3958         * gmain.c, gmain.h (g_main_context_new, g_main_context_destroy):
3959         GMainContext useful in implementing some additional styles of
3960         main loop usage.  To do this, however, Joe Hacker needs to be able
3961         to create/destroy GMainContext's at will. This is just an export
3962         of existing functionality, rather than any new functionality.
3963
3964         They are listed in the "Low level functions for implementing custom
3965         main loops" section of the header file, to avoid confusing people.
3966
3967 Sun Dec 10 10:47:11 2000  Owen Taylor  <otaylor@redhat.com>
3968
3969         * gmain.c (g_source_destroy_internal): Remove pollfds
3970         from the context here, not when actually freeing the
3971         source.
3972
3973         * gmain.c (g_source_unref_internal): Free source list
3974         and source, call source->source_funcs->destroy().
3975
3976         * giochannel.c: Unreference io_channel properly.
3977
3978 Thu Dec  7 15:22:30 2000  Owen Taylor  <otaylor@redhat.com>
3979
3980         * tests/mainloop-test.c (recurser_start): Add a bunch
3981         of unrefs.
3982
3983         * gmain.c (g_source_attach): Reference the source
3984         when adding (pointed out by Elliot)
3985
3986 2000-12-08  Raja R Harinath  <harinath@cs.umn.edu>
3987
3988         * acglib.m4 (GLIB_AC_DIVERT_BEFORE_HELP): 
3989         Rename from GLIB_DIVERT_BEFORE_HELP.  
3990         Update to track autoconf 2.49b.
3991         * configure.in: Reflect above change.
3992         (AC_EGREP_HEADER): Rename from really obselete AC_HEADER_EGREP.
3993         (debug_default): Replace "if test `expr ...`" with "case". 
3994
3995         * tests/Makefile.am (TESTS): Rearrange into other variables, and
3996         include run-markup-tests.sh.
3997         (TESTS_ENVIRONMENT): New.  Pass $srcdir to tests.
3998         (noinst_PROGRAMS): Rename to ...
3999         (check_PROGRAMS): ... this.  'automake' ensures that these are
4000         built before running the tests.
4001         * tests/run-markup-tests.sh: Support $srcdir != $builddir.
4002
4003 2000-12-08  Havoc Pennington  <hp@pobox.com>
4004
4005         * tests/Makefile.am (TESTS): move markup-test to noinst_PROGRAMS;
4006         it isn't a proper test, the proper test would be 
4007         run-markup-tests.sh, but that can't go in tests, so we need 
4008         a manual make check rule. Didn't do that yet.
4009
4010 2000-12-07  Raja R Harinath  <harinath@cs.umn.edu>
4011
4012         * gmain.h: Don't put anything after an #endif.
4013         * gmain.c: Likewise.
4014
4015 2000-12-06  Havoc Pennington  <hp@pobox.com>
4016
4017         * tests/strfunc-test.c (main): add g_strdupv test
4018
4019         * gstrfuncs.c (g_strdupv): Add a function to copy 
4020         an array of strings
4021
4022 Tue Dec  5 12:23:04 2000  Owen Taylor  <otaylor@redhat.com>
4023
4024         * gmain.[hc]: Major change in API for creating sources
4025         to handle multiple main loops (GMainContext *). 
4026
4027         GSources are now exposed as GSource * and implemented
4028         with structure derivation.
4029
4030         * giochannel.[ch]: Changed vtable for GIOChannel to correspond
4031         to the new mainloop API, add g_io_channel_create_watch().
4032          
4033         * gtypes.h: Move GTimeVal here.
4034
4035         * gthread.h: Remove gmain.h include to avoid circularity.
4036         
4037         * giounix.c: Update for new GMain API.
4038          
4039         * giowin32.c: Update for new GMain API. (No check for
4040         proper compilation or working.)
4041
4042         * timeloop.c timeloop-basic.c: A benchmarking program for
4043         the main loop comparing the main loop against a 
4044         hand-written (timeloop-basic.c) variant. 
4045
4046         * tests/mainloop-test.c: New torture test of mainloop.
4047         
4048         * docs/Changes-2.0.txt: Started. Added text about
4049         changes to GMain.
4050
4051         * gmain.c (g_main_add_poll_unlocked): Initial fd->revents
4052         to zero. (#8482, Benjamin Kahn)
4053
4054 2000-12-01  Tor Lillqvist  <tml@iki.fi>
4055
4056         * {.,*}/makefile.msc.in: Include make.msc from GLib's build subdir.
4057
4058         * makefile.{mingw,msc}.in (glib_OBJECTS): Add gunibreak.
4059
4060         * glib.def: Update correspondingly.
4061
4062 2000-11-21  Havoc Pennington  <hp@pobox.com>
4063
4064         * gmacros.h: Provide G_CONST_RETURN which is 'const' by default,
4065         and nothing when G_DISABLE_CONST_RETURNS is defined.
4066
4067 2000-11-29  Havoc Pennington  <hp@redhat.com>
4068
4069         * gunidecomp.c (COMBINING_CLASS): 
4070         s/UNICODE_LAST_CHAR/G_UNICODE_LAST_CHAR/
4071
4072         * gunichartables.h: Update for data in Unicode 3.0.1
4073
4074         * gunidecomp.h: Ditto
4075         
4076         * gunicode.h (GUnicodeBreakType): Enum for line break properties
4077         (g_unichar_break_type): Get the break property for a char
4078         
4079         * gunibreak.h: Autogenerated line break property tables
4080
4081         * gunibreak.c (g_unichar_break_type): added 
4082         
4083         * Makefile.am (EXTRA_DIST): dist gen-unicode-tables.pl
4084
4085         * Makefile.am (libglib_1_3_la_SOURCES): Add gunibreak.h, gunibreak.c
4086         
4087         * gen-unicode-tables.pl: Include the script to update the unicode
4088         char tables
4089
4090 2000-11-28  Elliot Lee  <sopwith@redhat.com>
4091
4092         * gmarkup.c: Fix warnings.
4093
4094         * guniprop.c, gunidecomp.c: Make warnings go away by using
4095         GPOINTER_TO_INT() instead of (int).
4096
4097         * gcompletion.[ch]: Add g_completion_set_compare(),
4098         to allow (for example) using case-insensitive completion.
4099
4100 2000-11-28  Tor Lillqvist  <tml@iki.fi>
4101
4102         Patches by Hans Breuer:
4103         
4104         * gspawn-win32.c: Move the code for gspawn-win32-helper to its own
4105         file.
4106
4107         * makefile.{mingw,msc}.in: Change accordingly.
4108
4109         * gspawn-win32-helper.c: New file.
4110
4111         * Makefile.am (EXTRA_DIST): Add it.
4112
4113         * gmarkup.c (find_current_text_end): Fix assertion not to check an
4114         uninitialised variable.
4115
4116 2000-11-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4117
4118         * gthread.c: Set the thread data before locking the mutex, because
4119         the locking call might use g_thread_self ().
4120
4121         * gthread.h: Do only show the location of the locking/unlocking
4122         for -DG_ERRORCHECK_MUTEXES and not the name of the mutex. Add the
4123         errorcheck capability for g_cond_wait and g_cond_timed_wait as
4124         well.   
4125
4126 2000-11-27  Havoc Pennington  <hp@redhat.com>
4127
4128         * gthread.h: Add void in empty function arg list
4129
4130 2000-11-22  Tor Lillqvist  <tml@iki.fi>
4131
4132         * makefile.{mingw,msc}.in: Add gqsort.
4133
4134         * glib.def: Update.
4135
4136 2000-11-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4137
4138         * configure.in: Add a surrogate for thread priorities using PID
4139         niceness for systems with no thread priorities and different PIDs
4140         for threads of the same process (most notably: Linux). Define
4141         G_THREAD_USE_PID_SURROGATE in that case, as used by
4142         gthread-posix.c. Also make the system thread bigger by
4143         sizeof (long) to contain the thread's PID.
4144
4145         * gfileutils.c: Include stdlib.h for mkstemp prototype.
4146
4147         * gthread.c: Add priority range checks to the affected functions.
4148
4149         * gthreadpool.c: Remove unused variable.
4150
4151 Mon Nov 20 18:55:17 2000  Jonathan Blandford  <jrb@redhat.com>
4152
4153         * gtree.[hc]: Patch from David Benson <daveb@idealab.com> to add
4154         user_data support to gtree functions.
4155
4156 Mon Nov 13 18:35:52 2000  Jonathan Blandford  <jrb@redhat.com>
4157
4158         * gtypes.h (GCompareFuncData): new func type to let you use user
4159         data when comparing nodes.
4160
4161         * gslist.c (g_list_sort_with_data): new function to sort with
4162         user_data. 
4163
4164         * glist.c (g_list_sort_with_data): new function to sort with
4165         user_data. 
4166
4167         * garray.[ch]: Added convenience functions to sort arrays.
4168
4169 2000-11-16  Havoc Pennington  <hp@redhat.com>
4170
4171         * guniprop.c (g_unichar_isspace): Use a switch here, maybe helps 
4172         the compiler optimize things. Also, ' ' is a SPACE_SEPARATOR,
4173         so don't special case it.
4174
4175 2000-11-17  Tor Lillqvist  <tml@iki.fi>
4176
4177         * glib.def: Add g_trash_stack entry points.
4178
4179 Fri Nov 17 15:43:00 2000  Owen Taylor  <otaylor@redhat.com>
4180
4181         * Released 1.3.2
4182         
4183         * NEWS: Update.
4184
4185         * tests/Makefile.am (dist-hook): Add code to distribute
4186         markup test files.
4187
4188 2000-11-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4189
4190         * configure.in: Check for the sched.h header and include it on
4191         gthread/gthread-posix.c if available.
4192
4193         * configure.in: Add -D_POSIX4_DRAFT_SOURCE to
4194         GTHREAD_COMPILE_IMPL_DEFINES. Also add -D_POSIX4A_DRAFT10_SOURCE
4195         to G_THREAD_CFLAGS. Really deploy GTHREAD_COMPILE_IMPL_DEFINES,
4196         when searching for thread libs. Look for sched_* functions in
4197         -lrte as well. All of that is necessary on DG/UX.
4198
4199         * configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADERS in
4200         various places to make it work more reliable, to make it accept
4201         macros instead of functions etc.
4202
4203         * configure.in: Replace some NULL's for checks with 0 to make it
4204         work without stdio.h everywhere.
4205
4206         * configure.in, gutils.c: changed the test for getpwuid_r to first
4207         test for a posix version and then for a non-posix version. No code
4208         change in gutils.c. Again this change deals better with getpwuid_r
4209         being a macro and not a function. Most of the above with kind help
4210         from Tethys <tet@isengard.europe.dg.com>. This fixes Bug #13403.
4211         
4212 2000-11-14  Tor Lillqvist  <tml@iki.fi>
4213
4214         * gwin32.h: Make #endif comment match #ifdef.
4215
4216 Mon Nov 13 14:00:20 2000  Owen Taylor  <otaylor@redhat.com>
4217
4218         * configure.in: Up version to 1.3.2
4219
4220         * gconvert.h (enum GConvertError): Remove trailing ,
4221
4222         * gfileutils.c (g_file_open_tmp): Fix comment to 
4223         properly describe return value.
4224
4225 2000-11-13  Tor Lillqvist  <tml@iki.fi>
4226
4227         * config.h.win32.in: Add USE_LIBICONV.
4228
4229         * gconvert.c: Check G_OS_WIN32 only after including glib.h. 
4230
4231         * glib.def: Update.
4232
4233 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4234
4235         * gthread.c (g_static_rec_mutex_*): Made recursive mutexes also
4236         work when the thread system is not (yet) initialized.
4237
4238 Sun Nov 12 18:34:32 2000  Owen Taylor  <otaylor@redhat.com>
4239
4240         * gconvert.[ch]: Create wrapper functions for iconv()
4241         so that we can transparently use the native iconv, 
4242         libiconv, or (in the future) a mini-iconv included
4243         with glib.
4244
4245         * glib-config-2.0.in glib-2.0.pc.in: Include @ICONV_LIBS@
4246
4247         * INSTALL: Added note about libiconv.
4248
4249         * configure.in: Add checks for libiconv from pango. If
4250         EILSEQ is not defined in errno.h add define for it into
4251         glibconfig.h so g_iconv can use it. (Note, recompiling
4252         from a system without EILSEQ to a system with EILSEQ
4253         will break binary compatibility)
4254
4255 2000-11-12  Robert Brady  <robert@suse.co.uk>
4256
4257         * gstrfuncs.c, gstrfuncs.h: Remove g_filename_{to,from}_utf8
4258
4259         * gconvert.c, gconvert.h: Add g_filename_{to,from}_utf8 and
4260         g_locale_{to.from}_utf8.  The locale_ variant honours 
4261         nl_langinfo(CODESET), the filename_ variant uses UTF-8 unless
4262         asked otherwise.
4263
4264         (g_convert): Add G_CONVERT_ERROR_PARTIAL_INPUT error, if bytesread
4265         != length and no bytesread pointer passed.
4266
4267 Sun Nov 12 15:29:53 2000  Owen Taylor  <otaylor@redhat.com>
4268
4269         * gfileutils.[ch]: template is a reserved word in
4270         C++ s/template/tmpl/. 
4271
4272 2000-11-11  Havoc Pennington  <hp@pobox.com>
4273
4274         * gmarkup.c (g_markup_parse_context_parse): Handle a long stream
4275         of bytes containing no UTF-8 character starts
4276
4277 2000-11-11  Tor Lillqvist  <tml@iki.fi>
4278
4279         * glib.def: Add missing entry points.
4280
4281         * gfileutils.c (g_mkstemp): Improve chance to generate unique
4282         names with less effort a bit.
4283
4284         * gfileutils.h: Add g_file_open_tmp() declaration.
4285
4286         * testglib.c: Include <io.h> on Win32.
4287
4288         * makefile.mingw.in: Correct the way to invoke sub-makes.
4289
4290 Sun Nov  5 13:20:54 2000  Owen Taylor  <otaylor@redhat.com>
4291
4292         * glib-object.h: Add gtypemodule.h
4293
4294 2000-11-11  Tor Lillqvist  <tml@iki.fi>
4295
4296         * gfileutils.c (g_file_open_tmp): New function, suggested by Havoc
4297         earlier this month.
4298         (g_mkstemp): Use only one case for letters in temp file name, as
4299         this will be used on systems with case-insensitive file systems.
4300
4301         * testglib.c (main): Test g_mkstemp() and g_file_open_tmp().
4302
4303 2000-11-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4304
4305         * gthreadpool.c: Don't take other threads with other priorities
4306         into account as changing the priority is highly
4307         unportable. (Actually using it at all already is unportable, but
4308         even sometimes where that works, changing priority is not
4309         possible).
4310
4311 2000-11-05  Havoc Pennington  <hp@pobox.com>
4312
4313         * gmarkup.h: rename G_MARKUP_FOO to
4314         G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG
4315
4316         * gmarkup.c: don't start doc comments with "Returns"
4317         
4318 2000-11-05  Havoc Pennington  <hp@pobox.com>
4319
4320         * gmarkup.c: inline docs
4321         (unescape_text): properly check strtoul for failure.
4322         
4323         * gerror.c (g_propagate_error): Free the src error if the dest
4324         location is NULL - I'm pretty sure that's what this function was 
4325         supposed to do.
4326
4327 2000-11-05  Havoc Pennington  <hp@pobox.com>
4328
4329         * gutils.c (g_find_program_in_path): cleanup docs, sync param 
4330         names to those in the header
4331
4332         * gfileutils.c (g_mkstemp): clean up docs
4333
4334         * gshell.h: sync param names with param names in .c file
4335
4336         * gfileutils.h (enum GFileTest): remove trailing comma from last
4337         member, confuses gtk-doc
4338
4339         * gmarkup.h: s/GMarkupErrorType/GMarkupError/g; to follow
4340         convention
4341
4342 2000-11-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4343
4344         * gasyncqueue.c: Added documentation for asyncronous queues.
4345
4346         * gspawn.c: Include sys/select.h (some platforms need it for
4347         select). 
4348
4349         * gspawn.c: Changed unportable __FUNCTION__ to the verbatim
4350         function name.
4351
4352 2000-10-31  Tor Lillqvist  <tml@iki.fi>
4353
4354         * gutils.c
4355         * gutils.h
4356         * gfileutils.c
4357         * gfileutils.h: Actually, g_mkstemp() is better suited in gfileutils.
4358
4359 2000-10-30  Tor Lillqvist  <tml@iki.fi>
4360
4361         * configure.in: Check for mkstemp.
4362
4363         * gutils.c (g_mkstemp): New function. If HAVE_MKSTEMP, just call
4364         it, otherwise use code lifted from glibc.
4365
4366         * gutils.h: Declare it.
4367
4368         * glib.def: Here, too. Plus two missing functions.
4369
4370 2000-10-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4371
4372         * gcache.h, gcache.c, ghash.h, ghash.c, grel.c, grel.h, gtypes.h:
4373         Introduced new function type GEqualFunc to return TRUE for equal
4374         params. This is now used instead of GCompareFunc (which should
4375         work akin to strcmp) here. This kind of fixes Bug #14412. Note
4376         that technically GCompareFunc and GEqualFunc are still the same
4377         types, as gint == gboolean.
4378
4379         * ghash.h, gutils.c: g_int_equal and g_direct_equal now return
4380         gboolean to be really become GEqualFunc.
4381
4382         * gscanner.c, testglib.c, tests/hash-test.c: Some tiny changes to
4383         follow the above change.
4384
4385 2000-10-27  Tor Lillqvist  <tml@iki.fi>
4386
4387         * makefile.{mingw,msc}.in (glib_OBJECTS): Add gmarkup.
4388
4389         * glib.def: Add missing functions.
4390
4391         * tests/makefile.{mingw,msc}.in (TESTS): Add markup-test.
4392
4393 2000-10-24  Havoc Pennington  <hp@pobox.com>
4394
4395         * gmarkup.h, gmarkup.c: New module to parse a simple
4396         markup language
4397         
4398         * Makefile.am: add gmarkup.h, gmarkup.c
4399
4400         * tests/Makefile.am: add markup-test
4401
4402         * gstring.h (g_string_new_len): new function to create a string
4403         with a length
4404         (g_string_new): avoid a gratuitous realloc
4405
4406 2000-10-26  Tor Lillqvist  <tml@iki.fi>
4407
4408         * makefile.{mingw,msc}.in: Cosmetics.
4409
4410 2000-10-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4411
4412         * gstrfuncs.c (g_strsplit): When the string is ended by a
4413         delimiter, return an extra empty string just like for a delimiter
4414         at the start of the string. This makes the function behave more
4415         consistent and also fixes Bug #15026.
4416
4417 Tue Oct 24 22:09:14 2000  Tim Janik  <timj@gtk.org>
4418
4419         * glib-object.h: added newly added gobject/ headers.
4420
4421         * gmesage.c: print g_message() output to stderr instead of stdout.
4422
4423 2000-10-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4424
4425         * configure.in: Use one = instead of two, which is plainly wrong.
4426
4427 2000-10-19  Tor Lillqvist  <tml@iki.fi>
4428
4429         * makefile.msc.in: Pass -DGSPAWN_HELPER when building it. Link
4430         with user32.lib.
4431
4432         * gspawn-win32.c
4433         * gfileutils.c: Make them compile with picky MSVC.
4434
4435         * gwin32.h: New file. Move Win32-only stuff that isn't related to
4436         GIOChannels here from giochannel.h.
4437
4438         * Makefile.am: Add it here.
4439
4440         * giochannel.h: Move stuff to gwin32.h.
4441
4442         * glib.h: On Win32, include gwin32.h.
4443
4444 Mon Sep 11 10:03:24 2000  Owen Taylor  <otaylor@redhat.com>
4445
4446         * glib.h convert.c (g_convert_with_fallback): Change
4447         ERROR_OTHER to ERROR_FAILED, add some dummy marking with _().
4448
4449         * docs/reference/glib/glib-sections.txt
4450         docs/reference/glib/glib-docs.sgml Update for g_convert,
4451         g_unicode_validate.
4452
4453 2000-10-16  Tor Lillqvist  <tml@iki.fi>
4454
4455         * glibconfig.h.win32.in: Remove alloca stuff from here. galloca.h
4456         takes care of it, correctly.
4457
4458         * giowin32.c (reader_thread): Some more debugging output.
4459         (g_io_channel_win32_poll): Remove unused vars.
4460
4461         * gfileutils.c: Changes for Win32, with no unistd.h and no
4462         S_ISLNK().
4463
4464         * gspawn-win32.c: Implementation of the g_spwan_* functions for
4465         Win32. Due to the general non-Unixness of Win32, much of the
4466         functionality that is relatively clean to implement on Unix, is
4467         hard to do on Win32. We must use a separate helper program to
4468         change directory, close extra file descriptors, redirect the std
4469         ones, as needed, and only then start the child process. No child
4470         process pid can be returned, unfortunately. Or if we used
4471         CreateProcess directly, it probably could. (Now we use the spawnv*
4472         functions from msvcrt.)
4473
4474         * Makefile.am (EXTRA_DIST): Add gspawn-win32.c
4475
4476         * glib.def: Add new entry points.
4477
4478         * glib.def
4479         * giowin32.c: Remove g_io_channel_win32_wait_for_condition(),
4480         g_io_channel_win32_poll() subsumes it.
4481
4482         * gbacktrace.h: G_BREAKPOINT for MSVC (on the ix86).
4483
4484         * gwin32.c (g_win32_getlocale): Use "sp" for
4485         LANG_CROATIAN+SUBLANG_SERBIAN_LATIN.
4486
4487         * makefile.{mingw,msc}.in (glib_OBJECTS): Add new files.
4488         Add gspawn-win32-helper.exe rule.
4489
4490         * tests/makefile.{mingw,msc}.in (TESTS): Add shell-test and
4491         spawn-test.
4492
4493         * tests/spawn-test.c: (run_tests): On Win32, don't try to run
4494         /bin/sh, but ipconfig (no special significance in choosing that,
4495         just a program that outputs something to stdout).
4496
4497 2000-10-15  Raja R Harinath  <harinath@cs.umn.edu>
4498
4499         Remove need for acconfig.h, and misc. cleanups.
4500         * acglib.m4 (GLIB_SIZEOF): Add 'autoheader' comment to
4501         AC_DEFINE_UNQUOTED.
4502         (GLIB_BYTE_CONTENTS): Likewise.
4503
4504         * configure.in: Add 'autoheader' comments to all AC_DEFINE(...)
4505         and AC_DEFINE_UNQUOTED(...) lines.
4506         Replace AC_MSG_CHECKING/AC_CACHE_VAL with AC_CACHE_CHECK.
4507         (AM_PROG_LIBTOOL): Move after AC_PROG_CC.
4508         
4509         * acconfig.h: Empty out.
4510
4511         * Makefile.am (BUILT_EXTRA_DIST): New variable.  List 'dist'able
4512         files that are created in the builddir.
4513         (dist-hook): Handle those files.
4514         (libglib_1_3_la_SOURCES): Remove @ALLOCA@.  @ALLOCA@ should only
4515         be used in an _LDADD or _LIBADD, since it expands (if necessary)
4516         to 'alloca.o'.
4517
4518         * tests/Makefile.am (BUILT_EXTRA_DIST): New variable.
4519         (dist-hook): Handle $(BUILT_EXTRA_DIST).
4520         
4521 2000-10-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4522
4523         * grand.c: Added inline documentation. 
4524
4525         * gtypes.h, gnode.h, gutils.h: Readded GFreeFunc,
4526         g_node_insert_after and g_find_program_in_path resp., which
4527         mysteriously disappeared during the glib.h dissection.
4528
4529 2000-10-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4530
4531         * glibconfig.h.win32.in: Adapted accordingly to header separation
4532         and GLIB_HAVE_ALLOCA_H renaming.
4533
4534         * Makefile.am: Added the new headers to glibinclude_HEADERS.
4535
4536         * glib.h: Forgot to include gerror.h.
4537
4538         * glib.h, galloca.h, garray.h, gasyncqueue.h, gbacktrace.h,
4539         gcache.h, gcompletion.h, gconvert.h, gdataset.h, gdate.h, ghash.h,
4540         ghook.h, giochannel.h, glist.h , gmacros.h, gmain.h, gmem.h,
4541         gmessages.h, gnode.h, gprimes.h, gquark.h, gqueue.h, grand.h,
4542         grel.h, gscanner.h, gslist.h, gstrfuncs.h, gstring.h, gthread.h,
4543         gthreadpool.h, gtimer.h, gtree.h, gtypes.h, gutils.h: Split glib.h
4544         into many header files mostly according to the resp. *.c-files.
4545         
4546         * gmacros.h: Added G_BEGIN_DECLS and G_END_DECLS to mean: 'in case
4547         of C++: extern "C" { ... }' analogous to glibc __BEGIN_DECLS and
4548         __END_DECLS.
4549
4550         * configure.in, gerror.h, gfileutils.h, gshell.h, gspawn.h,
4551         gunicode.h, : Changed guard-macro names to something more
4552         consistent.
4553
4554         * configure.in, *.h: Use G_BEGIN_DECLS and G_END_DECLS.
4555
4556         * configure.in: Defined GLIB_HAVE_ALLOCA_H instead of including
4557         alloca.h in glibconfig.h, GLIB_HAVE_ALLOCA_H is used in glib.h.
4558
4559         * configure.in: Removed cruft from old threading code.
4560
4561 2000-10-09  Raja R Harinath  <harinath@cs.umn.edu>
4562
4563         Work with beta autoconf 2.50.
4564         * configure.in (GLIB_MAJOR_VERSION): Use GLIB_DIVERT_BEFORE_HELP
4565         instead of AC_DIVERT_PUSH(),AC_DIVERT_POP.
4566         (AC_CHECK_HEADERS): Remove redundant AC_DEFINE(HAVE_...).
4567         (REALLOC_0_WORKS): Move AC_DEFINE outside AC_CACHE_VAL.
4568         (dlopen): Quote nested AC_CHECK_... calls.
4569
4570         * acglib.m4 (GLIB_TR_SH, GLIB_TR_CPP): Utility macros copied from
4571         beta autoconf 2.50.
4572         (GLIB_DIVERT_BEFORE_HELP): New macro that works both with autoconf
4573         2.13 and beta autoconf 2.50.
4574         (GLIB_SIZEOF, GLIB_BYTECONTENTS): Use GLIB_TR_*.
4575
4576         * Makefile.am (CONFIGURE_DEPENDENCIES): Use this to specify
4577         that 'configure' depends on acglib.m4.
4578
4579 2000-10-09  Havoc Pennington  <hp@redhat.com>
4580
4581         * Makefile.am, tests/Makefile.am: Add new files.
4582
4583         * tests/spawn-test.c, tests/shell-test.c: new tests for
4584         the shell/spawn stuff
4585
4586         * gutils.c (g_find_program_in_path): convert a relative
4587         program name into an absolute pathname to an existing 
4588         executable
4589
4590         * gspawn.h, gspawn.c: New fork/exec API
4591
4592         * gshell.h, gshell.c: Shell-related utilities, at the moment
4593         simply routines to parse argv and quote/unquote strings
4594
4595         * guniprop.c (g_unichar_isspace): Return TRUE for the 
4596         ASCII space characters isspace() returns TRUE for.
4597
4598         * gfileutils.c (g_file_get_contents): Convenience function 
4599         to slurp entire file into a string and return it. Partially
4600         written by Joel Becker.
4601         (g_file_test): file test function
4602
4603 2000-10-06  Tor Lillqvist  <tml@iki.fi>
4604
4605         * makefile.msc.in: Revamp to be like makefile.mingw.in, make
4606         the MSVC build actually work again.
4607
4608         * gmodule/makefile.msc.in
4609         * gobject/makefile.msc.in
4610         * gthread/makefile.msc.in: New files, like their mingw counterparts.
4611
4612         * gmodule/Makefile.am
4613         * gobject/Makefile.am
4614         * gthread/Makefile.am: Make and distribute them.
4615
4616         * */makefile.mingw.in: Allow override of GLib version number from
4617         the build/win32/module.defs file.
4618
4619         * glib.def: Add new entry point.
4620
4621         * tests/gio-test.c (main): Fix the Win32-only code to use current
4622         API, g_io_channel_win32_make_pollfd() and g_io_channel_win32_poll().
4623
4624         Fixes from Hans Breuer:
4625
4626         * glib.h (struct DIR): Keep the last readdir result cached inside
4627         the DIR struct, to enable several DIRs being open simultaneously.
4628
4629         * gwin32.c (g_win32_readdir): Use the above instead of static.
4630
4631         * giowin32.c (g_io_channel_win32_make_pollfd): Insert cast to keep
4632         MSVC happy.
4633
4634 2000-10-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4635
4636         * glib.h: Changed alloca stuff a bit: when we have a working
4637         alloca.h, we're not messing with alloca any further. Should fix a
4638         bug reported by Bernd Demian <wega@csc-dd.de>.
4639
4640 2000-09-29  Jonathan Blandford  <jrb@redhat.com>
4641
4642         * gnode.c (g_node_insert_after): Added function to keep symmetry
4643         with g_node_insert_before. 
4644
4645 2000-09-29  Martin Baulig  <baulig@suse.de>
4646
4647         Several minor ANSI C fixes.
4648
4649         Added missing casts:
4650         * gdate.c (g_date_fill_parse_tokens): `s = (guchar *) str'.
4651         * gmain.c (g_idle_dispatch): `func = (GSourceFunc) source_data'.
4652         (g_idle_add_full): `(gpointer) function' in call to g_source_add().
4653         * gstrfuncs.c (g_strdown): `s = (guchar *) string' and
4654         `return (gchar *) string'.
4655         (g_strup): Likewise.
4656         (g_strchug): `start = (guchar*) string' in 1st for() argument;
4657         `strlen ((gchar *) start)' in call to g_memmove().
4658         * gstring.c (g_string_down): `s = (guchar *) string->str'.
4659         (g_string_up): Likewise.
4660         * gthreadpool.c (stop_this_thread_marker):
4661         `(gpointer) &g_thread_pool_new'.
4662         * gunidecomp.h (decomp_table[]): Cast all the strings to
4663         `unsigned char *'.
4664
4665         Put text following #endif into comments:
4666         * gmain.c: here.
4667
4668 2000-09-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4669
4670         * configure.in, glib.h: Added errorcheck mutexes. These are
4671         activated through the preprocessor symbol
4672         G_ERRORCHECK_MUTEXES. Need to add an extra word to StaticMutex in
4673         order to achieve this. g_(static_)mutex_* functions instrument the
4674         mutex operations with mutex name and location, when compiled with
4675         -DG_ERRORCHECK_MUTEXES. g_thread_init activates the errorcheck
4676         mutexes, when compiled with -DG_ERRORCHECK_MUTEXES.
4677
4678 2000-09-28  Havoc Pennington  <hp@pobox.com>
4679
4680         * glib.h (GThreadPriority): fix indentation
4681         (GConvertError): generic error is conventionally called
4682         _FAILED rather than _OTHER, at least at the moment, 
4683         according to GError docs in docs/reference.
4684
4685         * gconvert.c: s/_OTHER/_FAILED/
4686
4687 2000-09-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4688
4689         * configure.in: Adjusted the test for an unimplemented
4690          getpwuid_r. Info from Michael Pruett. This is just a forward
4691          merge from glib-1-2.
4692
4693         * configure.in: Moved determination of G_THREAD_FLAGS before
4694         G_THREAD_LIBS. Check for UnixWare systems and set the right cflags
4695         and libs there (it needs -Kthread for the native compiler and
4696         -pthread for gcc). Thanks to Boyd Lynn Gerber <gerberb@zenez.com>
4697         for the info.
4698
4699         * configure.in: Fail immediately, when no thread library is found,
4700         instead of continuing searching for rt libs etc. Changed almost
4701         all occurances of $enable_threads to $have_threads, as that's,
4702         what we want.
4703
4704         * tests/threadpool-test.c: Define vars inside the guard to avoid
4705         warnings.
4706
4707         * configure.in, tests/type-test.c: Some platforms support 64 bit
4708         'long long', but you can not printf or scanf them. In that case,
4709         don't define G_G{UINT|INT}64_FORMAT. Changed the type-test program
4710         to reflect that.
4711
4712         * gutils.c (g_get_current_dir): max_len can't be initialized
4713         statically as it might call a function. So do it at first call.
4714
4715 Tue Sep 26 2000 Elliot Lee <sopwith@redhat.com>
4716
4717         * glib.h: Add G_GNUC_PURE macro (but don't use it anywhere).
4718
4719 Mon Sep 25 2000 Elliot Lee <sopwith@redhat.com>
4720
4721         * garray.c, glib.h, gmem.c: Add a few missing G_GNUC_CONST's.
4722
4723 2000-09-21  Tor Lillqvist  <tml@iki.fi>
4724
4725         * makefile.mingw.in: Add gconvert.o. Use libiconv.
4726
4727         * config.h.win32.in: Define HAVE_GETCWD.
4728
4729         * glib.def: Add new entry points.
4730
4731 2000-09-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4732
4733         * configure.in: The last released automake (1.4) still requires
4734         AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL, so use that for the
4735         time being.
4736
4737 2000-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4738
4739         * acconfig.h, configure.in, gutils.c: Test for the existence of
4740         getcwd, and use it only when found.
4741
4742         * glib.h: Only use the gcc-variable-macro-argument-extension for
4743         gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.
4744
4745 Mon Sep 18 10:58:21 2000  Owen Taylor  <otaylor@redhat.com>
4746
4747         * gutf8.c: Implement g_ucs4_to_utf8 which was in
4748         the header file but not implemented.
4749
4750 Sun Sep 17 2000 Elliot Lee <sopwith@redhat.com>
4751
4752         * glib.h configure.in: Define g_alloca() as an
4753         alloca-that-works-anywhere.
4754
4755         * gconvert.c: Fix warnings which could have caused problems on
4756         64-bit platforms.
4757
4758 Sun Sep 10 12:37:40 2000  Owen Taylor  <otaylor@redhat.com>
4759
4760         * glib.h gconvert.c (g_convert): Havoc Pennington's implementation 
4761         of convenient character set conversion using iconv, with
4762         the addition of GError. We probably need a fallback that
4763         just does conversions between, say UTF-8,16,32 and ISO-8859-1
4764         for targets without iconv at all.
4765
4766         Also add g_convert_with_fallback() to take care of conversions 
4767         where we accept some loss going to the target encoding.
4768
4769 2000-09-10  Havoc Pennington  <hp@redhat.com>
4770
4771         * gutf8.c (g_utf8_validate): Add this function.
4772
4773 Sat Sep  9 18:50:42 2000  Owen Taylor  <otaylor@redhat.com>
4774
4775         * gstrfuncs.c (g_strescape): Add a missing g_return_if_fail().
4776
4777 Mon Aug 21 03:57:46 2000  Tim Janik  <timj@gtk.org>
4778
4779         * glib.h (G_BREAKPOINT): for non-i386 and non-alpha, or non gcc,
4780         implement BREAKPOINT() as raise (5 /* SIGTRAP */);
4781
4782         * glib.h: provide user-definable switch G_IMPLEMENT_INLINES,
4783         to turn on compilation of inline function implementations provided
4784         in header files with extern linkage.
4785         wrap inline function implementations into ifdef __G_UTILS_C__, so we
4786         really only compile them for gutils.c and not also into arbitrary user
4787         code that wants to make use of G_IMPLEMENT_INLINES.
4788         adjusted comment apropriately.
4789
4790         * gutils.c: to turn on compilation of inline functions, provide
4791         #define G_IMPLEMENT_INLINES 1 and #define __G_UTILS_C__.
4792
4793 2000-09-06  Havoc Pennington  <hp@redhat.com>
4794
4795         * gerror.c: docs
4796
4797         * docs/reference/glib/tmpl/error_reporting.sgml: docs
4798
4799 Wed Sep  6 10:28:34 2000  Owen Taylor  <otaylor@redhat.com>
4800
4801         * guniprop.c gunicode.h gutf8.c: Some inline docs fixes.
4802
4803 2000-09-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4804
4805         * glib.h, gtimer.c, tests/thread-test.c:
4806         s/G_MICROSEC/G_USEC_PER_SEC/
4807
4808         * glib.h: Removed G_G{U}{SHORT|INT|LONG}_FORMAT from glib.h, as
4809         they are really superfluous.
4810
4811 Tue Sep  5 20:16:27 2000  Owen Taylor  <otaylor@redhat.com>
4812
4813         * configure.in docs/Makefile.am: Add gtk-doc checks
4814         for newly added docs/reference/ subdir.
4815
4816 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4817
4818         * gthread.c (g_thread_error_quark): Don't use a G_LOCK, as it
4819         isn't necessary.
4820
4821 2000-09-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4822
4823         * gstring.c (g_string_free): Use g_return_val_if_fail instead of
4824         g_return_if_fail, as the function now is supposed to return
4825         something.
4826
4827         * gerror.c, gerror.h (g_propagte_error): Added function
4828         g_propagte_error to hand over local errors to the calling
4829         function.
4830
4831         * glib.h: Include gerror.h before it is used for some g_thread_*
4832         functions.
4833
4834         * gthread.c, gthreadpool.c, glib.h: Enable error reporting for
4835         thread creation, namely for g_thread_create, g_thread_pool_new,
4836         g_thread_pool_push and g_thread_pool_set_max_threads.
4837
4838         * tests/thread-test.c, tests/threadpool-test.c: Adapted
4839         accordingly.
4840
4841 2000-08-31  Tor Lillqvist  <tml@iki.fi>
4842
4843         * glib.h
4844         * glib.def
4845         * giowin32.c (g_io_channel_win32_make_pollfd): New function, to
4846         make a GPollFD from a GIOChannel. Creates the events and starts
4847         the reader thread if necessary.
4848
4849         * glib.h
4850         * giowin32.c (g_io_channel_win32_poll): No use for separate
4851         condition parameter.
4852
4853         * gmain.c (g_get_current_time): (Win32): Simplify, use
4854         GetSystemTimeAsFileTime().
4855
4856 2000-08-27  Tor Lillqvist  <tml@iki.fi>
4857
4858         * giowin32.c (g_io_channel_win32_poll): New function, otherwise
4859         like g_io_channel_win32_wait_for_condition(), but accept several
4860         GPollFDs.
4861         (g_io_channel_win32_wait_for_condition): Call
4862         g_io_channel_win32_poll().
4863
4864         * glib.h: Declare g_io_channel_win32_poll().
4865
4866         * gwin32.c (g_win32_error_message): Don't believe return value
4867         from FormatMessage.
4868
4869 2000-08-25 Elliot Lee <sopwith@redhat.com>
4870
4871         * glib.h, gunicode.h, gmodule/gmodule.h:
4872         Mark the following functions G_GNUC_CONST (to allow optimization)
4873         because their results are a function of only their parameters: 
4874         g_int_hash, g_int_equal, g_direct_hash, g_direct_equal,
4875         g_quark_to_string, g_date_is_leap_year, g_date_days_in_month,
4876         g_date_monday_weeks_in_year, g_date_sunday_weeks_in_year,
4877         g_spaced_primes_closest, g_unichar_is*, g_unichar_to*,
4878         g_unichar_*digit_value, g_unichar_type
4879
4880 2000-08-21 Elliot Lee <sopwith@redhat.com>
4881
4882         * gobject/Makefile.am, gobject/gobject-query.c,
4883         gobject/gparamspecs.c: Fix inclusion of config.h
4884
4885 Mon Aug 21 14:46:23 2000  Owen Taylor  <otaylor@redhat.com>
4886
4887         * tests/gio-test.c: Fix a couple of trivial bugs that
4888         were causing warnings.
4889
4890 Mon Aug 21 14:39:36 2000  Owen Taylor  <otaylor@redhat.com>
4891
4892         * glib.h: Use C99 varargs macros where possible 
4893         (check __STDC_VERSION__), otherwise, on gcc, use an alternate 
4894         form of gcc varargs which is more likely
4895         to be supported going forward. (Based on some code
4896         from Raja Harinath)
4897
4898 2000-08-17  Darin Adler  <darin@eazel.com>
4899
4900         * glib.h:
4901         * garray.c: (g_array_free), (g_ptr_array_free),
4902         (g_byte_array_free): Return the data left behind.
4903         * gstring.c: (g_string_free): Return the data left behind.
4904
4905         Changed the free calls that leave data behind so they
4906         return a pointer to the left-behind data, NULL if told not
4907         to leave anything behind. This makes these calls easier
4908         to use correctly, without any incompatible API change for
4909         callers that don't know about the return value. Of course,
4910         it would be even clearer if the free calls weren't dual-purpose
4911         in the first place.
4912
4913 2000-08-12  Tor Lillqvist  <tml@iki.fi>
4914
4915         * giowin32.c: Some indentation and spacing fixes. Add some more
4916         logging.
4917         (g_io_win32_add_watch): New function, with common code from
4918         g_io_win32_fd_add_watch and g_io_win32_sock_add_watch. Don't start
4919         more than one reader thread for a GIOChannel. We should obviously
4920         have just one reader thread reading a file descriptor or socket.
4921
4922 2000-08-10  Havoc Pennington  <hp@redhat.com>
4923
4924         * gthread-2.0.pc.in (Cflags): don't duplicate glib Cflags
4925
4926         * gmodule-2.0.pc.in (Cflags): don't duplicate glib Cflags
4927
4928         * gobject-2.0.pc.in (Cflags): don't duplicate Cflags from glib
4929         itself
4930
4931 2000-08-10  Havoc Pennington  <hp@redhat.com>
4932
4933         * glib-2.0.pc.in (Cflags): Look in glib-2.0/include for
4934         glibconfig.h
4935
4936 2000-08-07  Tor Lillqvist  <tml@iki.fi>
4937
4938         * tests/gio-test.c (shutdown_source): New function, that calls
4939         g_source_remove(). Check return value of g_source_remove(), and
4940         decrement running subprocess counter only if g_source_remove()
4941         actually did remove the source.
4942
4943         (recv_message): Call shutdown_source() on EOF condition. Return
4944         FALSE on G_IO_HUP and G_IO_ERR condition. Fix printf format typo.
4945
4946 Sun Aug  6 20:06:02 2000  Tim Janik  <timj@gtk.org>
4947
4948         * gmessages.c (g_log_domain_check_free): keep *last updated while
4949         running through the domain list, so we don't screw up the removal,
4950         patch provided by Gady Kozma <gadykozma@hotmail.com>.
4951
4952 Sun Aug  6 20:03:41 2000  Tim Janik  <timj@gtk.org>
4953
4954         * gmessages.c (g_log_remove_handler): keep *last updated while running
4955         through the handler list, so we don't screw up the removal.
4956
4957 Sun Jul 30 16:54:13 2000  Owen Taylor  <otaylor@redhat.com>
4958
4959         * gunicode.h: Fix stray character
4960
4961         * gutf8.c (g_unichar_to_utf8): Allow outbuf to be NULL, in
4962         which case we just compute the length.
4963
4964 2000-07-31  Havoc Pennington  <hp@redhat.com>
4965
4966         * Makefile.am (EXTRA_DIST): forgot to add .pc.in to EXTRA_DIST
4967
4968 2000-07-31  Havoc Pennington  <hp@redhat.com>
4969
4970         * glib-2.0.pc.in, gobject-2.0.pc.in, gmodule-2.0.pc.in,
4971         gobject-2.0.pc.in: pkg-config data files         
4972
4973         * Makefile.am: Install/dist the .pc files
4974
4975         * configure.in: Output the .pc files
4976
4977 2000-07-31  Tor Lillqvist  <tml@iki.fi>
4978
4979         * giowin32.c (buffer_read): The code didn't compile (must
4980         have been sleepy when committing). "return" instead of "break"
4981
4982         (g_io_win32_fd_add_watch): Cannot check if the file descriptor is
4983         readable by calling ReadFile to read zero bytes. ReadFile blocks
4984         on NT even if trying to read nothing at all. So, don't check if
4985         file descriptor is readable; assume this function isn't called
4986         otherwise.
4987
4988 Sun Jul 30 10:44:16 2000  Tim Janik  <timj@gtk.org>
4989
4990         * gmain.c (g_get_current_time): fix tor's recent changes which
4991         got rid of a required variable in the non-windows path.
4992
4993 2000-07-30  Tor Lillqvist  <tml@iki.fi>
4994
4995         Finally, a new and improved IO Channel and condition watch
4996         implementation for Win32. Based on code provided by Craig Setera.
4997
4998         When watching file descriptors, for which there is no select()
4999         like functionality on Win32 that would work on all Win32 platforms
5000         for all types of file descriptors (including anonymous pipes), we
5001         start a new thread that blocks while trying to read from the file
5002         descriptor. When the read returns, a Win32 Event is signalled that
5003         the polling routine eventually notices. Meanwhile, the data being
5004         read is stored in a circular buffer, from where the IO channel's
5005         read() method picks it up.
5006
5007         If the buffer fills up the reading thread has to wait for space
5008         becoming available. For this another Win32 Event is used. The IO
5009         Channel's read() method signals this when it has read some data
5010         out of the buffer.
5011
5012         The separate reader thread(s), and the circular buffer(s) with
5013         associated events mean lots of possibilities for fun parallelism
5014         errors. But it seems to work OK, i.e. GIMP runs.
5015
5016         * gmain.c: Small changes to the Win32 polling function.
5017         (g_main_win32_get_poll_func): New function. Perhaps it would be a
5018         good idea to provide this on all platforms.
5019
5020         * giowin32.c: The bulk of the new implementation.
5021         (g_io_channel_win32_wait_for_condition): New function. To be used
5022         where on Unix one does a select() on the channel's fd, like
5023         libgimp's gimp_extension_process(). Could be provided on all
5024         platforms.
5025
5026         * glib.h: Update documentation for IO Channels on Win32. Remove
5027         the declarations for the as of now obsolete old functions related
5028         to IO Channels for pipes with "wakeup" messages.
5029
5030         * glib.def: Some new functions.
5031
5032         * tests/gio-test.c: New file, to test GIOChannel and main loop.
5033
5034         * tests/Makefile.am
5035         * tests/makefile.mingw.in: Add it.
5036
5037         (Later the same night:)
5038
5039         * giowin32.c: Compile in the debugging code all the time, but only
5040         output debug messages if told so. Add (unadvertised) function to
5041         turn on/off debug messages for a channel.
5042
5043         (buffer_read): Don't loop. It is expected behaviour to return a
5044         short read occasionally, for instance when reading from
5045         pipes. It's the calling code that should loop if it *knows* how
5046         much the writer has written.
5047
5048         * tests/gio-test.c: Correct the program's name in the output.
5049         (recv_message): Loop calling g_io_channel_read() (in a new
5050         function read_all()) until we have all the bytes we want (that we
5051         know the writer has written/will write).
5052
5053 Thu Jul 27 05:15:11 2000  Tim Janik  <timj@gtk.org>
5054
5055         * gstrfuncs.c (g_strlcpy, g_strlcat): completed tor's fix
5056         to cover both #ifdef branches.
5057
5058 2000-07-26  Tor Lillqvist  <tml@iki.fi>
5059
5060         * gstrfuncs.c (g_strlcpy, g_strlcat): Return 0 on error, not NULL.
5061
5062         * glib.def: Add g_strlcpy, g_strlcat.
5063
5064         * glibconfig.h.win32.in: Add gsize and gssize.
5065
5066 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
5067
5068         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
5069         updates the license headers to the GNU Lesser General Public License,
5070         as well as updating the copyright year to 2000.
5071
5072 Wed Jul 26 05:47:48 2000  Tim Janik  <timj@gtk.org>
5073
5074         * configure.in:
5075         * testglib.c:
5076         * gstrfuncs.c:
5077         * glib.h: added g_strlcat() and g_strlcpy() wrappers, supplied by
5078         David Wheeler <dwheeler@ida.org>:
5079
5080         * glib.h, gstrfuncs.c: added g_strlcpy and g_strlcat to support
5081           safe manipulation of fixed-length string buffers.
5082           These functions were originally developed by Todd Miller to simplify
5083           development of security-related programs, and
5084           are available on many (but not all) Unix-like systems,
5085           including OpenBSD, FreeBSD, and Solaris.  See
5086           ftp://ftp.openbsd.org/pub/OpenBSD/src/lib/libc/string/strlcpy.3
5087           and http://www.openbsd.org/security.html.
5088           If there's a strlcpy/strlcat on the system, it's called, otherwise
5089           an implementation is provided.
5090
5091         * testglib.c: Added tests for g_strlcpy, g_strlcat.
5092
5093 Wed Jul 26 05:03:24 2000  Tim Janik  <timj@gtk.org>
5094
5095         * acglib.m4 (GLIB_SIZEOF): include <stdlib.h> and <stddef.h> if
5096         STDC_HEADERS is defined.
5097
5098         * glib.h:
5099         * glibconfig.h: define gsize and gssize in terms of GLIB_SIZEOF_SIZE_T
5100
5101         * glib.h (g_return_if_reached): applied darin's fix for copy'n
5102         paste error in the macro implementation.
5103
5104 Wed Jul 26 00:46:03 2000  Tim Janik  <timj@gtk.org>
5105
5106         * glib.h: applied patch from Darin Adler <darin@eazel.com> which
5107         supplies g_return_if_reached(), g_return_val_if_reached() and
5108         g_critical().
5109
5110 2000-07-22  Tor Lillqvist  <tml@iki.fi>
5111
5112         * build-dll: Fix resource handling, the resource file got left out
5113         from the DLL after all... Remove the WIN32APIHEADERS, not needed
5114         with current windres.
5115
5116         * glib.def: Add new functions.
5117
5118 2000-07-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5119
5120         * gutils.c, glib.h: Mark the functions g_basename and g_dirname
5121         deprecated. They will issue an warning once, when compiled with
5122         G_ENABLE_DEBUG, but continue to work as before. Instead the
5123         functions g_path_get_basename and g_path_get_dirname should be
5124         used, which BOTH return newly allocated memory, that has to freed
5125         by g_free. The new g_path_get_basename now strips trailing slashes
5126         from the path. This fixes #5097. For discussion see
5127         http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
5128
5129         * gwin32.c, testglib.c, tests/dirname-test.c: Use the new
5130         functions instead of the old ones.
5131
5132         * ghash.c, gscanner.c, glib.h: Mark the functions
5133         g_hash_table_freeze, g_hash_table_thaw and thus
5134         g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table
5135         deprecated. They will issue an warning once, when compiled with
5136         G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see
5137         http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
5138
5139 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5140
5141         * configure.in, glib.h: glibconfig.h and glib.h now include files
5142         outside of the extern "C" block. Makes some C++ compiler
5143         happy. Reported by Denis Vakatov <vakatov@peony.nlm.nih.gov>.
5144
5145 Sat Jul 15 23:49:03 2000  Owen Taylor  <otaylor@redhat.com>
5146
5147         * glib/glib.texi: Remove incomplete start of info file -
5148         real docs are in RDP.   
5149
5150 Sat Jul 15 22:44:22 2000  Owen Taylor  <otaylor@redhat.com>
5151
5152         * configure.in: Add build/Makefile and 
5153         build/win32/Makefile to AC_OUTPUT() so things build
5154         again.
5155
5156 Sat Jul 15 09:11:46 2000  Tim Janik  <timj@gtk.org>
5157
5158         * gstrfuncs.c (g_strncasecmp): fixed an off by 0 error (yeah,
5159         the function went off when the while (n--) loop failed due to
5160         n==0 ;), reported by Jean-Louis HAMEL <jlhamel@club-internet.fr>.
5161
5162 2000-07-15  Tor Lillqvist  <tml@iki.fi>
5163
5164         * Makefile.am (SUBDIRS): Include the "build" module in GLib, too,
5165         to make it more self-contained. If your CVS client doesn't
5166         automatically get it, do a cvs get build in glib.
5167
5168         * */makefile.mingw.in: Include make.mingw from build in the glib
5169         source directory.
5170
5171 Fri Jul 14 16:26:35 2000  Owen Taylor  <otaylor@redhat.com>
5172
5173         * Release 1.3.1
5174
5175 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
5176
5177         * configure.in Makefile.am glib-config.m4 glib.m4: Move
5178         glib-config to glib-config-2.0 move glib.m4 to
5179         glib-2.0.m4
5180
5181         * Makefile.am gobject/Makefile.am gmodule/Makefile.am
5182         gthread/Makefile.am tests/Makefile.am: Change 
5183         library names to libglib-1.3.la, etc, so that we
5184         can distinguish glib-1.2 and glib-2.0 on the linkline.
5185
5186         * Makefile.am gobject/Makefile.am gmodule/Makefile.am:
5187         Move include files into /usr/include/glib-2.0.
5188
5189 Thu Jul  6 18:54:49 2000  Owen Taylor  <otaylor@redhat.com>
5190
5191         * docs/Makefile.am (EXTRA_DIST): Remove info files
5192         from the build.
5193
5194 2000-07-14  Tor Lillqvist  <tml@iki.fi>
5195
5196         * glib.def: Add g_error functions.
5197
5198         * makefile.mingw.in: Add gbacktrace.o.
5199
5200         * gbacktrace.c: No need to include <process.h>.
5201
5202 2000-07-12  Havoc Pennington  <hp@redhat.com>
5203
5204         * glib.h: #include <gerror.h>
5205
5206         * Makefile.am (include_HEADERS): Add gerror.h
5207         (libglib_la_SOURCES): Add gbacktrace.c
5208
5209         * gbacktrace.c: Move g_on_error_query() in here (moved on the 
5210         server, so history is preserved)
5211
5212         * gerror.h: GError interface
5213
5214         * gerror.c: GError implementation replaces stuff that's now in 
5215         gbacktrace.c
5216
5217 Sun Jul  9 21:20:45 2000  Owen Taylor  <otaylor@redhat.com>
5218
5219         * gunicode.h: Include stddef.h instead of stdlib.h
5220
5221 2000-07-08  Tor Lillqvist  <tml@iki.fi>
5222
5223         * glib.h (GLIB_VAR): Rename the GUTILS_C_VAR macro to GLIB_VAR.
5224
5225         * gunicode.h: Mark the g_utf8_skip array with GLIB_VAR.
5226
5227         * glib.def: Add two missing entry points.
5228
5229 Thu Jul  6 15:35:28 2000  Owen Taylor  <otaylor@redhat.com>
5230
5231         * Release 1.3.1
5232
5233         * Makefile.am (EXTRA_DIST): Dist fixes.
5234
5235         * configure.in: Moderate the warnings just a little bit.
5236
5237 2000-07-05  Tor Lillqvist  <tml@iki.fi>
5238
5239         * README.win32: Update.
5240
5241 Mon Jul  3 17:58:02 2000  Owen Taylor  <otaylor@redhat.com>
5242
5243         * gutf8.c (g_utf8_get_charset_internal): Fix up
5244         to correspond to configure.in checks.
5245
5246 Mon Jul  3 17:18:19 2000  Owen Taylor  <otaylor@redhat.com>
5247
5248         * glib.h: Comment g_get_codeset() out of the header file
5249         temporarily. (Very similar to g_get_charset(), need
5250         to resolve the two.)
5251
5252 2000-07-01  Tor Lillqvist  <tml@iki.fi>
5253
5254         * glib.def: Add new entry points.
5255
5256         * makefile.{mingw,msc}.in: Add the new Unicode object files.
5257
5258 Thu Jun 29 15:57:28 2000  Owen Taylor  <otaylor@redhat.com>
5259
5260         * NEWS: updated
5261
5262         * Makefile.am: added snapcheck target to go along with snapshot
5263
5264         * gstring.c glib.h (g_string_hash): Add g_string_hash to 
5265         go along with g_string_equal.
5266
5267 Tue Jun 27 12:40:23 EDT 2000  David A. Wheeler <dwheeler@dwheeler.com>
5268
5269         * glib.h: Added g_string_equal for comparing GStrings;
5270         changed g_str_equal so it returns gboolean (instead of gint).
5271
5272         * gstring.c: Modified GString implementation to support embedded
5273         ASCII NUL ('\0') characters, and implemented g_string_equal.
5274
5275         * testglib.c tests/string-test.c: Added tests for g_string_equal
5276         and tests for proper handling of embedded ASCII NUL characters.
5277
5278 Wed Jun 28 22:52:00 2000  Owen Taylor  <otaylor@redhat.com>
5279
5280         * Makefile.am (libglib_la_SOURCES): Fix
5281         gunichartable.h => gunichartables.h. (From Eric Limings)
5282
5283 Fri Jun 23 17:20:26 2000  Tim Janik  <timj@gtk.org>
5284
5285         * glib.h: define gstring in terms of gchar*. this typedef reflects
5286         the type name of the primitive G_TYPE_STRING in the gobject module.
5287
5288 Wed Jun 21 12:09:03 2000  Owen Taylor  <otaylor@redhat.com>
5289
5290         * gunicode.h gutf8.c guniprop.c gunidecomp.[ch] gunichartables.h
5291         Makefile.am glib.h: Initial pass at adding unicode support
5292         functions. A few things still need to be implemented, a bit
5293         of cleanup needs to be done, tests need to be added, and 
5294         the docs need to be finished, but this should allow replacing
5295         most or all use of libunicode.
5296
5297 2000-06-06  Tor Lillqvist  <tml@iki.fi>
5298
5299         * giowin32.c (g_io_channel_win32_pipe_readable): If we are
5300         watching the same pipe for different conditions (with different
5301         callbacks), check them all. Only call the callback for G_IO_IN
5302         from here. (This bug popped up when a watch for G_IO_ERR|G_IO_HUP
5303         was added to gimplib.)
5304
5305 2000-05-30  Tor Lillqvist  <tml@iki.fi>
5306
5307         * gutils.c (g_locale_get_codeset): Implement on Win32.
5308
5309         * glib.def: Add g_get_codeset.
5310
5311         * tests/Makefile.am (EXTRA_DIST): makefile.cygwin* has been
5312         renamed to makefile.mingw*.
5313
5314 Tue May 30 16:01:32 2000  Owen Taylor  <otaylor@redhat.com>
5315
5316         * glib.h gutils.c: Move the g_locale_get_codeset() up in the 
5317         header file to correspond to to comments about memory
5318         management. Rename to g_get_codeset() to avoid 
5319         polluting the g_locale_* namespace, which probably
5320         would have g_locale_get_codeset (GLocale *locale).
5321         Add a doc comment.
5322
5323 Mon May 29 14:10:35 2000  Owen Taylor  <otaylor@redhat.com>
5324
5325         * gutils.c (g_locale_get_codeset): Add function to get the 
5326         codeset name for the current locale.
5327
5328         * configure.in acconfig.h: Add check for nl_langinfo(CODESET);
5329
5330 Fri May 19 11:39:29 2000  Tim Janik  <timj@gtk.org>
5331
5332         * gutils.c (g_snprintf):
5333         (g_vsnprintf): added argument assertments.
5334
5335         * gstring.c (g_string_assign): added argument assertments.
5336         (g_string_truncate): make len a guint.
5337
5338 Fri May 19 09:00:44 2000  Tim Janik  <timj@gtk.org>
5339
5340         * gmem.c (g_free): fixed SIZEOF_LONG==4 assumption with
5341         ENABLE_MEM_CHECK, from Art Haas <ahaas@neosoft.com>.
5342
5343         * gslist.c (g_slist_reverse): shut up compiler.
5344
5345         * gscanner.c (g_scanner_get_token_ll): removed inline assignment.
5346
5347         * garray.c: remove index>=0 checks for unsigned indices.
5348
5349         * gmain.c (g_idle_prepare): timeout assignment fix.
5350
5351         * gtree.c (g_tree_node_rotate_right): shut up compiler.
5352
5353 2000-05-13  Tor Lillqvist  <tml@iki.fi>
5354
5355         * makefile.mingw.in
5356         * tests/makefile.mingw.in
5357         * build-dll: Rename makefile.cygwin(.in) to
5358         makefile.mingw(.in), which better describes what it is. Move the
5359         build of gmodule, gthread and gobject DLLs to makefiles in those
5360         directories. Move resource file handling and build number bump to
5361         build-dll, where it sits much cleaner.
5362
5363         * README.win32
5364         * Makefile.am (EXTRA_DIST): Update accordingly.
5365
5366         * glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
5367         G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
5368         implementations.
5369
5370         * glib.def: Add g_strcanon.
5371
5372         * gtree.c (g_tree_node_rotate_left): Remove unused variables.
5373
5374         * gwin32.c (g_win32_opendir): Remove unneeded statement.
5375
5376 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
5377
5378         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
5379         broken and require an empty arg, give it to them.
5380
5381 Fri Apr 28 23:54:35 2000  Tim Janik  <timj@gtk.org>
5382
5383         * setup things for a new sub-library libgobject:
5384
5385         * Makefile.am (SUBDIRS): added gobject
5386
5387         * glib-config.in: feature -lgobject.
5388
5389         * configure.in (AC_OUTPUT): generate gobject/Makefile.
5390
5391         * glib.m4 (AM_PATH_GLIB): feature gobject module.
5392
5393         * glib.spec.in: added %{prefix}/lib/libgobject-1.3.so.*
5394
5395 Fri Apr 28 21:41:49 2000  Tim Janik  <timj@gtk.org>
5396
5397         * glib.h: added G_STRLOC macro.
5398         G_STRUCT_OFFSET(): signedness corrections.
5399         (G_CSET_DIGITS): list 0-9.
5400         * gscanner.c (g_scanner_config_template): use G_CSET_DIGITS.
5401
5402         * glib.h: 
5403         * gstrfuncs.c:
5404         (g_strdown):
5405         (g_strup):
5406         (g_strreverse): return the modified string instead of void, so
5407         calls to these functions can be nested.
5408         (g_strcanon): new function, canonicalizes string according to
5409         a given character set.
5410
5411 Fri Apr 28 19:45:16 2000  Tim Janik  <timj@gtk.org>
5412
5413         * gasyncqueue.c (g_async_queue_unref): get rid of an unused variable.
5414
5415 Wed May 10 19:52:44 2000  Owen Taylor  <otaylor@redhat.com>
5416
5417         * glib.m4: Print found version when test succeeds.
5418
5419 2000-05-04  Tor Lillqvist  <tml@iki.fi>
5420
5421         * makefile.cygwin.in
5422         * tests/makefile.cygwin.in: Include the common makefile snippet
5423         from ../build/win32.
5424
5425         Maybe CVSROOT/modules should be changed so that the 'build' module
5426         is included within the glib module (and gtk+, and gimp, and maybe
5427         others later), in the same way as the 'macros' module is included
5428         in lots of GNOME CVS modules?
5429
5430 2000-05-02  Tor Lillqvist  <tml@iki.fi>
5431
5432         * glib.def: Add new functions.
5433
5434         * makefile.{cygwin,msc}.in (glib_OBJECTS): Add new object files.
5435
5436         * tests/makefile.{cygwin,msc}.in: Add threadpool-test.
5437
5438 2000-04-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5439
5440         * gasyncqueue.c: New File implementing an asynchronous queue to be
5441         used for asynchronous inter-thread communication.
5442
5443         * gthreadpool.c: New File implementing a thread pool to be used
5444         for distributing work among several threads. 
5445
5446         * glib.h: Added the type and function declarations for these two
5447         types.
5448
5449         * tests/threadpool-test.c: New File implementing a test for the
5450         thread pool. This also checks the asynchronous queue underlying
5451         the thread pool.
5452
5453         * tests/Makefile.am: Changed accordingly.
5454
5455 2000-04-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5456
5457         * configure.in: Look for both pthread_create and pthread_join in
5458         the thread library. Some systems define one of them, but not both
5459         in libc. Arghh. Now we really start a thread and join it later and
5460         check, whether the thread to actually ran.
5461
5462         * glib.h, gcache.c, gtree.c: Changed the 'value' parameter of
5463         g_cache_remove from gpointer to gconstpointer. Dito for the 'key'
5464         parameter of g_tree_lookup and g_tree_remove and the 'data'
5465         parameter of g_tree_search. This function now takes a function of
5466         type GCompareFunc instead of GSearchFunc. This fixes Bug
5467         #8267. Thanks to Juan Toledo <toledo@users.sourceforge.net> for
5468         pointing that out.
5469
5470         * glib.h: Removed declaration of GSearchFunc.
5471
5472         * gmem.c: s/GSearchFunc/GCompareFunc/.
5473
5474 2000-04-19  Tor Lillqvist  <tml@iki.fi>
5475
5476         * glib.def: Update entry point list.
5477
5478 2000-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5479
5480         * glib.h (G_TRYLOCK): Made the debugging G_TRYLOCK call also work
5481         for compilers with funny G_STMT_(START|END) macros.
5482
5483         * tests/thread-test.c: Implemented a check for that.
5484
5485         * gutils.c (g_getenv): Changed the win32 part of this function to
5486         be thread safe and to make the returned environment string
5487         persistent to match the UN*X behavior. This is again a response to
5488         Bug #8983.
5489
5490         * glib.h (G_LOCK_NAME): Removed parentheses around the lock name,
5491         as that seems to cause problems for some compilers and really
5492         isn't necessary.
5493
5494 Wed Apr 19 08:32:32 2000  Tim Janik  <timj@gtk.org>
5495
5496         * gscanner.c (g_scanner_new): make sure that
5497         scanner->config->cset_skip_characters is "" instead of NULL, so we
5498         don't segfault further on.
5499
5500 2000-04-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5501
5502         * glib.h, glist.h, gslist.h: Changed the 'data' parameters from
5503         gpointer to gconstpointer for the functions
5504         g_(list|slist)_(remove|find|find_custom|index), as they do not
5505         change this parameter. This fixes bug #4836.
5506
5507         * glib.h: Changed comment for g_getenv to reflect, that the
5508         returned memory must not be freed. Fixes bug #8983.
5509
5510 2000-04-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5511
5512         * configure.in, acconfig.h: Add configure test for garbage
5513         collector friendliness for GLib. If enabled, ENABLE_GC_FRIENDLY
5514         will be defined.
5515
5516         * garray.c, ghash.c, glist.c, gmain.c, gmem.c, gnode.c, gqueue.c,
5517         gslist.c, gtree.c: If ENABLE_GC_FRIENDLY is defined, NULLify all
5518         memory released by the user, but cached by GLib. This lets a
5519         garbage collector have a more correct view of the actually used
5520         memory.
5521
5522         * garray.c, glib.h: Added g_(array|ptr_array|byte_array)_sized_new
5523         functions, that reserve a certain amount of memeory for the array
5524         at creation time to avoid reallocation. Fixes bug #6707 from
5525         Charles Kerr <ckerr@osserver1.nssl.noaa.gov>.
5526
5527         * glib.h, gqueue.c, tests/queue-test.c (main): Renamed
5528         g_queue_create to g_queue_new in conformance to all other GLib
5529         data types.
5530
5531 2000-04-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5532
5533         * grand.c (g_rand_new): Fixed bug. Thanks to Marko Kreen
5534         <marko@l-t.ee> for reporting that.
5535
5536 2000-03-26  Tor Lillqvist  <tml@iki.fi>
5537
5538         * README.win32: Tell about using the mingw-based gcc, which is
5539         much easier than modifying the cygwin gcc to product mingw code
5540         for the msvcrt runtime.
5541
5542         * makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
5543         with a "pure" mingw gcc, too.
5544
5545 2000-03-24  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5546
5547         * garray.c: Made GArray behave correctly. Now zero_terminated
5548         really means, that the element array->data[array->len] exists and
5549         is zeroed, and clear means that any unassigned elements obtained
5550         through g_array_set_size (the only way to get unassigned elements
5551         AFAICT) are zeroed. Added some macros to make the code more
5552         obvoius. Also made GPtrArray zero elements after
5553         g_ptr_array_set_size. This is done in a portbale way (assignment
5554         of NULL instead of just memsetting it to zero), though that might
5555         be more portability than we actually want.
5556
5557         * Makefile.am, gthread/Makefile.am, gmodule/Makefile.am,
5558         tests/Makefile.am: Added various win32 related *.in files to
5559         EXTRA_DIST to let 'make distcheck' procude all the corresponding
5560         files, which it silently fails to do currently.
5561
5562 2000-03-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5563
5564         * configure.in: After finding the right thread library (containing
5565         e.g. pthread_create) we now search for the right realtime library
5566         (containing e.g. sched_get_priority_max). Makes the output of the
5567         thread related libraries correct. 
5568
5569         * gtimer.c (g_usleep): The current implementation of g_usleep
5570         (simply calling select) doesn't work reliable for multi-threaded
5571         programs on some platforms (bad omen for the main loop....), so I
5572         changed the implementation for thread-using programs to wait for a
5573         GCond for the specified amount of time (NB: sleep and usleep are
5574         not MT-safe in general, because they often use signals).
5575
5576 Wed Mar 22 16:49:57 2000  Owen Taylor  <otaylor@redhat.com>
5577
5578         * gmem.c (g_mem_chunk_area_compare): Fix indentation.
5579
5580 2000-03-22 Elliot Lee <sopwith@redhat.com>
5581
5582         * gmem.c (g_mem_chunk_area_compare): Fix 64-bitness bug in
5583         comparing two pointers more than 4G apart.
5584
5585 2000-03-22  Tor Lillqvist  <tml@iki.fi>
5586
5587         * gutils.c: Move Win32-only includes after inclusion of glib.h, so
5588         that G_OS_WIN32 is defined.
5589
5590         * glibconfig.h.win32.in: Add GSystemThread.
5591
5592 2000-03-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5593
5594         * gutils.c (g_get_current_dir): Ok, Marcus Brinkmann
5595         <Marcus.Brinkmann@ruhr-uni-bochum.de> convinced me, that 128 KB
5596         path length might not be enough for the HURD. So I changed the
5597         loop to at least avoid an integer overflow, which could happen at
5598         beyond 2GB size ;-)
5599
5600         * configure.in: Test for sched_yield as the native yield function
5601         first. Corrected typo g_thread_sleep -> g_usleep. Corrected
5602         message for the pthread_create test. Negative Priorities are
5603         allowed (and used on Solaris), so consider
5604         sched_get_priority_min failed only if it returns -1, not <0. Check
5605         for sched_get_priority_min also in -lrt, if not found in -lpthread
5606         alone and add -lrt to G_THREAD_LIBS then. Remove special case
5607         handling of priorities for older solaris versions and posix
5608         threads. Thanks to Wan-Teh Chang <wtc@netscape.com> for suggesting
5609         some of those changes.
5610
5611         * config.guess, config.sub, ltconfig, ltmain.sh:
5612         Upgrade to libtool 1.3.4.
5613
5614 2000-03-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5615
5616         * glib.h, configure.in, gutils.h: always define G_GNUC_EXTENSION,
5617         even when not needed by GLib. That's actually also the way, the
5618         GLib reference manual describes that macro. Therefore I had to
5619         remove the lonesome #include <glibconfig.h> in gutils.c, which
5620         doesn't seem to be needed there however. This change should make
5621         Ben Gertzfield <che@debian.org> happy.
5622
5623         * gutils.c: Furthermore two warnings in gutils.c were voided,
5624         which crept in due to my last change.
5625
5626         * gutils.c (g_get_current_dir): Allocate only up to 128KB for a
5627         pathname. While this is an arbitrary value just like 2048, it
5628         seems to be enough (after all, even 4GB is an arbitrary value).
5629
5630 2000-03-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5631
5632         * gmain.c (g_main_poll): Warn in case of an error during the call
5633         to poll(2). Closes Bug#7564 as reported by David Helder
5634         <dhelder@umich.edu>.
5635
5636         * gutils.c (g_get_current_dir): Make g_get_current_dir work on
5637         systems with unlimited pathname length like the HURD (It worked
5638         there before, but only for pathes shorter than 2048). Closes
5639         Bug#4525 as reported by Marcus Brinkmann
5640         <Marcus.Brinkmann@ruhr-uni-bochum.de>.
5641
5642 2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5643
5644         * giounix.c (g_io_unix_write, g_io_unix_read): Interpret EINTR as
5645         G_IO_ERROR_AGAIN.
5646
5647 2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5648
5649         * configure.in: Added the missing POSIX_NO_YIELD and
5650         POSIX_NO_PRIORITIES warning messages.
5651
5652         * configure.in: Use AC_TRY_RUN instead of AC_TRY_LINK, to test for
5653         real thread support. On solaris pthread_create can be linked to
5654         even in -lc, but it doesn't work then.
5655
5656         * configure.in: Don't use priorities for threads, when the
5657         minimal/maximal priorities couldn't be determined at configure
5658         time.
5659
5660         * configure.in, gthread.c: Always define GSystemThread in
5661         glibconfig.h to represent a system thread.
5662
5663         * configure.in: Do not use native recursive threads, when
5664         possibe. We use some features, that they do not expose (namely the
5665         depth counter).
5666
5667         * glib.h, gthread.c: Redefined GStaticRecMutex. The functions are
5668         now implemented in a different way, which should be way
5669         faster. Alsothere are now functions g_static_rec_mutex_unlock_full
5670         and g_static_rec_mutex_lock_full to leave/enter a recursive mutex
5671         completly.
5672
5673         * gthread.c (g_thread_self): Do not test the system_thread to be
5674         non-zero to speed things up.
5675
5676         * gthread.c (g_mutex_init): Therefore set the system_thread of the
5677         main thread here.
5678
5679         * tests/thread-test.c: Rerun all tests once again, but this time
5680         we fool the system into thinking, that the available thread system
5681         is not native, but userprovided.
5682
5683 2000-03-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5684
5685         * gqueue.c (g_queue_push_tail_link, g_queue_push_head_link): We
5686         want the next and prev pointer of the inserted link to be NULL.
5687
5688 2000-03-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5689
5690         * configure.in: Another small change to the pthread_.. search
5691         pattern. Should work *now* for AIX.
5692
5693 2000-03-04  Tor Lillqvist  <tml@iki.fi>
5694
5695         * gwin32.c (g_win32_error_message): New function that returns the
5696         message string for a Win32 error code.
5697
5698         * glib.h: Declare it.
5699
5700         * glib.def: Export it, plus g_node_copy.
5701
5702 2000-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5703
5704         * configure.in: Make the search for pthread_attr_... prototypes
5705         find names at the start of a line also, like it is on AIX. Thanks
5706         to Valdis Kletnieks <Valdis.Kletnieks@vt.edu> for the info.
5707
5708 Wed Mar  1 10:39:39 2000  Tim Janik  <timj@gtk.org>
5709
5710         * gslist.c (g_slist_reverse): minor optimization.
5711
5712         * testglib.c (g_node_test): added a couple of tests for
5713         g_node_copy().
5714
5715         * glib.h:
5716         * gnode.c (g_node_copy): new function to copy subtrees,
5717         supplied by dbsears@ix.netcom.com.
5718         changed iterator to walk the children list backwards, so
5719         we get down from O(n^2) to O(n).
5720
5721         * gnode.c (g_node_first_sibling): applied patch from
5722         dbsears@ix.netcom.com to optimize access if node->parent
5723         is present.
5724
5725         * gutils.c (g_get_any_init): backed out HAVE_PW_GECOS check around
5726         assignment of g_real_name, sicne HAVE_PW_GECOS is never defined and
5727         thus breaks the original code.
5728
5729         * merged changes from 1.2.7.
5730
5731 Fri Jan 28 11:37:41 2000  Owen Taylor  <otaylor@redhat.com>
5732
5733         Bug #4156 - Changes vaguely modelled after Scott Gifford's patch
5734
5735         * gtimer.c (g_timer_elapsed): Never report negative times -
5736         clip times to 0.
5737
5738         * gmain.c (g_timeout_prepare): Guard against unexpected
5739         clock shifts by never setting a timeout of more than
5740         data->interval msecs.
5741
5742 2000-02-27  Tor Lillqvist  <tml@iki.fi>
5743
5744         * glib.def: Add new functions.
5745
5746 2000-02-23  Tor Lillqvist  <tml@iki.fi>
5747
5748         * README.win32: Add a missing step to the setup instructions for
5749         gcc-2.95.2. Thanks to Arnaud Charlet.
5750
5751         * glib.def: Add missing entry point.
5752
5753 2000-02-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5754
5755         * configure.in: Changed GCC version test to also accept major
5756         versions > 2. Thanks to Ben Gertzfield <che@debian.org> for
5757         pointing this out.
5758
5759 Thu Feb 17 12:53:44 2000  Tim Janik  <timj@gtk.org>
5760
5761         * gstring.c: changed g_str_hash() to a 31 bit version based on
5762         a submission by Karl Nelson and hand optimized ad absurdum by
5763         various people ;)
5764
5765         * gstring.c: applied patch from havoc for new gstring functions,
5766         added some more sanity checks, coding style fixups.
5767
5768 2000-02-13  Havoc Pennington  <hp@pobox.com>
5769
5770         * tests/string-test.c (main): Add tests for the new GString 
5771         features
5772
5773         * testglib.c (main): Add tests for the new GString features
5774
5775         * gstring.c (g_string_insert_len): New function; insert 
5776         a given length of string at a given position. 
5777         (g_string_append): reimplement in terms of g_string_insert_len
5778         (g_string_append_len): new function
5779         (g_string_insert_c): accept -1 for "pos" arg to mean "append"
5780         (g_string_append_c): reimplement in terms of g_string_insert_c
5781         (g_string_prepend): reimplement in terms of g_string_insert_len
5782         (g_string_prepend_len): new function
5783         (g_string_prepend_c): reimplement in terms of g_string_insert_c
5784         (g_string_insert): reimplement in terms of g_string_insert_len
5785
5786         * glib.h: Declare g_string_insert_len, g_string_append_len,
5787         g_string_prepend_len
5788
5789 Sun Feb 13 08:16:47 2000  Tim Janik  <timj@gtk.org>
5790
5791         * configure.in: wtf??? someone destroyed the configure.in, reverting to
5792         an older version from Feb 4 which apears to still work.
5793
5794 2000-02-07  Tor Lillqvist  <tml@iki.fi>
5795
5796         * gmodule.rc.in gthread.rc.in: Move to corresponding subdirectories.
5797
5798         * Makefile.am
5799         * gmodule/Makefile.am
5800         * gthread/Makefile.am: Change accordingly.
5801
5802         * makefile.cygwin: Corresponding changes, some cleanup.
5803
5804 2000-02-05  Tor Lillqvist  <tml@iki.fi>
5805
5806         * glib.rc.in gmodule.rc.in gthread.rc.in: New files, for putting
5807         version info in the DLLs on Win32.
5808
5809         * Makefile.am: Generate corresponding *.rc files and distribute
5810         them.
5811
5812         * makefile.cygwin.in: Add rules to automatically bump a "build
5813         number" in the version info in the rc files each time the DLL is
5814         built. But do this only for the person who releases binaries. If
5815         others build the DLLs, the build number is set to zero.
5816
5817 Fri Feb  4 19:36:05 2000  Tim Janik  <timj@gtk.org>
5818
5819         * glib.h: 
5820         * gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
5821         and g_dataset_id_remove_no_notify() to avoid second lookup for common
5822         use.
5823
5824 2000-02-01  Tor Lillqvist  <tml@iki.fi>
5825
5826         * glib.h
5827         * gstrfuncs.c (g_filename_to_utf8, g_filename_from_utf8): New
5828         functions for conversion between UTF-8 and the encoding expected
5829         by C runtime functions like open() and stat(), and returned by
5830         readdir().
5831
5832         Implement them on Win32 where we use the system "ANSI" codepage,
5833         which might be single-byte or double-byte. On Unix, just skip the
5834         issue for now and provide dummy implementations that return a copy
5835         of the argument.
5836
5837         * README.win32
5838         * build-dll
5839         * glib.def: Minor updates.
5840
5841 Wed Jan 26 05:24:38 2000  Tim Janik  <timj@gtk.org>
5842
5843         * glib.h:
5844         * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
5845         refetch the current time after invocation of poll() to cover up for
5846         the time spent in that function call.
5847
5848 Fri Jan 21 10:18:24 2000  Owen Taylor  <otaylor@redhat.com>
5849
5850         * glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
5851         the number of elements in an array.
5852
5853 Sun Jan  9 13:28:36 2000  Tim Janik  <timj@gtk.org>
5854
5855         * gstrfuncs.c (g_strtod): correctly fetch the current locale,
5856         fix from owen.
5857
5858 1999-12-16  Tor Lillqvist  <tml@iki.fi>
5859
5860         * gmodule/gmodule-win32.c: Use FormatMessage to translate system
5861         error codes into textual messages.
5862
5863 1999-11-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5864
5865         * glib.h (G_TRYLOCK): This of course should return TRUE in a
5866         program with a thread-disabled GLib.
5867
5868 1999-11-18  Tor Lillqvist  <tml@iki.fi>
5869
5870         * glib.def: g_strjoin was missing.
5871
5872 1999-11-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5873
5874         * acconfig.h, config.h.win32.in, configure.in: Renamed
5875         GLIB_SIZEOF_PTHREAD_T to GLIB_SIZEOF_SYSTEM_THREAD to reflect
5876         changed meaning.
5877
5878         * configure.in: Cope with systems, that have a pthread_t type,
5879         that is not a pointer. Hint from Karl Nelson
5880         <kenelson@ece.ucdavis.edu>. Define GLIB_SIZEOF_SYSTEM_THREAD to 4
5881         for Solaris. Cope with systems, that have no default mutex
5882         initialize, like obviously most DCE systems.
5883
5884         * glib.h, gthread.c: Changed the prototype of thread_create and
5885         thread_self to return the system thread into provided memory
5886         instead of a return value. This is necessary, as HPUX has a
5887         pthread_t, that is bigger than the biggest integral type there.
5888
5889         * gthread.c: system_thread is no longer a pointer, but an memory
5890         area of size GLIB_SIZEOF_SYSTEM_THREAD. Changed the
5891         zeroinitialization and the tests for zeroness accordingly.
5892
5893 1999-11-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5894
5895         * configure.in: Create docs/glib-config.1 from
5896         docs/glib-config.1.in. Makes 'make distcheck' happy (and me too).
5897
5898         * glib-config.1: Removed from CVS, as it is a generated file.
5899
5900 1999-11-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5901
5902         * configure.in: Make the test for getpwuid_r work on newer AIX
5903         versions, too. Still works on Solaris and Linux. Patch from Craig
5904         Rodrigues <rodrigc@mediaone.net>.
5905
5906 1999-11-08  Tor Lillqvist  <tml@iki.fi>
5907
5908         * gwin32.c (g_win32_getlocale): Look at env vars LC_ALL, LC_CTYPE
5909         and LANG first. Some refinements to the sublanguage logic.
5910
5911 1999-11-04  Tor Lillqvist  <tml@iki.fi>
5912
5913         * makefile.{cygwin,msc}.in: Add gwin32 object. Add rule to make .i
5914         (preprocessed source) files.
5915
5916 1999-11-01  Tor Lillqvist  <tml@iki.fi>
5917
5918         * glib.h
5919         * glib.def: Rename Win32-only functions from gwin_* to g_win32_*
5920         to match the GLib naming conventions.
5921
5922         * gutils.c
5923         * gwin32.c
5924         * testglib.c
5925         * Makefile.am: Move the Win32-only functions to the new
5926         file gwin32.c
5927
5928 1999-10-31  Tor Lillqvist  <tml@iki.fi>
5929
5930         * gutils.c (gwin_getlocale): New Win32-specific function, returns
5931         a Unixish current locale string (en, zh_TW etc).
5932
5933         * glib.h: Declare it.
5934
5935         * glib.def: Export it.
5936
5937         * testglib.c: Test it.
5938
5939         * gmessages.c (Win32: ensure_stdout_valid): Some improvements,
5940         make sure we don't call AllocConsole several times, which I think
5941         has happened.
5942
5943 Sun Oct 31 18:55:01 1999  ape@spacetec.no  (Asbjorn Pettersen)
5944
5945         * gcache.c (g_cache_remove): Test if node is NULL.
5946         If not tested, GIMP's script-fu will crash. 
5947
5948 Sun Oct 17 18:11:40 1999  Tim Janik  <timj@gtk.org>
5949
5950         * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around
5951         destroy() notification here as well.
5952
5953 1999-10-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5954
5955         * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist
5956         is called recursivly. Reported by Ola Andersson <rand@ling.umu.se>.
5957
5958 Tue Oct 12 14:17:12 1999  Tim Janik  <timj@gtk.org>
5959
5960         * glib.h: removed useless g_string(x) macro that cluttered the namespace
5961         and was just a poor wrapper around the cpp '#' symbol, use #x if you
5962         need to work around this.
5963         added new macro G_STRINGIFY(arg) that will convert arg to a string,
5964         no matter whether it contains macros or not.
5965
5966 1999-10-12  Tor Lillqvist  <tml@iki.fi>
5967
5968         * config.h.win32.in: Define the new GLIB_SIZEOF_* constants here,
5969         too.
5970
5971         * glib.h: Small Win32 comments improvement.
5972
5973 Tue Oct 12 12:16:12 1999  Tim Janik  <timj@gtk.org>
5974
5975         * gmessages.c (g_printf_string_upper_bound): completly new
5976         implementation for printf string upper bounds calculation.
5977         we handle all glibc 2.1 format specifiers now, except for positional
5978         parameters (%nn$...) and wide char strings, plus some obscure upper
5979         case variants of the standard conversions. this fixes a lot of
5980         bugs in the old code, i.e.
5981         - NULL format strings
5982         - floats with exponents >+24
5983         - %G
5984         - precision specifications in general
5985         - negative field widths
5986         - %p for SIZEOF_VOID_P > 4 platforms
5987         we now issue warnigns in places where the old code would have
5988         caused buffer overruns anyways. warnings are suppressed when invoked
5989         from glogv(), to avoid infinite recursions if someone passes a log
5990         message that comes with really obscure format specifications.
5991
5992 Tue Oct 12 11:49:00 1999  Tim Janik  <timj@gtk.org>
5993
5994         * gstrfuncs.c: nuked old g_printf_string_upper_bound() version.
5995
5996 Tue Oct 12 03:34:40 1999  Tim Janik  <timj@gtk.org>
5997
5998         * glib.h: added GFloatIEEE754 and GDoubleIEEE754 unions to access sign,
5999         mantissa and exponent of IEEE floats and doubles (required by the new
6000         version of g_printf_string_upper_bound). the unions are endian specific,
6001         we handle G_LITTLE_ENDIAN and G_BIG_ENDIAN as of currently. ieee floats
6002         and doubles are supported (used for storage) by at least intel, ppc and
6003         sparc, reference:
6004         http://twister.ou.edu/workshop.docs/common-tools/numerical_comp_guide/ncg_math.doc.html
6005
6006 Mon Oct 11 18:01:49 1999  Tim Janik  <timj@gtk.org>
6007
6008         * configure.in: added additional checks to figure sizes of size_t,
6009         ptrdiff_t and intmax_t (required by g_printf_string_upper_bound).
6010
6011 Wed Oct  6 12:44:23 PDT 1999 Manish Singh <yosh@gimp.org>
6012
6013         * configure.in: blah. use G_WITH_CYGWIN instead of G_HAVE_CYGWIN
6014
6015 1999-10-05  Tor Lillqvist  <tml@iki.fi>
6016
6017         * glib.h: (Win32) Drop the mapping of POSIX function names to the
6018         underscored versions, it's unnecessary after all. With MSVC we get
6019         them from oldnames.lib, with gcc-2.95 and mingw32 from
6020         -lmoldname-msvc. Add comment about what headers to include for
6021         prototypes.
6022
6023         * glibconfig.h.win32.in: Don't define WIN32 and NATIVE_WIN32.
6024
6025         * gerror.c (g_on_error_query): (Win32) Slightly increased verbosity.
6026
6027         * build-dll: Don't strip.
6028
6029         * tests/string-test.c tests/dirname-test.c: Use G_OS_WIN32.
6030
6031         * glib.def: Add g_thread_use_default_impl.
6032
6033 Sun Oct  3 19:46:55 PDT 1999 Manish Singh <yosh@gimp.org>
6034
6035         * configure.in: use G_HAVE_CYGWIN instead of G_OS_FEATURE_CYGWIN
6036
6037 Sun Oct  3 19:25:42 PDT 1999 Manish Singh <yosh@gimp.org>
6038
6039         * acconfig.h
6040         * configure.in
6041         * glibconfig.h.win32: G_OS_FOO #defines. I *think* I got the cygwin
6042         and beos stuff right, but I haven't tested it. The respective
6043         porters should fix any screwups
6044
6045         * glib.h
6046         * gerror.c
6047         * gmain.c
6048         * gmessages.c
6049         * gscanner.c
6050         * gthread.c
6051         * gtimer.c
6052         * gutils.c
6053         * testglib.c: use G_OS stuff
6054
6055 Wed Sep 22 01:53:18 1999  Tim Janik  <timj@gtk.org>
6056
6057         * glib.h (NULL): define NULL as (0L) if __cplusplus is defined, to
6058         avoid "ANSI C++ forbids implicit conversion from `void *' in argument
6059         passing" errors upon NULL usage in C++ programs (gcc-2.95 is on crack
6060         for erroring out on this, instead of just issueing a warning).
6061
6062         * glib.h (g_trash_stack_pop): use uncasted NULL again.
6063
6064 Fri Sep 17 10:24:45 1999  Tim Janik  <timj@gtk.org>
6065
6066         * gmem.c (g_mem_chunk_compute_size) (g_mem_chunk_new): applied
6067         patch from Soeren Sandmann <sandmann@daimi.au.dk>, to force mem
6068         chunk's area sizes to be a multitiple of atom_size, and to
6069         eliminate the MAX_MEM_AREA restriction of 65536 bytes. we also
6070         catch cases where users pass an area size < atom size with a
6071         return_if_fail statement now (which is ok, because previously this
6072         lead to memory corruption anyways).
6073
6074 Thu Sep 16 13:19:54 1999  Tim Janik  <timj@gtk.org>
6075
6076         * glib.h (g_trash_stack_pop): add explicit (GTrashStack*) cast for NULL
6077         pointer to cure ANSI C++ error.
6078
6079 Mon Sep 13 23:25:59 1999  Tim Janik  <timj@gtk.org>
6080
6081         * gmessages.c (g_logv): in case we have to abort the program,
6082         debugging is enabled and we are not called recursively, try
6083         to abort with raise (SIGTRAP) first, so developers may ignore
6084         certain failure conditions during debugging stage.
6085
6086 Thu Aug 26 15:09:36 1999  Tim Janik  <timj@gtk.org>
6087
6088         * Makefile.am:
6089         * gmodule/Makefile.am:
6090         * gthread/Makefile.am: added --export-dynamic so we can load dynmic
6091         modules, (required, according to the libtool 1.3.3 docu).
6092
6093 1999-07-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6094
6095         * grand.c (g_rand_new): Use /dev/urandom, as it doesn't block,
6096         which /dev/random might do. Do not XOR the time, when getting the
6097         seed form /dev/urandom, as this is good itself. Prevent the
6098         initial seed from being zero, which causes the PRNG to produce
6099         only zeros. Hints from Colin Plumb <colin@pgp.com>.
6100
6101 1999-08-17  Tor Lillqvist  <tml@iki.fi>
6102
6103         * glib.h (g_trash_stack_push): Add a cast.
6104
6105         * gslist.c
6106         * glist.c: Make the inline functions static inline, and add
6107         separate extern wrappers. Not all compilers produce callable entry
6108         points for inline functions, even if gcc does.
6109
6110 Sun Aug 15 02:47:14 1999  Tim Janik  <timj@gtk.org>
6111
6112         * glib.h (g_trash_stack_pop): eliminate memset() call, since string.h
6113         has not neccessarily been included prior to glib.h.
6114
6115 Mon Aug  2 21:03:10 1999  Tim Janik  <timj@gtk.org>
6116
6117         * configure.in: added --enable-msg-prefix option.
6118
6119         * gmessages.c (g_log_default_handler): feature "prg_name (pid:%u): "
6120         if --enable-msg-prefix was selected (use "(process:%u): " if
6121         g_get_prgname () returns NULL, along the lines of g_on_error_query).
6122
6123 1999-08-03  Tor Lillqvist  <tml@iki.fi>
6124
6125         * glib.h
6126         * gstrfuncs.c
6127         * tests/strfunc-test.c: Rename g_strccpy to g_strcompress and
6128         g_strecpy to g_strescape per Tim Janik's suggestion. Dropped the
6129         destination parameter, always g_malloc a new string.  Fix bug in
6130         g_strcompress, octal digits were gobbled up without limit, should
6131         use max three.
6132
6133         Sources that use g_strescape must have ifdefs to be compilable
6134         both with GLib 1.2 and 1.3.
6135
6136 Sat Jul 31 17:52:03 PDT 1999 Manish Singh <yosh@gimp.org>
6137
6138         * glib.h
6139         * gstrfuncs.c: the #define for g_strescape interfered with the
6140         compilation of the function, so just remove the function and
6141         note that it's deprecated in the header
6142
6143 1999-08-01  Tor Lillqvist  <tml@iki.fi>
6144
6145         * gstrfuncs.c (g_strccpy, g_strecpy): New functions.
6146
6147         * glib.h: Declare and document them. Define the deprecated
6148         g_strescape as a macro that calls g_strecpy.
6149
6150         * tests/strfunc-test.c (main): Test them.
6151
6152         * makefile.{cygwin,msc}.in
6153         * tests/makefile.{cygwin,msc}.in: Remove gstack and its test
6154         program.
6155
6156         * glib.def: Additions and removals.
6157
6158         * README.win32: Improve gcc build instructions.
6159
6160         * build-dll: Also build import library for MSVC.
6161
6162 Sat Jul 24 20:11:35 1999  Tim Janik  <timj@gtk.org>
6163
6164         * merged GLib 1.3.0 with glib-1.2.3 from Fri Jul 16 22:18:36.
6165         * incorporated proposed cleanups from gtk-devel-list.
6166
6167         * bumped version number to GLib-1.3.1
6168
6169         * glib.h:
6170         * gqueue.c:
6171         * gstring.c:
6172         * glist.c:
6173         removed string tokenisation (we got g_strsplit() and g_strjoin()
6174         already) and readline functions.
6175         s/g_list_delete/g_list_delete_link.
6176         implemented g_slist_delete_link.
6177         removed notion of g_ATEXIT() macro in glib.h, this is an *internal*
6178         macro, g_atexit() is provided for public consumption.
6179         added GTrashStack inline utility functions.
6180         reimplement double eneded queues.
6181         removed GStack implementation, people can use a queue or a (singly)
6182         linked list for this task.
6183         deprecated g_strescape(), we need the SunOS variants here.
6184
6185         * gdate.c: added DEBUG_MSG() macro to wrap old messages.
6186
6187         * *.*: CVS merges.
6188
6189         * upgrade to libtool 1.3.3.
6190
6191 1999-07-21  Tor Lillqvist  <tml@iki.fi>
6192
6193         Win32: With the latest gcc (2.95, pre-release), we can have binary
6194         compatibility with MSVC by using the switch -fnative-struct. No
6195         longer build DLLs with .gcc in the name when using gcc.
6196
6197         * README.win32: Renew gcc build instructions.
6198
6199         * build-dll: Comments change, handle also .a files.
6200
6201         * makefile.cygwin.in
6202         * tests/makefile.cygwin.in: Remove .gcc from DLL name.
6203
6204 1999-07-13  Tor Lillqvist  <tml@iki.fi>
6205
6206         * README.win32: Correct URL for mingw runtime sources.
6207
6208         * build-dll: Combine commands with &&.
6209
6210         * glib.h: Map also rmdir() and hypot() for MSVCRT library.
6211
6212         * makefile.cygwin.in
6213         * tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
6214         now called *.gcc.dll, to avoid binary incompatibilities with
6215         MSVC-compiled versions.
6216
6217         * makefile.msc.in: Cosmetics.
6218
6219 1999-07-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6220
6221         * configure.in: Test for pthread_join rather than for
6222         pthread_create to determine the right thread-lib. Makes it work on
6223         mips-sgi-irix6.5. Hitn from to Jari Vuoksenranta
6224         <javu@piano.ux.phys.jyu.fi>.
6225
6226 1999-07-02  Tor Lillqvist  <tml@iki.fi>
6227
6228         * README.win32: Note about need to fix another bug in the mingw32
6229         headers.
6230
6231         * makefile.msc.in: Debugging turned on via an nmake variable,
6232         no need to edit the makefile.
6233
6234 1999-07-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6235
6236         * configure.in, acconfig.h, gutils.c: Added a g_memmove
6237         replacement for platforms without memmove, where bcopy can't
6238         handle overlapping copies and the corresponding checks, which is
6239         taken form the PERL Configure routine.
6240
6241         * glib.h: Updated the commentary about g_memmove to be right and
6242         more GLib-like.
6243
6244         * configure.in: Removed test for rand_r, as it isn't used anymore.
6245
6246 1999-06-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6247
6248         * glib.h, grand.c: Finally removed the g_random_normal and
6249         g_rand_normal functions.
6250
6251 1999-06-28  Tor Lillqvist  <tml@iki.fi>
6252
6253         * glib.def: Add missing export of g_strncasecmp.
6254
6255 1999-06-21  Jose Mercado  <jmercado@mit.edu>
6256
6257         * glib.spec.in: Changed version number (1.1->1.3) in files section
6258         to allow rpm to build packages again.
6259
6260 1999-06-21  Tor Lillqvist  <tml@iki.fi>
6261
6262         * README.win32: Update the pthreads snapshot version we want.
6263         Advice how to hand-expand the makefile.*.in files.
6264
6265         * config.h.win32.in: Define values needed by Sebastian Wilhelmi's
6266         new thread stuff.
6267
6268         * glib.def: Add new functions.
6269
6270         * glibconfig.h.win32.in: Update the pthreads snapshot version.
6271         Fix typo.
6272
6273         * gthread.c: Include config.h, guard inclusion of unistd.h.  When
6274         using gcc on Win32, g_thread_functions_for_glib_use must be marked
6275         for export here, too.
6276
6277         * gtimer.c: Implement g_usleep on native Win32 using Sleep (which
6278         only has millisecond granularity, though).
6279
6280         * makefile.cygwin.in
6281         * makefile.msc.in: Update pthreads snapshot version. File
6282         name changes. Remove testgthread.
6283
6284         * tests/makefile.cygwin.in
6285         * tests/makefile.msc.in: Add thread-test. Link with gthread lib.
6286
6287 1999-06-18  Jeff Garzik  <jgarzik@pobox.com>
6288
6289         * tests/Makefile.am:  Re-order tests in alpha order.
6290
6291 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6292
6293         * configure.in: Changed test for pthread_attr_setstacksize from
6294         AC_TRY_COMPILE to AC_TRY_LINK.
6295
6296 1999-06-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6297
6298         * configure.in, acglib.m4, acconfig.h, glib.h, gthread.c:
6299         Completed the thread support in GLib. Thread creation,
6300         prioritizing threads, yielding, joining threads as well as
6301         reader/writer locks and recursive mutexes are now in place. Please
6302         test heavily on your platform. It is so far tested on
6303         Linux/i386/pthreads, Solaris/Sparc/pthreads and
6304         Solaris/Sparc/solaristhreads.
6305
6306         * gtimer.c, glib.h: Implement g_usleep (gulong microseconds) for
6307         thread safe sleeping. (sleep() is not MT-safe at all!)
6308
6309         * gutils.c: Avoid compiler warning.
6310
6311         * tests/Makefile.am, tests/thread-test.c: New program to test some
6312         aspects of the thread implementation.
6313
6314         * gthread.c, Makefile.am: Renamed from gmutex.c to reflect the
6315         change of content.
6316
6317         * configure.in: Purged all appearances of nspr. 
6318
6319 Wed Jun  2 11:42:46 PDT 1999 Manish Singh <yosh@gimp.org>
6320
6321         * acinclude.m4
6322         * config.guess
6323         * config.status
6324         * ltconfig
6325         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
6326
6327 1999-05-29  Tor Lillqvist  <tml@iki.fi>
6328
6329         * gstrfuncs.c (g_strescape): Backslashify also '"' characters.
6330
6331         * glib.h: Document g_strescape.
6332
6333 1999-05-12  Tor Lillqvist  <tml@iki.fi>
6334
6335         * glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
6336         _fstat.
6337
6338         * README.win32: Advice also to remove -lmoldname in the
6339         patch to the egcs-1.1.2 spec file.
6340
6341 Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
6342
6343         * gmodule/Makefile.am: Another small fix.
6344
6345 1999-05-08  Tor Lillqvist  <tml@iki.fi>
6346
6347         * Makefile.am tests/Makefile.am: Correct rules for making the
6348         win32-related files that are made from corresponding .in files.
6349         Is there a cleaner way than explicitly writing rules that invoke
6350         config.status?
6351
6352 Fri Jul 16 22:18:36 PDT 1999 Manish Singh <yosh@gimp.org>
6353
6354         * ltconfig
6355         * ltmain.sh: upgrade to libtool 1.3.3
6356
6357 1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6358
6359         * gdate.c, gstrfuncs.c, gstring.c: Fixed the use of the
6360         is..... and to..... macros, which take unsigned chars, not chars!
6361         Thanks to Morten Welinder <terra@diku.dk> for pointing this out.
6362
6363 Thu Jun  3 16:30:31 PDT 1999 Manish Singh <yosh@gimp.org>
6364
6365         * gerror.c (g_on_error_query): check isatty() before querying so
6366         we don't loop endlessly
6367
6368 Sat May 29 11:16:29 PDT 1999 Manish Singh <yosh@gimp.org>
6369
6370         * acinclude.m4
6371         * config.guess
6372         * config.status
6373         * ltconfig
6374         * ltmain.sh: upgrade to libtool 1.3.2
6375
6376 1999-05-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6377
6378         * gmain.c: provide a poll prototype for SunOS, as they do not do
6379         it self. Hint from Christian Parg <cparg@fs-design.de>.
6380
6381 Tue May 25 12:23:07 1999  Owen Taylor  <otaylor@redhat.com>
6382
6383         * gstrfuncs.c (g_strchug): Use g_memmove() not memmove().
6384         (Reported by Charles Levert <charles@comm.polymtl.ca>)
6385
6386 Mon May 10 22:03:52 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
6387
6388         * Released GLib 1.2.3
6389
6390 1999-05-08  Tor Lillqvist  <tml@iki.fi>
6391
6392         * Makefile.am tests/Makefile.am: Correct rules for making the
6393         win32-related files that are made from corresponding .in files.
6394         Is there a cleaner way than explicitly writing rules that invoke
6395         config.status?
6396
6397 Sat May  1 10:18:01 PDT 1999 Manish Singh <yosh@gimp.org>
6398
6399         * acinclude.m4
6400         * config.guess
6401         * config.status
6402         * ltconfig
6403         * ltmain.sh: upgrade to libtool 1.3
6404
6405 1999-04-30  Tor Lillqvist  <tml@iki.fi>
6406
6407         * Makefile.am: Don't distribute glibconfig.h.win32.in, but
6408         glibconfig.h.win32. Generate it when making a dist. Also generate
6409         makefile.msc and config.h.win32 from corresponding .in files when
6410         making dist.
6411
6412         * configure.in: Also substitute @GLIB_INTERFACE_AGE@ and
6413         @GLIB_BINARY_AGE@ (needed in config.h.win32).
6414
6415         * glibconfig.h.win32.in: Use static mutex structure and initial
6416         value corresponding to the 1999-04-07 snapshot of pthreads-win32.
6417
6418         * tests/Makefile.am: Distribute makefile.msc. Generate it when
6419         making dist.
6420
6421         * tests/makefile.msc.in: New file.
6422
6423         * tests/node-test.c: Include <stdlib.h> for exit().
6424
6425 Thu Apr 29 02:16:36 1999  Tim Janik  <timj@gtk.org>
6426
6427         * gstrfuncs.c: minor code cleanups.
6428
6429 Tue Apr 27 13:11:29 1999  Owen Taylor  <otaylor@redhat.com>
6430
6431         * gmain.c (g_main_poll): Mask out ERR HUP and NVAL from
6432         the events field so we don't give IRIX fits.
6433
6434 Tue Apr 20 08:42:22 1999  Tim Janik  <timj@gtk.org>
6435
6436         * gscanner.c (g_scanner_unexp_token): behave conservative with
6437         G_TOKEN_IDENTIFIER_NULL and always assume scanner->value.v_string
6438         to be "null" in that case.
6439
6440 1999-04-20  Havoc Pennington  <hp@pobox.com>
6441
6442         * gutils.c (g_vsnprintf):  When using the vsnprintf()
6443         implementation, '\0'-terminate the resulting string
6444         and return its length rather than -1.
6445
6446 Mon Apr 19 13:42:21 1999  Owen Taylor  <otaylor@redhat.com>
6447
6448         * gmain.c (g_main_iterate): Added missing
6449         #ifdef G_THREADS_ENABLED. (I never liked G_THREADS_ENABLED in
6450         the first place!)
6451
6452 1999-04-18  Havoc Pennington  <hp@pobox.com>
6453
6454         * gutils.c (g_snprintf): When using the vsnprintf()
6455         implementation, '\0'-terminate the resulting string
6456         and return its length rather than -1.
6457
6458 Fri Apr 16 06:52:07 1999  Tim Janik  <timj@gtk.org>
6459
6460         * gscanner.c (g_scanner_unexp_token): feature G_TOKEN_EOF as a valid
6461         expected token as well, so we get "- expected end of file" instead of
6462         "- expected (unknown) token <0>".
6463
6464 Tue Apr 13 16:16:14 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
6465
6466         * Released GLib 1.2.2
6467
6468 1999-04-12  Elliot Lee  <sopwith@mh69.mh.cuc.edu>
6469
6470         * g_strchug(): s/strcpy/memmove/
6471
6472 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6473
6474         * configure.in: Adjusted the test for an unimplemented
6475         getpwuid_r. Info from Michael Pruett <mikep@ugcs.caltech.edu>.
6476
6477 Sun Apr 11 15:07:34 1999  Tim Janik  <timj@gtk.org>
6478
6479         * configure.in: bumped versin number to GLib 1.2.2, interface 2,
6480         binary 2.
6481
6482         * NEWS: updates.
6483
6484 Sun Apr 11 14:37:06 1999  Tim Janik  <timj@gtk.org>
6485
6486         * gstrfuncs.c (g_strcasecmp): always check for s1, s2 != NULL.
6487
6488 Sat Apr 10 19:30:50 1999  Tim Janik  <timj@gtk.org>
6489
6490         * glib.h: removed braces around inline strings for the G_GNUC_FUNCTION
6491         and G_GNUC_PRETTY_FUNCTION macros, so the macros can be used for
6492         compile time string concatenation.
6493
6494 Thu Apr  8 19:53:19 1999  Owen Taylor  <otaylor@redhat.com>
6495
6496         * gmain.c (g_main_iterate): Check for two threads
6497         calling g_main_iterate at once.
6498
6499         * gmain.c: If the set of poll file descriptors changes
6500         during a call to poll(), abort that call, and start
6501         a new poll. My test program still segfaults
6502         obscurely on glibc 2.0 (in read()!!!), but now it works on
6503         glibc 2.1, so I'll blame something else for the other segfault.
6504
6505 1999-03-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6506
6507         * configure.in: Fixed slight bug, that made configure hang on some
6508         systems. Please do not merge this into 1.3 branch. It's taken care
6509         of differently there. Info from J. Rhett Aultman
6510         <cuplan@alley.gator.net>
6511
6512 Wed Mar 24 21:23:47 CST 1999 Shawn T. Amundson <amundson@gtk.org>
6513
6514         * Released GLib 1.2.1
6515
6516         * README:
6517           INSTALL: 
6518           NEWS: 
6519           sanity_check: updated
6520
6521         * glibconfig.h.win32.in:
6522           Makefile.am:
6523           docs/glib-config.1.in:
6524           docs/Makefile.am: Added files used to generate new files.
6525
6526         * glibconfig.h.win32:
6527           docs/glib-config.1: Removed, now generated.
6528
6529         * configure.in: Added to output now-generated files.
6530
6531 Tue Mar 23 13:43:39 PST 1999 Manish Singh <yosh@gimp.org>
6532
6533         * giounix.c: add user_data param to check and prepare functions
6534
6535 Mon Mar 22 03:54:43 1999  Tim Janik  <timj@gtk.org>
6536
6537         * glib.h:
6538         * gmain.c: add user_data to the GSource ->check and ->prepare
6539         functions, so it can be used to e.g. pass a GPollFd.
6540         (g_main_poll): only add poll records with an events mask != 0 to the
6541         fd_array. don't even bother calling poll_func() if fds=timeout=0.
6542         added debugging printouts around poll_func() invokation that can be
6543         enabled with #define G_MAIN_POLL_DEBUG.
6544
6545 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
6546
6547         * acinclude.m4
6548         * config.guess
6549         * config.sub
6550         * ltconfig
6551         * ltmain.sh: upgrade to libtool 1.2f
6552
6553         * autogen.sh: libtool is not required to autogen glib
6554
6555         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
6556         needed)
6557
6558 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6559
6560         * gmem.c: Fixed another stupid fault of mine: Did
6561         s/g_static_/g_private_/g
6562
6563 Wed Mar 17 03:17:42 1999  Tim Janik  <timj@gtk.org>
6564
6565         * configure.in bumped versin number to GLib 1.2.1, interface 1,
6566         binary 1.
6567
6568         * NEWS: updates.
6569
6570         * glib.h: added GLIB_CHECK_VERSION() macro similar to
6571         GTK_CHECK_VERSION().
6572
6573 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
6574
6575         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
6576         to g_return_if_fail().
6577         (g_mem_profile): 
6578         (g_mem_chunk_print): 
6579         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
6580         messages.
6581
6582         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
6583         to g_return_if_fail().
6584         * grel.c (g_*): changed a bunch of g_assert() statements to
6585         g_return_if_fail() and added some extra ones to check relation != NULL.
6586
6587 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6588
6589         * configure.in: Also accept _Pctime_r instead of ctime_r, while
6590         seraching for the right `_REENTRANT' flag. This is for Digital
6591         UNIX 4.0d. Thanks to Sascha Brawer <sb@adasys.ch>.
6592
6593 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
6594
6595         * configure.in: check for working realloc (NULL,).
6596         * gmem.c (g_realloc): use malloc() for initial allocation on systems
6597         where realloc(NULL,) will not work (this is the case on SunOS, reported
6598         by Tom Geiger).
6599
6600 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
6601
6602         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
6603         flag around the call to g_hook_free() to avoid spurious
6604         warnings (happens during destruction phase).
6605
6606 1999-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6607
6608         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
6609         from config.h.win32 to glibconfig.h.win32
6610
6611         * acconfig.h, configure.in, config.h.win32: Added test for DCE
6612         versions of mutex_trylock and cond_timedwait. The win32 versions
6613         are posix, aren't they?
6614
6615 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6616
6617         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
6618         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
6619
6620 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6621
6622         * gutils.c (g_get_any_init): Fixed yet another bloody
6623         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
6624         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
6625         test better than that, but have no idea, how to do that easily.
6626
6627 Sun Feb 21 22:11:51 CST 1999  Shawn T. Amundson <amundson@gtk.org>
6628
6629         * Released GLib 1.2.0
6630
6631         * AUTHORS: updated
6632
6633 Wed Feb 24 00:08:42 CST 1999 Shawn T. Amundson <amundson@gtk.org>
6634
6635         * *.[ch]: inserted additional note to look for ChangeLog and
6636           AUTHORS file for a log of modifications.
6637
6638 Sun Feb 21 14:01:00 1999  Dr Mike <drmike@redhat.com>
6639
6640         * Made specfile generated, tweaked slightly
6641
6642 Sat May  8 06:00:17 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
6643
6644         * configure.in
6645           gmodule/Makefile.am
6646           gthread/Makefile.am: Better testing reveals better
6647           methods.  Fixes for BeOS.
6648
6649 Sat May  8 01:52:29 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
6650
6651         * configure.in
6652           gerror.c
6653           gmain.c
6654           gstrfuncs.c
6655           gutils.c
6656           ltconfig
6657           ltmain.sh
6658           gmodule/Makefile.am
6659           gmodule/gmodule.c
6660           gmodule/gmoduleconf.h.in
6661           gmodule/gmodule-beos.c
6662           gthread/Makefile.am: Port to BeOS by myself and Richard Offer.
6663
6664 1999-05-06  Tor Lillqvist  <tml@iki.fi>
6665
6666         * makefile.msc.in makefile.cygwin.in glibconfig.h.win32.in
6667         config.h.win32.in tests/makefile.msc.in tests/makefile.cygwin.in:
6668         New files, used to generate corresponding non-.in files when
6669         making a dist. This is just so the version numbers will be kept in
6670         synch automatically.
6671
6672         * configure.in: Also substitute @GLIB_MAJOR_VERSION@,
6673         @GLIB_MINOR_VERSION@, and @GLIB_INTERFACE_AGE@.
6674
6675         * Makefile.am tests/Makefile.am: Also distribute makefile.cygwin.
6676
6677         * gerror.c (g_on_error_query): On Win32, put up a MessageBox and
6678         then exit.
6679
6680         * glib.def: Add a couple of functions.
6681
6682 Sat May  1 10:26:20 PDT 1999 Manish Singh <yosh@gimp.org>
6683
6684         * acinclude.m4
6685         * config.guess
6686         * config.status
6687         * ltconfig
6688         * ltmain.sh: upgrade to libtool 1.3
6689
6690 1999-04-25  Tor Lillqvist  <tml@iki.fi>
6691
6692         * README.win32: More editing.
6693         * build-dll: Use gcc, not ld to link.
6694         * glib.h: On native Win32 use _unlink().
6695         * gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
6696         not _MSC_VER.
6697         * gstring.c: Include <io.h> on Win32 for _read prototype.
6698         * gutils.c: Remove old IO channel code (was in #if 0).
6699         * makefile.cygwin: Don't need to link with kernel32 and msvcrt
6700         explicitly, they are included anyway.
6701
6702 1999-04-24  Tor Lillqvist  <tml@iki.fi>
6703
6704         Support added for building using a GNU toolchain on Win32,
6705         i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).
6706
6707         * README.win32: Updated.
6708         * build-dll makefile.cygwin tests/makefile.cygwin: New files.
6709         * glib.h glib.def glibconfig.h.win32: Slight updates. 
6710         * gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
6711         * gmain.c gutils.c testglib.c tests/string-test.c: Test for
6712         NATIVE_WIN32, not _MSC_VER.
6713         * gmutex.c: Must declare g_thread_functions_for_glib_use as
6714         exported (using the GUTILS_C_VAR macro).
6715         * gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
6716         * gmodule/gmoduleconf.h.win32: Need underscore with gcc.
6717         * gthread/gthread.c: With gcc on Win32, must use memcpy to assign
6718         value of g_thread_functions_for_glib_use (?).
6719         * makefile.msc tests/makefile.msc: Cosmetics.
6720
6721 Fri Apr 23 14:29:25 BST 1999  Tony Gale <gale@gtk.org>
6722
6723         * glib.h: Fix typo in g_string_ncasecmp macro (by me).
6724           Add b_string_strncasecmp macro.
6725
6726 1999-04-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6727
6728         * gutils.c (g_get_any_init): use sysconf (_SC_GETPW_R_SIZE_MAX) as
6729         the new initinal bufsize for getpwuid_r on systems, that support
6730         this. Hint from Holger Duerer <H.Duerer@zait.uni-bremen.de>.
6731
6732 Sat Apr 17 20:55:13 BST 1999  Tony Gale <gale@gtk.org>
6733
6734         * glib.h, gstring.c: Add new g_string functions for reading
6735           from file/socket descriptors, and tokenising strings.
6736
6737           Added various g_string macros.
6738
6739 Tue Apr 13 23:28:32 1999  Tor Lillqvist  <tml@iki.fi>
6740
6741         * README.win32: Mention the tests directory.
6742
6743         * glib.def: Add the functions from grand.c.
6744
6745         * glibconfig.h.win32: Add unsigned max values, and the format
6746         strings.
6747
6748         * makefile.msc: Add grand.
6749
6750         * tests/{date-test,node-test}.c: Include <stdlib.h> for exit().
6751
6752         * tests/makefile.msc: New file.
6753
6754 1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6755
6756         * glib.h: Moved struct declaration up. Style fixes.
6757
6758         * grand.c: Style fixes. Only try to open /dev/random once.
6759
6760         * tests/rand-test.c (main): New tests; Slight bug fix. 
6761
6762 1999-04-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6763
6764         * grand.c, tests/rand-test.c: New files to implement the Mersenne
6765         Twister Pseudo Random Number Generator.
6766
6767         * glib.h, AUTHORS, Makefile.am, tests/Makefile.am: Changed
6768         accordingly.
6769
6770 Thu Apr  8 21:12:30 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
6771
6772         * Released GLib 1.3.0
6773
6774 1999-03-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6775
6776         * configure.in: Added a check for the right format to printf and
6777         scanf long longs. It is %qi instead of %lli on FreeBSD for
6778         whatever reason.
6779
6780 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
6781
6782         * Makefile.am (glibconfig.h): Make sure `glibconfig.h' exists
6783         after the rule is fired.
6784         (install-exec-local): Install glibconfig.h only if the contents
6785         are different from the currently installed glibconfig.h.
6786
6787 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
6788
6789         * Makefile.am (configexecincludedir): Rename from 
6790         configincludedir so that glibconfig.h will be installed 
6791         as part of `make install-exec'. 
6792
6793 Thu Mar 25 22:45:47 1999  Tor Lillqvist  <tml@iki.fi>
6794
6795         * config.h.win32: Update version numbers.
6796
6797         * glibconfig.h.win32: Update version numbers and pthreads-win32-
6798         related magic values.
6799
6800         * README.win32: Some improvements.
6801
6802         * makefile.msc: Add gqueue and gstack. Correct version number.
6803
6804 Fri Mar 19 16:29:50 PST 1999 Manish Singh <yosh@gimp.org>
6805
6806         * acinclude.m4
6807         * config.guess
6808         * config.sub
6809         * ltconfig
6810         * ltmain.sh: upgrade to libtool 1.2f
6811
6812         * autogen.sh: libtool is not required to autogen glib
6813
6814         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
6815         needed)
6816
6817 1999-03-18  Jeff Garzik  <jgarzik@pobox.com>
6818
6819         * glib.def: Add new g_list, g_stack, g_queue functions.
6820
6821 1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6822
6823         * configure.in: added new AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
6824         to hold various defines to get the right thread implementation on
6825         different platforms. Also look in -ldce for pthread_create. Should
6826         make it work on HP-UX 10.x. Information from "D. Emilio Grimaldo
6827         Tunon" <emilio_tunon@nl.compuware.com>.
6828
6829 1999-03-17  Jeff Garzik  <jgarzik@pobox.com>
6830
6831         * gstack.c, gqueue.c:
6832         Add copyright, clean up code a bit.
6833
6834 1999-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6835
6836         * configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
6837         platforms with only /usr/include/values.h.
6838
6839         * acconfig.h: Removed unnecessary macros.
6840
6841         * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
6842         from config.h.win32 to glibconfig.h.win32. Taken from glib 1.2
6843         branch.
6844
6845         * configure.in: Also accept _Pctime_r instead of ctime_r, while
6846         seraching for the right `_REENTRANT' flag. This is for Digital
6847         UNIX 4.0d. Taken from glib 1.2 branch.
6848
6849 Wed Mar 17 03:14:56 1999  Tim Janik  <timj@gtk.org>
6850
6851         * glib.h: added GLIB_CHECK_VERSION() macro similar to
6852         GTK_CHECK_VERSION().
6853
6854 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
6855
6856         * merges from glib-1-2:
6857
6858 Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>
6859
6860         * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
6861         to g_return_if_fail().
6862         (g_mem_profile):
6863         (g_mem_chunk_print):
6864         (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
6865         messages.
6866
6867         * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
6868         to g_return_if_fail().
6869         * grel.c (g_*): changed a bunch of g_assert() statements to
6870         g_return_if_fail() and added some extra ones to check relation != NULL.
6871
6872 Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>
6873
6874         * configure.in: check for working realloc (NULL,).
6875         * gmem.c (g_realloc): use malloc() for initial allocation on systems
6876         where realloc(NULL,) will not work (this is the case on SunOS, reported
6877         by Tom Geiger).
6878
6879 Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>
6880
6881         * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
6882         flag around the call to g_hook_free() to avoid spurious
6883         warnings (happens during destruction phase).
6884
6885 1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6886
6887         * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
6888         Friedrich Dominicus <Friedrich.Dominicus@inka.de>
6889
6890 1999-03-16  Timur Bakeyev  <mc@bat.ru>
6891
6892         * configure.in: Fix problem with pthread_create in libc, as running
6893         "gcc test.c -l " is not legal.
6894
6895 1999-03-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6896
6897         * tests/type-test.c: Added a test for the
6898         G_(U)?INT(16|32|64)_FORMAT and G_(MIN|MAX|MAXU)(SHORT|INT|LONG)
6899         macros.
6900
6901         * configure.in: Removed G_(U)?INT8_FORMAT again, as it can't be
6902         used for scanf.
6903
6904         * configure.in: Added the macros G_MAXU(SHORT|INT|LONG). I do not
6905         know how to handle these on platforms with /usr/include/values.h,
6906         but without /usr/include/limits.h. Please someone add this.
6907
6908
6909 1999-03-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6910
6911         * configure.in: Added the macros G_(U)?INT(8|16|32|64)_FORMAT to
6912         use for printf and (much more important) scanf format strings for
6913         the corresponding GLib types. 
6914
6915         * glib.h Added G_(U)?(SHORT|INT|LONG)_FORMAT for consistency. It
6916         however makes no sense to also provide G_(FLOAT|DOUBLE)_FORMAT, as
6917         they are different for printf (f for both) and scanf (f for float,
6918         lf for double). Defining G_INT_FORMAT makes sense however, as we
6919         might want to define gint to something different than int someday
6920         in the future. Idea from Sascha Brawer <sb@adasys.ch>.
6921
6922 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
6923
6924         * gdate.c:
6925         Commented out debugging output.
6926
6927         * tests/Makefile.am, tests/date-test.c:
6928         Added test of the GDate module, based closely on testgdate.c.
6929
6930         * tests/Makefile.am:
6931         Bugfix - compile tests with @GLIB_DEBUG_FLAGS@.
6932
6933 1999-03-14  Raja R Harinath  <harinath@cs.umn.edu>
6934
6935         * configure.in (glibconfig.h): Remove widechar tests and defines.
6936         (fd_set): Change the grep for `fd_mask' to search for `fd_set'.
6937         * gerror.c (fd_mask): Remove conditional typedef.  It is not used
6938         elsewhere in the file.
6939         * gmain.c (fd_mask): Likewise.
6940
6941 1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6942
6943         * configure.in: Test for posix threads first, then for dce threads.
6944
6945 1999-03-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6946
6947         * configure.in: Revamped the thread configure stuff. Now dce
6948         threads (old posix draft) are recogniced. This is necessary,
6949         because dce threads are in fact working quite differently from
6950         posix threads. Also changed the conditions for checking for MT
6951         safe functions a bit, because G_THREADS_IMPL_NONE still have to
6952         compile thread safe. NOTE: Please do not commit my change to
6953         glib-1-2/{acconfig.h,configure.in,config.h.win32} from 1999-03-03,
6954         as the current change will take care of that too.
6955
6956 Tue Mar  9 14:37:32 1999  Jeff Garzik  <jgarzik@pobox.com>
6957
6958         * Makefile.am, glib.h, gstack.c, gqueue.c,
6959           tests/Makefile.am, tests/queue-test.c, tests/stack-test.c:
6960         Added stack, queue ADTs and related tests.
6961
6962         * glib.h, glist.c:
6963         New g_list_delete() function.
6964
6965 Sat Mar  6 11:03:08 1999  Asbjorn Pettersen  <ape@lrdpf.spacetec.no>
6966
6967         * gutils.c (g_get_any_init): add OS/2 changes.
6968         change '\\' in HOME to '/'.
6969
6970 1999-03-03  Josh MacDonald  <jmacd@spin.dsl.pacbell.net>
6971
6972         * glib.def: g_spaced_primes_closest was omitted here, so I
6973         couldn't build Xdelta on Windows.
6974
6975 1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6976
6977         * gutils.c (g_get_any_init): Fixed yet another bloody
6978         implementation of getpwuid_r on AIX. Thanks to Olaf Dietsche
6979         <olaf.dietsche+list.gtk@netcologne.de>. I would like a configure
6980         test better than that, but have no idea, how to do that easily.
6981
6982 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
6983
6984         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
6985         new one.
6986
6987         * configure.in: set glib version to 1.3.0.