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