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