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