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