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