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