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