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