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