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