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