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