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