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