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