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