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