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