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