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