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