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