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