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