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