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