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