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