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