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