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