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