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