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