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