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