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