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