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