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