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