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