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